Computerarithmetik

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?

  1. ADie Mantisse ist zu lang, sodass der Speicherbedarf steigt
  2. BDer darstellbare Bereich ist klein, sodass kleine Gradienten zu 0 werden
  3. CDie Werte werden als ganze Zahlen behandelt, sodass keine Nachkommastellen darstellbar sind
Antwort und Erläuterung anzeigen

Antwort: B. Der darstellbare Bereich ist klein, sodass kleine Gradienten zu 0 werden

FP16 hat nur 5 Exponentenbits, daher ist der darstellbare positive Bereich mit etwa 6 × 10⁻⁸ (einschließlich denormalisierter Zahlen) bis 65504 klein. Beim Training berechnete Gradienten enthalten viele sehr kleine Werte, die in FP16 zu 0 unterlaufen und das Lernen zum Stillstand bringen. Beim Loss Scaling wird der Verlust z. B. mit 1024 multipliziert und rückwärts propagiert, sodass die Gradienten in den darstellbaren Bereich angehoben und vor der Aktualisierung der Gewichte zurückskaliert werden. Die Mantisse hat 10 Bit und ist kürzer als bei FP32, und Nachkommastellen sind darstellbar.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Computerarithmetik

  1. Wie groß ist der größte endliche Wert, der in FP16 (1 Vorzeichenbit, 5 Exponentenbits (Bias 15), 10 Mantissenbits) darstellbar ist?
  2. Wie werden die beiden FP8-Formate E4M3 (Exponent 4, Mantisse 3 Bit) und E5M2 (Exponent 5, Mantisse 2 Bit) üblicherweise unterschieden eingesetzt?
  3. Was ist der Hauptvorteil der Umwandlung (Quantisierung) der Gewichte von FP32 in INT8 bei der KI-Inferenz?
  4. Daten im Wertebereich −6.35 bis 6.35 werden auf ein um 0 symmetrisches INT8 (−127 bis 127) quantisiert. Mit dem Skalierungsfaktor „größter Betrag ÷ 127“: Durch welche ganze Zahl wird 1.0 dargestellt?
  5. Was ist der Hauptgrund, warum bei kleinen Mikrocontrollern und DSPs häufig Festkomma- statt Gleitkommaarithmetik verwendet wird?