KI-Hardware und Software-Stack

Welcher der folgenden Gründe erklärt nicht, warum das Training deutlich mehr Speicher benötigt als die Inferenz desselben Modells?

  1. AWeil sich die Zahl der Gewichte beim Training gegenüber der Inferenz vervielfacht
  2. BWeil für den Backward Pass Zwischenergebnisse des Forward Pass (Aktivierungen) gespeichert werden müssen
  3. CWeil ebenso viele Gradienten wie Gewichte sowie Optimizer-Zustände vorgehalten werden müssen
Antwort und Erläuterung anzeigen

Antwort: A. Weil sich die Zahl der Gewichte beim Training gegenüber der Inferenz vervielfacht

Die Zahl der Modellgewichte ist beim Training und bei der Inferenz gleich. Beim Training werden jedoch für die Gradientenberechnung im Backward Pass die Zwischenergebnisse des Forward Pass in jeder Schicht gespeichert; hinzu kommen ebenso viele Gradienten wie Gewichte sowie gewichtsbezogene Werte des Optimizers (z. B. Adam mit zwei gleitenden Mittelwerten). Der Speicherbedarf des Trainings ist daher ein Vielfaches des Bedarfs der Inferenz, die nur die Gewichte braucht, und für das Training großer Modelle sind viele GPUs erforderlich.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu KI-Hardware und Software-Stack

  1. Ein Modell mit 7 Milliarden (7B) Parametern wird trainiert, wobei Gewichte, Gradienten und beide Adam-Zustände jeweils in FP32 (4 Byte) gehalten werden. Welcher Wert kommt dem Speicherbedarf ohne Aktivierungen am nächsten?
  2. Wie groß ist der Speicherbedarf der Gewichte eines Modells mit 7 Milliarden (7B) Parametern ungefähr, wenn sie in FP16 (2 Byte) gehalten werden?
  3. Das 7B-Modell der vorherigen Frage wird von FP16 (ca. 14 GB) auf 4-Bit-Ganzzahlen (INT4) quantisiert. Wie groß ist der Speicherbedarf der Gewichte danach ungefähr?
  4. Wie viele Gleitkommaoperationen sind für das Produkt einer M×K-Matrix mit einer K×N-Matrix ungefähr nötig (Multiplikationen und Additionen separat gezählt)?
  5. Zwei FP16-Matrizen (2 Byte) der Größe N×N werden multipliziert, wobei beide Eingaben einmal gelesen und das Ergebnis einmal geschrieben wird. Wie hoch ist die arithmetische Intensität (Operationen pro Byte) ungefähr?