Computerarithmetik

Welchen Vorteil hat die Berechnung von a × b + c mit einem FMA-Befehl (Fused Multiply-Add)?

  1. ADas Zwischenprodukt wird nicht gerundet, sondern nur am Ende einmal, sodass der Fehler kleiner und die Berechnung schneller ist
  2. BDas Multiplikationsergebnis wird stets zuerst in eine ganze Zahl umgewandelt, sodass überhaupt kein Fehler entsteht
  3. CDie Addition entfällt und es wird nur multipliziert, sodass sich die Berechnung halbiert
Antwort und Erläuterung anzeigen

Antwort: A. Das Zwischenprodukt wird nicht gerundet, sondern nur am Ende einmal, sodass der Fehler kleiner und die Berechnung schneller ist

Bei getrennten Multiplikations- und Additionsbefehlen wird das Ergebnis von a × b einmal gerundet und das Ergebnis der Addition von c nochmals, also zweimal. FMA addiert c zum intern ungerundeten Produkt und rundet nur einmal am Ende, sodass der Fehler kleiner wird. Da ein Befehl genügt, ist es schnell und wird bei Matrixprodukten, Polynomberechnungen und KI-Berechnungen häufig genutzt. Das Produkt wird nicht in eine ganze Zahl umgewandelt, und die Addition entfällt nicht. Wegen der unterschiedlichen Zahl der Rundungen kann das Ergebnis jedoch geringfügig von getrennter Berechnung abweichen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Computerarithmetik

  1. Was ist der Hauptgrund, warum bfloat16 beim KI-Training verwendet wird?
  2. Welches bei FP16 (halbe Genauigkeit: 1 · 5 · 10 Bit) beim Training neuronaler Netze leicht auftretende Problem wird durch die Vergrößerung des Verlustwerts um einen Faktor (Loss Scaling) behoben?
  3. Wie groß ist der größte endliche Wert, der in FP16 (1 Vorzeichenbit, 5 Exponentenbits (Bias 15), 10 Mantissenbits) darstellbar ist?
  4. Wie werden die beiden FP8-Formate E4M3 (Exponent 4, Mantisse 3 Bit) und E5M2 (Exponent 5, Mantisse 2 Bit) üblicherweise unterschieden eingesetzt?
  5. Was ist der Hauptvorteil der Umwandlung (Quantisierung) der Gewichte von FP32 in INT8 bei der KI-Inferenz?