Computerarithmetik

Was ist der Hauptgrund, beim gemischtpräzisen KI-Training die meisten Berechnungen in FP16 oder bfloat16 auszuführen, die ursprünglichen Gewichtswerte (Master-Gewichte) aber in FP32 zu halten?

  1. AWird eine kleine Aktualisierung zu den Gewichten addiert, geht sie in einem Format mit geringer Genauigkeit durch Informationsverlust verloren
  2. BWeil FP32 schneller rechnet als FP16, sodass die Gewichtsberechnung vollständig FP32 überlassen wird
  3. CWeil Gewichtswerte in FP16 oder bfloat16 laut Festlegung nicht im Speicher gehalten werden können
Antwort und Erläuterung anzeigen

Antwort: A. Wird eine kleine Aktualisierung zu den Gewichten addiert, geht sie in einem Format mit geringer Genauigkeit durch Informationsverlust verloren

Beim Training wird immer wieder ein sehr kleiner Wert „Lernrate × Gradient“ zu den Gewichten addiert. FP16 und bfloat16 haben kurze Mantissen; ist die Aktualisierung im Vergleich zum Gewicht zu klein, bleibt das Ergebnis der Addition nach der Rundung das ursprüngliche Gewicht, und die Aktualisierung verschwindet (Informationsverlust). Daher werden die Gewichte in FP32 gehalten, damit sich Aktualisierungen korrekt ansammeln, und für Vorwärts- und Rückwärtsrechnung werden in niedrigere Genauigkeit umgewandelte Kopien verwendet. Rechnen mit niedriger Genauigkeit ist schneller, und auch Werte niedriger Genauigkeit können gespeichert werden.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Computerarithmetik

  1. Welchen Wert stellt die Bitfolge 0011 1000 in einer vorzeichenlosen Festkommadarstellung dar, bei der von 8 Bit die unteren 4 Bit den Nachkommateil bilden?
  2. Welche Kombination beschreibt die drei Bestandteile einer IEEE-754-Gleitkommazahl korrekt?
  3. Welche Kombination der Bitzahlen für Vorzeichen, Exponent und Mantisse gilt bei IEEE-754-Gleitkommazahlen einfacher Genauigkeit (32 Bit)?
  4. Welche Kombination der Bitzahlen für Exponent und Mantisse gilt bei IEEE-754-Gleitkommazahlen doppelter Genauigkeit (64 Bit)?
  5. Wie lautet der tatsächliche Exponent (Zweierpotenz), wenn bei einfacher Genauigkeit nach IEEE 754 im Exponentenfeld der Wert 130 gespeichert ist?