Wie viel VRAM ein LLM braucht: Formeln und Tabellen
- Gewichte sind eine Multiplikation: Parameter × Bytes pro Format. 70B in FP8 = 70 GB; in INT4 = 35 GB
- Ein 128K-Kontext bei Llama 3 70B addiert weitere 40 GB — für einen einzigen Nutzer
- Llama 2 7B (alte Attention) verbraucht 512 KB pro Token; Llama 3 70B mit GQA nur 320 KB
- Der KV-Cache bekommt den Rest: ~90% des Kartenspeichers minus Gewichte minus 1–5 GB für CUDA-Graphs
- Manche FP8-Profile sparen beim Start keinen Speicher: Die Gewichte laden zuerst in BF16
Woraus das Speicherbudget besteht
NVIDIAs NIM-Engine beansprucht einen gpu_memory_utilization-Anteil der Karte (Standard 0,9) und verteilt darin: Gewichte, Overhead, Aktivierungsspitzen und den KV-Cache. Der Cache wird gierig alloziert — „er dehnt sich in den gesamten verbleibenden Platz aus“. Die Zahl paralleler Nutzer ist also keine Einstellung. Sie ist ein Rest.
Gewichte: eine einzige Multiplikation
Offizielle Formel: Gewichtsspeicher pro Karte = Parameter × Bytes pro Parameter / TP (Tensor-Parallel-Kartenzahl). Bytes pro Parameter: 2 für BF16/FP16, 1 für FP8, 0,5 für INT4 und NVFP4.
| PARAMETER | FP16 / BF16 | FP8 | INT4 / NVFP4 |
|---|---|---|---|
| 7B | 14 GB | 7 GB | 3,5 GB |
| 8B | 16 GB | 8 GB | 4 GB |
| 13B | 26 GB | 13 GB | 6,5 GB |
| 70B | 140 GB | 70 GB | 35 GB |
| 120B | 240 GB | 120 GB | 60 GB |
| 405B | 810 GB | 405 GB | 202,5 GB |
KV-Cache — und warum ein 7B mehr frisst als ein 70B
Die zweite Hälfte der Rechnung: Das Modell speichert Keys und Values für jedes gelesene Token. Formel: 2 × Layer × (Heads × Head-Dimension) × Bytes pro Token; das Volumen wächst linear mit Sequenzlänge und parallelen Anfragen.
| MODELL, ATTENTION | PRO TOKEN | 4K | 32K | 128K |
|---|---|---|---|---|
| Llama 2 7B, FP16, MHA | 512 KB | 2 GB | 16 GB | 64 GB |
| Llama 3 70B, GQA | 320 KB | 1,25 GB | 10 GB | 40 GB |
| Llama 3.1 8B, BF16, GQA | 128 KB | 0,5 GB | 4 GB | 16 GB |
Der kontraintuitive Teil: Das 7B mit alter Multi-Head-Attention verbraucht 512 KB pro Token, das 70B mit Grouped-Query-Attention 320 KB. Zehnfaches Modell, 38% weniger Cache. „Wie viel Kontext passt“ folgt nicht aus der Parameterzahl. Beide Tabellen addiert: Ein 70B in FP16 mit 128K-Kontext sind 140 GB Gewichte + 40 GB Cache — 180 GB für eine Person.
Der Overhead, den man nur in Logs sieht
CUDA-Graph-Capture nimmt nach NVIDIAs eigener Schätzung „1 bis 5 GB je nach GPU-Architektur und Modellgröße“. Und eine Falle, die es nie auf eine Folie schafft: Bei manchen Profilen „passiert die FP8-Quantisierung on the fly, d. h. die BF16-Gewichte müssen zuerst in den Speicher“ — acht Bit sparen Speicher bei der Inferenz, aber der Start verlangt BF16-großen Platz. Prüfen Sie das konkrete Profil vor dem Kauf.
Karte × Modell × Kontext × Nutzer
Methode: Kartenkapazität × 0,9, minus Gewichte, minus ~2 GB für Graphs und Aktivierungen; den Rest durch den Cache einer Session teilen. Das sind Speicher-Obergrenzen — und wenn die Plätze virtuelle Desktops statt einer API sind, zählen MIG und vGPU anders. Die Latenz kürzt sie weiter.
8B-Klasse, FP8 (8 GB Gewichte), Cache 128 KB/Token — parallele Sessions:
| KARTE | FREI FÜR CACHE | 8K | 32K | 128K |
|---|---|---|---|---|
| RTX PRO 4500, 32 GB | 18,8 GB | 18 | 4 | 1 |
| RTX PRO 5000, 48 GB | 33,2 GB | 33 | 8 | 2 |
| RTX PRO 5000, 72 GB | 54,8 GB | 54 | 13 | 3 |
| RTX PRO 6000, 96 GB | 76,4 GB | 76 | 19 | 4 |
| H200 NVL, 141 GB | 116,9 GB | 116 | 29 | 7 |
70B-Klasse mit GQA, Cache 320 KB/Token:
| KARTE | GEWICHTE | 8K | 32K | 128K |
|---|---|---|---|---|
| RTX PRO 4500, 32 GB | INT4 | — passt nicht — | ||
| RTX PRO 5000, 48 GB | INT4 | 2 | ✗ | ✗ |
| RTX PRO 5000, 72 GB | INT4 | 11 | 2 | ✗ |
| RTX PRO 6000, 96 GB | INT4 | 19 | 4 | 1 |
| RTX PRO 6000, 96 GB | FP8 | 5 | 1 | ✗ |
| H200 NVL, 141 GB | INT4 | 35 | 8 | 2 |
| H200 NVL, 141 GB | FP8 | 21 | 5 | 1 |
Sehen Sie sich die 48-GB-Zeile an: Die Karte „hält“ ein 70B in vier Bit technisch, aber nur 6,2 GB überleben die Gewichte — zwei Sessions mit 8K Token, und ein einziger 32K-Kontext passt gar nicht.
Was echte Messungen hinzufügen
Die Arithmetik liefert die Speicher-Obergrenze; die Latenz bestimmt das Erlebnis. NVIDIAs eigene Zahlen für Llama 3.1 8B auf einer H100:
| PRÄZISION, EIN-/AUSGABE | NUTZER | ERSTES TOKEN | DURCHSATZ |
|---|---|---|---|
| FP8, 200/200 | 200 | 0,5 s | 9.885 Tok/s |
| FP8, 1.000/1.000 | 250 | 6,5 s | 8.726 Tok/s |
| FP8, 20.000/2.000 | 250 | 281 s | 1.214 Tok/s |
| FP16, 20.000/2.000 | 250 | 484 s | 585 Tok/s |
Bei 20.000 Token Eingabe dauert das erste Token fast fünf Minuten: Der Dienst lebt technisch — und niemand wird ihn benutzen. Der direkteste Hebel ist die Promptlänge: NIMs eigenes Log liefert die Zahl — Kontext auf 4.096 gekürzt machte im dokumentierten Beispiel 15,1 GB frei.
Cache-Quantisierung: Behauptung vs. Messung
NVFP4-Cache braucht rund die Hälfte des FP8-Speichers bei bis zu 3× niedrigerer Latenz und kleinem Genauigkeitsverlust (MMLU-PRO: 78,2% BF16 → 77,4% NVFP4). Aber das Format allein garantiert nichts: Dieselbe Idee in llama.cpp (q4_0) auf Unified Memory wurde 6% größer als f16 und ließ das Prompt-Tempo von 282,7 auf 21,3 Tok/s einbrechen. Hardware-beschleunigtes NVFP4 in TensorRT-LLM gewinnt; Software-Entpacken verliert. Engine und Silizium liefern den Nutzen, nicht das Format.
Was wir liefern
Eurokommerz liefert die gesamte Reihe EU-weit auf Bestellung: RTX PRO 4500 (32 GB) für Modelle bis 13B, RTX PRO 5000 (48 / 72 GB) für 8–13B mit langem Kontext, RTX PRO 6000 (96 GB) für ein 70B in FP8 auf einer Karte, und H200 NVL (141 GB HBM3e) für 70B-Serving mit langem Kontext im großen Maßstab.
FAQ
Was bringen zwei Karten gegenüber einer?
Wir brauchen Speicher für mehr Agenten, nicht größere Modelle. Was dann?
Das Modell passt auf dem Papier, aber die Engine meldet OOM. Warum?
Sind 70B nun 140 GB oder 131 GB?
Kann ich den Cache für jedes Modell berechnen?
Dimensionieren Sie ein Deployment? Nennen Sie Modell, Kontextlänge und Nutzerzahl — wir berechnen den Speicherbedarf und sagen, wo eine Karte endet und ein Server beginnt. Wir antworten innerhalb eines Werktages.
Mit einem Experten sprechenWir antworten innerhalb eines Werktages