Funktionsweise des vereinigten Speichers bei GB10
DGX Spark nutzt den NVIDIA-Chip GB10, der eine Grace-ARM-CPU sowie eine Blackwell-GPU in einem einzigen Modul vereint. Beide Komponenten teilen sich 128 GB an LPDDR5X-Speicher über einen Interconnect mit einer Bandbreite von 273 GB/s. Es existiert kein separater VRAM. Wenn vLLM „GPU-Speicher“ zuweist, reserviert es lediglich einen Bereich aus demselben 128 GB großen Pool, den auch das Betriebssystem, die CUDA-Laufzeitumgebung sowie andere Anwendungen nutzen. Folgende Auswirkungen ergeben sich daraus:gpu_memory_utilizationbestimmt lediglich einen Anteil des Gesamtpools, nicht ein festes Speicherbudget für die GPU.- Systemprozesse konkurrieren um denselben Speicher. Das Betriebssystem, Hintergrunddienste sowie der CUDA-Overhead verringern den für das Modell verfügbaren Speicher.
- Es gibt keinen Schutzmechanismus gegen Speichermangel. Sobald der Pool erschöpft ist, reagiert DGX Spark nicht mehr – es wird kein fehlerhaftes Prozess beendet.
Overhead des KV-Caches bei 128 GB
Der KV-Cache speichert die Schlüssel-Wert-Tensoren aller Tokens in jeder aktiven Sequenz. Seine Größe erhöht sich um 3 Faktoren: die Kontextlänge, die Anzahl der gleichzeitig laufenden Sequenzen sowie die Architektur des Modells (Anzahl der Schichten und KV-Köpfe).Die Formel
Für eine einzelne Sequenz bei einer bestimmten Kontextlänge:Beispiel: 70B dichtes Modell bei verschiedenen Kontextlängen
Unter der Annahme eines typischen 70B Modells mit 80 Schichten, 8 KV-Köpfen sowie einer Kopf-Dimension von 128:Beispiel: Ein 35B MoE-Modell
Bei MoE-Modellen gilt für die Gesamtanzahl der Schichten dieselbe Berechnung für den KV-Cache wie bei dichten Modellen. Ein 35B MoE-Modell mit etwa 64 Schichten und identischer Konfiguration der KV-Heads:
Bei einer MoE-Konfiguration mit 35B sowie NVFP4-Gewichten (~18 GB) lässt sich ein Kontextumfang von 128K mit einem FP8-KV-Cache verarbeiten, wobei noch ~65 GB freier Speicherplatz verbleiben.
Abwägung zwischen Kontextlänge und Batch-Größe
Jedes Kontext-Token in jeder aktiven Sequenz beansprucht Speicherplatz im KV-Cache. Das Gesamtbudget für den KV-Cache ergibt sich folgendermaßen:
Für ein dichtes 70B-Modell bei NVFP4 (etwa 35 GB Gewichte, rund 75 GB verbleibend für den KV-Cache):
Praxisnahe Benchmarks im Vergleich zu NVIDIA-Angaben
Die von NVIDIA angegebene Zahl von 82,739 Tokens pro Sekunde für DGX Spark bezieht sich auf die gesamte Feinabstimmungsleistung, nicht auf die Inferenzleistung für einzelne Nutzer. Die tatsächlichen Werte für interaktive Abfragen sind:Der Wert von 82,739 Tokens pro Sekunde bezieht sich auf die Gesamtdurchsatzrate bei vielen parallel ablaufenden Feinabstimmungsprozessen. Die interaktive Inferenz für einzelne Nutzer stellt eine andere Arbeitslast dar; hier sind Werte von 15 bis 120 Tokens pro Sekunde zu erwarten, abhängig von Modellgröße und Engine – das reicht für Echtzeit-Chats sowie Coding-Agenten völlig aus.
Speicherschutz: Verhindert Systemabstürze
Der wichtigste Einstellungsparameter auf DGX Spark ist--gpu-memory-utilization. Wird er zu hoch gewählt, stürzt das System ab, ohne dass ein Fehler gemeldet wird. Bei vorsichtiger Einstellung geht jedoch etwas Kapazität des KV-Caches verloren.
Empfohlene Ausgangswerte
Überwachen Sie den Speicherverbrauch in Echtzeit
Öffnen Sie ein zweites Terminal und beobachten Sie den Speicherverbrauch während des Betriebs:memory.free unter den Wert von 2 bis 3 GB, besteht die Gefahr, dass das System einfriert. Reduzieren Sie in diesem Fall die Werte von max_model_len, max_num_seqs bzw. gpu_memory_utilization.
Referenz zu Einstellungsparametern
Nachfolgend finden Sie die wichtigsten vLLM-Parameter für DGX Spark, sortiert nach ihrer Auswirkung:Entscheidungstabelle: gängige Konfigurationen
Optimierungsverfahren
Maximale Durchsatzrate für einen einzelnen Nutzer erreichen
Maximieren Sie die Anzahl gleichzeitig aktiver Nutzer für 70B
Sicherste Konfiguration für große Modelle
Weitere Schritte
vLLM auf DGX Spark
Installations- und Startbefehle für alle Modellgrößen.
Kompatibilität der Modelle
Welche Modelle in 128 GB passen und welche Quantisierungsmöglichkeiten sie bieten.
Ein oder zwei Sparks – was ist besser?
Fälle, in denen die Speichereinstellungen nicht ausreichen und ein zweiter Spark erforderlich ist.
Grundlagen des KV-Caches
Ausführliche Erläuterung der Funktionsweise des KV-Caches bei verschiedenen Modellarchitekturen.