Computerarithmetiek

Wat is het juiste voordeel van de FMA-instructie (fused multiply-add) bij de berekening van a × b + c?

  1. AHet tussenliggende product wordt niet afgerond maar slechts één keer aan het einde, zodat de fout kleiner is en het sneller gaat
  2. BHet resultaat van de vermenigvuldiging wordt altijd eerst een geheel getal, zodat er helemaal geen fout optreedt
  3. CDe optelling wordt weggelaten en alleen vermenigvuldigd, zodat de berekening de helft kost
Antwoord en toelichting tonen

Antwoord: A. Het tussenliggende product wordt niet afgerond maar slechts één keer aan het einde, zodat de fout kleiner is en het sneller gaat

Wanneer vermenigvuldigen en optellen met afzonderlijke instructies gebeuren, wordt het resultaat van a × b eerst afgerond en daarna het resultaat van de optelling van c opnieuw, dus er vindt twee keer afronding plaats. FMA houdt het product intern ongerond, telt c erbij op en rondt slechts één keer af, zodat de fout kleiner is. Omdat het één instructie is, is het ook sneller en wordt het veel gebruikt bij matrixvermenigvuldiging, polynoomberekening en AI-berekeningen. Het product wordt niet een geheel getal en de optelling wordt niet weggelaten. Door het verschillende aantal afrondingen kan het resultaat echter licht afwijken van afzonderlijk berekende resultaten.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Computerarithmetiek

  1. Wat is de belangrijkste reden dat bfloat16 wordt gebruikt bij het trainen van AI?
  2. Wat is een probleem bij het trainen van een neuraal netwerk met FP16 (halve precisie: 1 teken, 5 exponent, 10 mantissebits) dat wordt aangepakt door de verliesfunctie een aantal keer te vergroten voor de berekening (loss scaling)?
  3. Wat is de grootste eindige waarde die FP16 (1 teken, 5 exponentbits (bias 15), 10 mantissebits) kan weergeven?
  4. Hoe worden de twee FP8-formaten E4M3 (exponent 4, mantisse 3 bit) en E5M2 (exponent 5, mantisse 2 bit) gewoonlijk onderscheiden in gebruik?
  5. Wat is het belangrijkste voordeel van het omzetten (kwantiseren) van gewichten van FP32 naar INT8 bij AI-inferentie?