VRAM-Rechner für LLM-Training
Eingaben
| Parameter | 7 |
|---|---|
| Speicher pro Parameter | Mixed-Precision-Adam (16 Bytes/Param.) |
| Aktivierungsspeicher | 0 |
VRAM-Rechner für LLM-Training
Schätzt aus Parameterzahl, Optimizer-Wahl und Aktivierungsspeicher den GPU-VRAM, der nötig ist, um ein großes Sprachmodell vollständig feinzutunen — nach der Mixed-Precision-Adam-Faustregel von 16 Bytes pro Parameter.
Eingaben
Modell
Aktivierungen
Ergebnisse
Geben Sie einen Wert ein, um die Ergebnisse zu sehen.
Details
VRAM für LLM-Training
Das vollständige Feintuning eines großen Sprachmodells braucht weit mehr GPU-Speicher als sein Ausführen, und der Grund ist der Optimizer. Die Inferenz hält nur die Gewichte, das Training aber muss zusätzlich für jeden Parameter einen Gradienten und den laufenden Zustand des Optimizers vorhalten und dann die im Vorwärtsdurchlauf gespeicherten Aktivierungen hinzufügen. Dieser Rechner schätzt den gesamten VRAM für vollständiges Feintuning aus der Parameterzahl, den Speicherkosten des Optimizers pro Parameter und einem separat eingegebenen Aktivierungswert.
Die Modellzustände dominieren
Der größte fixe Posten im Training sind die Modellzustände — die Gewichte, ihre Gradienten und der Optimizer-Zustand. Mit Parametern in Milliarden und Bytes pro Parameter belegen die Modellzustände
M=N⋅B GBDer Standardwert für Mixed-Precision-Training mit Adam sind 16 Bytes pro Parameter, die sich wie folgt aufschlüsseln: zwei Bytes für das 16-Bit-Gewicht im Vorwärtsdurchlauf, zwei für seinen 16-Bit-Gradienten, vier für eine 32-Bit-Hauptkopie des Gewichts, die aus numerischer Stabilität gehalten wird, und je vier für Adams zwei Momentschätzungen — das Momentum und die Varianz. Das ergibt für jeden Parameter. Günstigere Optimizer verkleinern die Optimizer-Zustands-Terme: 8-Bit-Adam speichert seine Momente in geringerer Präzision für rund 12 Bytes pro Parameter, und einfaches SGD mit Momentum kommt mit etwa 8 aus.
Aktivierungen werden separat eingegeben
Die Modellzustände stehen fest, sobald Modell und Optimizer gewählt sind, die Aktivierungen aber nicht. Sie sind die Zwischenwerte, die während des Vorwärtsdurchlaufs zwischengespeichert werden, damit der Rückwärtsdurchlauf Gradienten berechnen kann, und ihre Größe skaliert mit Batch-Größe und Sequenzlänge statt mit der Parameterzahl. Wegen dieser Unabhängigkeit nimmt dieser Rechner den Aktivierungsspeicher als eigene Eingabe und addiert ihn einfach:
V=M+Awobei der Aktivierungsspeicher in GB ist. Der Aktivierungsspeicher lässt sich messen, indem man einen einzelnen Trainingsschritt ausführt und die Spitzennutzung abliest, oder mit Activation-Checkpointing stark reduzieren, das Aktivierungen im Rückwärtsdurchlauf neu berechnet, statt sie zu halten.
Rechenbeispiel
Nehmen wir ein Modell mit 7 Milliarden Parametern, mit Mixed-Precision-Adam feingetunt und zunächst ohne Aktivierungsschätzung:
MV=7×16=112 GB=112+0=112 GBDie Modellzustände allein sind 112 GB — bereits jenseits eines einzelnen 80-GB-Beschleunigers. Fügt man realistische 20 GB Aktivierungen hinzu, steigt der Gesamtbedarf auf 132 GB, was den Punkt deutlich macht: Selbst ein 7B-Modell, in 16-Bit-Inferenz trivial zu betreiben, lässt sich auf einer einzelnen Mainstream-GPU nicht vollständig feintunen. Den weit geringeren Speicher, um das Modell bloß auszuführen, behandelt der VRAM-Rechner für LLM-Inferenz.
Warum LoRA das Bild verändert
Der Großteil der 16 Bytes pro Parameter ist der Gradient und der Optimizer-Zustand, und die existieren nur für die Parameter, die trainiert werden. LoRA friert die Basisgewichte ein und trainiert kleine Low-Rank-Adapter, sodass Gradienten und Optimizer-Zustand deutlich unter einem Prozent der Parameter abdecken. Die eingefrorenen Gewichte belegen weiterhin Speicher, doch das Streichen des größten Postens ist es, was ein Modell, das 132 GB für vollständiges Feintuning braucht, stattdessen auf eine einzelne 24-GB-Karte passen lässt. Die Größe dieser Adapter und wie der Rang sie steuert, behandelt der LoRA-Parameter-Rechner. Behandeln Sie den Wert hier als Planungsschätzung und bestätigen Sie ihn an einem echten Trainingsschritt, da temporäre Puffer und Framework-Zuteilungen die tatsächliche Zahl verschieben.
Häufig gestellte Fragen (FAQ)
Woher kommen die 16 Bytes pro Parameter?
Mixed-Precision-Training mit dem Adam-Optimizer hält mehrere Kopien jedes Parameters vor. Zwei Bytes halten das 16-Bit-Gewicht für den Vorwärtsdurchlauf und zwei weitere seinen 16-Bit-Gradienten. Der Adam-Optimizer hält dann eine 32-Bit-Hauptkopie des Gewichts (vier Bytes) sowie zwei 32-Bit-Momentschätzungen — das Momentum und die Varianz — zu je vier Bytes.
Die Summe ergibt 2 + 2 + 4 + 4 + 4 = 16 Bytes pro Parameter, die Standardschätzung für die Modellzustände beim vollständigen Feintuning.
Warum braucht LoRA so viel weniger Speicher?
Vollständiges Feintuning trägt Gradienten und Optimizer-Zustand für jeden Parameter, was den Großteil der 16 Bytes pro Parameter ausmacht. LoRA friert die ursprünglichen Gewichte ein und trainiert nur kleine Low-Rank-Adaptermatrizen, sodass Gradienten und Optimizer-Zustand nur für einen winzigen Bruchteil der Parameter existieren — oft deutlich unter einem Prozent.
Die eingefrorenen Basisgewichte belegen weiterhin Speicher, brauchen aber weder Gradienten noch Optimizer-Zustand, was den größten Posten streicht und große Modelle auf einer einzelnen GPU feintunbar macht. Die Größe dieser Adapter behandelt der LoRA-Parameter-Rechner.
Wie schätze ich den Aktivierungsspeicher?
Der Aktivierungsspeicher ist der Speicher für Zwischenwerte, die während des Vorwärtsdurchlaufs gehalten werden, damit im Rückwärtsdurchlauf Gradienten berechnet werden können. Anders als die Modellzustände skaliert er mit Batch-Größe und Sequenzlänge statt mit der Parameterzahl, weshalb er hier separat eingegeben wird.
Er lässt sich direkt messen, indem man einen einzelnen Trainingsschritt ausführt und den Spitzenspeicher abliest, oder mit Activation-Checkpointing stark reduzieren, das Aktivierungen im Rückwärtsdurchlauf neu berechnet, statt sie zu speichern. Für eine grobe Planung mit null beginnen, um die Untergrenze der Modellzustände zu sehen, und dann einen gemessenen Wert addieren.
Haftungsausschluss
Dies ist eine Schätzung erster Ordnung für den Speicher beim vollständigen Feintuning. Sie lässt temporäre Puffer, Kommunikations-Overhead und framework-spezifische Zuteilungen außer Acht und behandelt Aktivierungen als einzelnen eingegebenen Wert. Bestätigen Sie sie an einem echten Trainingsschritt, bevor Sie die Hardware dimensionieren.