{"id":32412,"date":"2026-11-06T15:04:53","date_gmt":"2026-11-06T14:04:53","guid":{"rendered":"https:\/\/pi3g.com\/?p=32412"},"modified":"2026-11-06T15:04:56","modified_gmt":"2026-11-06T14:04:56","slug":"dgx-spark-benchmarking-on-inference-performance-of-14-open-weight-models","status":"publish","type":"post","link":"https:\/\/pi3g.com\/de\/dgx-spark-benchmarking-on-inference-performance-of-14-open-weight-models\/","title":{"rendered":"DGX Spark-Benchmarking der Schlussfolgerungsverarbeitungsleistung von 14 offenen Gewichtsmodellen"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Der DGX Spark verf\u00fcgt \u00fcber 128 GB Speicher, den die CPU und die GPU gemeinsam nutzen. Das reicht aus, um ein Modell mit 120 Milliarden Parametern in 4-Bit-Aufl\u00f6sung zu speichern. Was dieser Speicher Ihnen nicht verr\u00e4t, ist die Geschwindigkeit, mit der diese Modelle antworten, und wie sich diese Geschwindigkeit ver\u00e4ndert, wenn gleichzeitig mehr als eine Anfrage eingeht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um die Leistung des DGX Spark zu bewerten, habe ich 14 Modelle mit offener Last auf diesem System getestet \u2013 von einem kleinen Gemma-Modell \u00fcber ein Nemotron mit 120 Milliarden Parametern bis hin zu einem Modell mit sechs Laststufen zwischen 1 und 32 parallelen Anfragen. In diesem Artikel werden die Messwerte dargelegt, die ich durchgef\u00fchrt habe. Weitere Artikel in dieser Reihe behandeln das DGX Station; dieser Artikel beschreibt lediglich das DGX Spark.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"\/de\/kontakt\/\">Kontaktieren Sie pi3g, um LLM-Inferenzserver wie den Nvidia Spark und die Station zu kaufen.<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Wie ich die DGX Spark bewertet habe<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ich habe verwendet&nbsp;<a href=\"https:\/\/github.com\/mwolf-pi3g\/aiperf_tool\">aiperf_tool<\/a>, ein kleiner Harness, den ich um den Benchmark-Client AIPerf von NVIDIA und den vLLM-Inferenzserver gebaut habe. Jedes Modell l\u00e4uft in einem eigenen vLLM-Container, und der Benchmark sendet Anfragen mit der gleichen Gr\u00f6\u00dfe: einen Befehl mit 1.024 Zeichen (ein wenig mehr, wenn er in die Chat-Vorlage jedes Modells eingebettet ist) und genau 512 Ausgabetoken. Das Modell darf nicht vorzeitig stoppen, daher erledigt jede Anfrage dieselbe Arbeit. Jedes Ladevorgangsspektrum dauert f\u00fcnf Minuten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Belastung wird als gleichzeitige Anfragen angegeben. Jede gleichzeitige Anfrage ist ein Slot, der seine n\u00e4chste Anfrage sendet, sobald die vorherige Antwort abgeschlossen ist, ohne die Pausen, die eine Person f\u00fcr das Lesen und Tippen ben\u00f6tigt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Benchmark misst die Geschwindigkeit: wie viele Tokens das System insgesamt generiert, wie schnell jede einzelne Antwortstr\u00f6me und wie lange es dauert, bis eine Antwort beginnt (die Zeit bis zum ersten Token). Es misst nicht die Antwortqualit\u00e4t und wurde ohne spekulativen Dekodierung durchgef\u00fchrt.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"><\/th><th class=\"has-text-align-left\" data-align=\"left\"><\/th><\/tr><\/thead><tbody><tr><td>System<\/td><td>NVIDIA DGX Spark (GB10), 128 GB Unified Memory<\/td><\/tr><tr><td>Modelle<\/td><td>14<\/td><\/tr><tr><td>Zusammengesetzte Anfragen<\/td><td>1, 2, 4, 8, 16, 32 (Nemotron-3-Super: bis zu 16)<\/td><\/tr><tr><td>Laufkilometer pro Lastniveau<\/td><td>1<\/td><\/tr><tr><td>Inferenzserver<\/td><td>vLLM v0.29.0, 80 % Speicher, FP8 KV-Cache<\/td><\/tr><tr><td>Arbeitsaufwand<\/td><td>1.024 Eingabesteuerelemente \/ 512 Ausgabesteuerelemente, 5 Minuten pro Level<\/td><\/tr><tr><td>Daten<\/td><td><a href=\"https:\/\/github.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\">aiperf_dgx_spark_260917<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">So lesen Sie die Diagramme in diesem Artikel<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die in diesem Artikel dargestellten Diagramme sind Pareto-Kurven, die AIPerf f\u00fcr jedes Modell generiert. Hier ist nvidia\/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_014356_nvidia_NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, nvidia\/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4 auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die vertikale Achse ist die Gesamtausgabe in Tokens pro Sekunde. Der Spark verf\u00fcgt \u00fcber eine einzige GPU, daher lautet \u201cper GPU\u201d einfach die Gesamtzahl. Die horizontale Achse gibt an, wie schnell eine Antwortstr\u00f6me anfallen, in Tokens pro Sekunde pro Anforderung (AIPerf bezeichnet dies als \u201cper User\u201d). Jeder Punkt entspricht einer Belastungsstufe, und die Zahl neben diesem Punkt gibt die Konkurrentenz an.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei 1 gleichzeitigem Anforderungssignal str\u00f6mt dieses Modell auf der \u00e4u\u00dfersten rechten Spalte eine Antwort mit einer Geschwindigkeit von etwa 70 Tokens pro Sekunde. Bei fortschreitender Bewegung nach links steigt die Konkurrentenz: Bei 32 gleichzeitigem Anforderungssignal flie\u00dfen jeweils jeweils etwa 15 Tokens pro Sekunde, w\u00e4hrend das System insgesamt etwa 450 generiert. Die Linie verbindet die Laststufen, die auf beiden Achsen gleichzeitig nicht \u00fcbertroffen werden k\u00f6nnen; ein Punkt au\u00dferhalb der Linie weist sowohl eine niedrigere Gesamtzuf\u00fchrung als auch langsamerere Antworten auf als eine andere Laststufe. Die Skalierungsachsen passen sich an jedes Modell an, daher sollten Sie sie \u00fcberpr\u00fcfen, bevor Sie zwei Diagramme miteinander vergleichen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Alle 14 Modelle, die ich auf dem DGX Spark getestet habe<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Modell<\/th><th class=\"has-text-align-left\" data-align=\"left\">Architektur<\/th><th class=\"has-text-align-left\" data-align=\"left\">Pr\u00e4zision<\/th><th class=\"has-text-align-right\" data-align=\"right\">Gr\u00f6\u00dfe<\/th><th class=\"has-text-align-right\" data-align=\"right\">1 Anfrage: tok\/s, TTFT<\/th><th class=\"has-text-align-right\" data-align=\"right\">16 simultane Anfragen: tok\/s pro Anfrage, insgesamt<\/th><th class=\"has-text-align-right\" data-align=\"right\">32 simultane: tok\/s pro Anfrage, insgesamt<\/th><th class=\"has-text-align-right\" data-align=\"right\">Gesamtsumme (at)<\/th><\/tr><\/thead><tbody><tr><td>google\/gemma-4-E4B-it<\/td><td>dicht, klein<\/td><td>BF16<\/td><td class=\"has-text-align-right\" data-align=\"right\">15 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">18,5, 0,26 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">20.2, 317<\/td><td class=\"has-text-align-right\" data-align=\"right\">18.4, 569<\/td><td class=\"has-text-align-right\" data-align=\"right\">569 (32)<\/td><\/tr><tr><td>google\/gemma-4-E4B-it-qat-w4a16-ct<\/td><td>dicht, klein<\/td><td>4-Bit QAT<\/td><td class=\"has-text-align-right\" data-align=\"right\">11 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">50,6, 0,23 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">43.1, 667<\/td><td class=\"has-text-align-right\" data-align=\"right\">34.9, 1,075<\/td><td class=\"has-text-align-right\" data-align=\"right\">1,075 (32)<\/td><\/tr><tr><td>google\/gemma-4-26B-A4B-it<\/td><td>MoE, Aktivit\u00e4t 4B<\/td><td>BF16<\/td><td class=\"has-text-align-right\" data-align=\"right\">48 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">23,2, 0,41 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">9.1, 124<\/td><td class=\"has-text-align-right\" data-align=\"right\">7.0, 199<\/td><td class=\"has-text-align-right\" data-align=\"right\">199 (32)<\/td><\/tr><tr><td>nvidia\/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4<\/td><td>MoE, 3B aktiv<\/td><td>NVFP4<\/td><td class=\"has-text-align-right\" data-align=\"right\">20 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">69,9, 0,22 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">20.9, 324<\/td><td class=\"has-text-align-right\" data-align=\"right\">14.6, 452<\/td><td class=\"has-text-align-right\" data-align=\"right\">452 (32)<\/td><\/tr><tr><td>nvidia\/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4<\/td><td>MoE, 12B aktiv<\/td><td>NVFP4<\/td><td class=\"has-text-align-right\" data-align=\"right\">75 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">15,7, 0,70 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">5.1, 80<\/td><td class=\"has-text-align-right\" data-align=\"right\">nicht getestet<\/td><td class=\"has-text-align-right\" data-align=\"right\">80 (16)<\/td><\/tr><tr><td>ibm-granite\/granite-4.2-30b<\/td><td>dicht, 30B<\/td><td>BF16<\/td><td class=\"has-text-align-right\" data-align=\"right\">55 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">3,9, 0,92 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">3.5, 50<\/td><td class=\"has-text-align-right\" data-align=\"right\">3.1, 50<\/td><td class=\"has-text-align-right\" data-align=\"right\">50 (16 und 32)<\/td><\/tr><tr><td>Qwen\/Qwen3.6-35B-A3B<\/td><td>MoE, 3B aktiv<\/td><td>BF16<\/td><td class=\"has-text-align-right\" data-align=\"right\">67 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">29,8, 0,40 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">9.4, 124<\/td><td class=\"has-text-align-right\" data-align=\"right\">6.6, 204<\/td><td class=\"has-text-align-right\" data-align=\"right\">204 (32)<\/td><\/tr><tr><td>nvidia\/Qwen3.6-35B-A3B-NVFP4<\/td><td>MoE, 3B aktiv<\/td><td>NVFP4<\/td><td class=\"has-text-align-right\" data-align=\"right\">22 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">76,4, 0,19 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">22.8, 351<\/td><td class=\"has-text-align-right\" data-align=\"right\">15.0, 462<\/td><td class=\"has-text-align-right\" data-align=\"right\">462 (32)<\/td><\/tr><tr><td>Qwen\/Qwen3.6-27B<\/td><td>dicht, 27B<\/td><td>BF16<\/td><td class=\"has-text-align-right\" data-align=\"right\">52 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">4,4, 0,92 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">3.7, 50<\/td><td class=\"has-text-align-right\" data-align=\"right\">3.1, 50<\/td><td class=\"has-text-align-right\" data-align=\"right\">50 (16 und 32)<\/td><\/tr><tr><td>nvidia\/Qwen3.6-27B-NVFP4<\/td><td>dicht, 27B<\/td><td>NVFP4<\/td><td class=\"has-text-align-right\" data-align=\"right\">20 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">12,0, 0,95 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">7.6, 99<\/td><td class=\"has-text-align-right\" data-align=\"right\">5.5, 149<\/td><td class=\"has-text-align-right\" data-align=\"right\">149 (32)<\/td><\/tr><tr><td>Qwen\/Qwen3.8-27B<\/td><td>dicht, 27B<\/td><td>BF16<\/td><td class=\"has-text-align-right\" data-align=\"right\">52 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">4,4, 0,91 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">3.7, 50<\/td><td class=\"has-text-align-right\" data-align=\"right\">3.1, 50<\/td><td class=\"has-text-align-right\" data-align=\"right\">50 (16 und 32)<\/td><\/tr><tr><td>Qwen\/Qwen3.8-27B-FP8<\/td><td>dicht, 27B<\/td><td>FP8<\/td><td class=\"has-text-align-right\" data-align=\"right\">29 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">7,7, 0,60 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">6.2, 74<\/td><td class=\"has-text-align-right\" data-align=\"right\">5.0, 154<\/td><td class=\"has-text-align-right\" data-align=\"right\">154 (32)<\/td><\/tr><tr><td>Inferact\/Qwen3.8-27B-NVFP4<\/td><td>dicht, 27B<\/td><td>NVFP4<\/td><td class=\"has-text-align-right\" data-align=\"right\">25 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">9,5, 0,58 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">7.2, 99<\/td><td class=\"has-text-align-right\" data-align=\"right\">5.5, 149<\/td><td class=\"has-text-align-right\" data-align=\"right\">149 (32)<\/td><\/tr><tr><td>unsloth\/Qwen3.8-27B-NVFP4<\/td><td>dicht, 27B<\/td><td>NVFP4<\/td><td class=\"has-text-align-right\" data-align=\"right\">22 GB<\/td><td class=\"has-text-align-right\" data-align=\"right\">11,0, 0,52 s<\/td><td class=\"has-text-align-right\" data-align=\"right\">7.9, 102<\/td><td class=\"has-text-align-right\" data-align=\"right\">6.0, 149<\/td><td class=\"has-text-align-right\" data-align=\"right\">149 (32)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die Tokens pro Sekunde pro Anfrage geben an, wie schnell eine Antwortstr\u00f6me entstehen; die Gesamtzahl ist die Anzahl der ausgegebenen Tokens aller innerhalb des Messfensters abgeschlossenen Anfragen geteilt durch die L\u00e4nge des Messfensters. TTFT ist die mittlere Zeit bis zum ersten Token. Size ist die Gr\u00f6\u00dfe des Repositoriums des Modells bei Hugging Face. \u201cActive\u201d ist die Anzahl der Parameter, die ein Expertengemisch (MoE) f\u00fcr jeden generierten Token verwendet, geteilt durch die Gesamtzahl dieser Parameter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Folgenden werfe ich einen Blick auf eine Auswahl der Modellfamilien, die ich getestet habe, um Ihnen weitere Details zu liefern.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Gemma 4<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die drei Gemma-Modelle umfassen zwei ganz unterschiedliche Designs. gemma-4-E4B-it ist ein kleines, dichtes Modell, und die QAT-Variante ist das gleiche Modell, das trainiert wurde, mit 4-Bit-Gewichten zu arbeiten. gemma-4-26B-A4B-it ist ein Hybrid-Modell mit 26 Milliarden Parametern, von denen etwa 4 Milliarden pro Token verwendet werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die QAT-Variante erreichte bei allen 14 Modellen auf dem Spark die h\u00f6chste Gesamtzuf\u00fchrung: 1.075 Tokens pro Sekunde bei 32 gleichzeitigen Anfragen. Eine einzelne Anfrage floss mit etwa 51 Tokens pro Sekunde, und bei 16 gleichzeitigen Anfragen flossen jeweils noch etwa 43 Tokens. Die BF16-Version desselben Modells war pro Anfrage langsamer, zwischen etwa 18 und 22 Tokens pro Sekunde, behielt diese Geschwindigkeit jedoch fast unver\u00e4ndert von 1 bis 32 gleichzeitigen Anfragen bei, w\u00e4hrend ihre Gesamtzuf\u00fchrung bei 569 anstieg.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260912_231103_google_gemma-4-E4B-it-qat-w4a16-ct_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, google\/gemma-4-E4B-it-qat-w4a16-ct auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>google\/gemma-4-E4B-it-qat-w4a16-ct auf dem DGX Spark.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Detail in diesem Diagramm: Der Punkt f\u00fcr eine gleichzeitige Anforderung liegt au\u00dferhalb der Linie, etwas links von dem Punkt f\u00fcr zwei. Eine einzelne Anforderung f\u00fchrte etwas langsamer (etwa 51 Tokens pro Sekunde) als jede der beiden simultanen Anfragen (etwa 55) \u00fcber. Die BF16-Version zeigt das gleiche Muster. Da Spark nur eine einzelne Ausf\u00fchrung pro Ladevorgang unterst\u00fctzt, kann ich nicht sagen, ob dies ein Rauschen oder eine Eigenschaft der Konfiguration ist.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260912_223559_google_gemma-4-E4B-it_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, Google\/gemma-4-E4B-it auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>google\/gemma-4-E4B-it auf dem DGX Spark.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">gemma-4-26B-A4B-Die Geschwindigkeit begann bei etwa 23 Token pro Sekunde f\u00fcr eine einzelne Anforderung und erreichte insgesamt 199 bei 32 gleichzeitig stattfindenden Anfragen, wobei jede Antwort mit etwa 7 Token pro Sekunde flossen.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260912_215931_google_gemma-4-26B-A4B-it_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, Google\/gemma-4-26B-A4B-it auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>google\/gemma-4-26B-A4B-it auf dem DGX Spark.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Nemotron<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">nvidia\/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4, das Modell im obigen Beispieldiagramm, ist ein Modell mit einem Mischungsverh\u00e4ltnis von Experten mit etwa 3 Milliarden aktiven Parametern, das in NVFP4 gespeichert ist, dem Vierbit-Format von NVIDIA f\u00fcr die Blackwell-GPUs. Es lieferte eine einzige Antwort mit einer Geschwindigkeit von etwa 70 Token pro Sekunde, der zweith\u00f6chsten Einzelanforderungsschnittstelle in diesem Test, und erreichte insgesamt 452 Token pro Sekunde bei 32 gleichzeitig gesendeten Anfragen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">nvidia\/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4 ist das gr\u00f6\u00dfte Modell in diesem Test: 120 Milliarden Parameter, davon 12 Milliarden aktiv pro Token. Auf dem Spark generierte es pro Anfrage etwa 16 Tokens und insgesamt 80 bei 16 gleichzeitig laufenden Anfragen \u2013 das h\u00f6chste Niveau, das ich f\u00fcr dieses Modell getestet habe.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_011257_nvidia_NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4_c1%2C2%2C4%2C8%2C16\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, nvidia\/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4 auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>nvidia\/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4 auf dem DGX Spark. Testet bis zu 16 gleichzeitige Anfragen.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Granit<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ibm-granite\/granite-4.2-30b ist ein dichtes Modell mit 30 Milliarden Parametern in BF16. Jeder Token durchl\u00e4uft alle seine Parameter, etwa 55 GB an Gewichtungen. Es generierte pro Anfrage etwa 4 Token. AIPerf meldet eine Gesamtzahl von 50 Token pro Sekunde bei beiden 16- und 32-parallelen Anfragen. Das eigene Token-Counter von vLLM, das AIPerf zusammen mit dem verzeichnete, zeigt eine zunehmende Generierung von etwa 51 auf etwa 96. Bei 32 verlangten jeweils etwa drei Minuten, und AIPerf z\u00e4hlt nur Anfragen, die innerhalb des Messbereichs abgeschlossen werden. Die durchschnittliche Zeit bis zum ersten Token bei 32 stieg auf etwa 14 Sekunden. Die dichten Qwen-Modelle in BF16 unten zeigen das gleiche Muster.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260912_234824_ibm-granite_granite-4.2-30b_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, ibm-granite\/granite-4.2-30b auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>ibm-granite\/granite-4.2-30b auf dem DGX Spark. Die Punktzahl f\u00fcr 16 und 32 gleichzeitige Anfragen liegt bei etwa gleicher Gesamtdurchsatzleistung.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qwen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Qwen-Gruppe besteht aus zwei Teilen: dem Expertensystem Qwen3.6-35B-A3B und zwei dichten Modellen mit 27 Milliarden Parametern, Qwen3.6-27B und Qwen3.8-27B. Ich habe mehrere davon unter mehr als einer Pr\u00e4zision getestet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Qwen3.6-35B-A3B verwendet etwa 3 Milliarden seiner 35 Milliarden Parameter pro Token. In BF16 generierte es pro Anfrage etwa 30 Token und insgesamt 204 bei 32 gleichzeitig laufenden Anfragen. Die NVFP4-Version des gleichen Modells von NVIDIA erreichte f\u00fcr eine einzelne Anfrage etwa 76 Token pro Sekunde, die h\u00f6chste Einzelanfragegeschwindigkeit in diesem Test und insgesamt 462 bei 32.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_041606_Qwen_Qwen3.6-35B-A3B_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, Qwen\/Qwen3.6-35B-A3B auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Qwen\/Qwen3.6-35B-A3B auf dem DGX Spark.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_025945_nvidia_Qwen3.6-35B-A3B-NVFP4_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, nvidia\/Qwen3.6-35B-A3B-NVFP4 auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>nvidia\/Qwen3.6-35B-A3B-NVFP4 auf dem DGX Spark.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die dichten Modelle BF16 mit der Kennung 27B generierten f\u00fcr eine einzelne Anfrage etwa 4,4 Tokens pro Sekunde. Mit den FP8-Gewichten erreichte Qwen3.8-27B 7,7; die drei NVFP4-Versionen von NVIDIA, Inferact und unsloth erreichten Werte von 9,5 bis 12,0. Bei 32 gleichzeitig laufenden Anfragen lieferten die quantisierten Versionen dennoch jeweils 5,0 bis 6,0 Token pro Sekunde \u2013 gegen\u00fcber den Originalen von BF16, die 3,1 Token pro Sekunde lieferten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei den Versionen von BF16 zeigen die Karten von AIPerf die Werte f\u00fcr 16 und 32 zusammen:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_045827_Qwen_Qwen3.8-27B_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, Qwen\/Qwen3.8-27B auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Qwen\/Qwen3.8-27B (BF16) auf dem DGX Spark. Die Punkte f\u00fcr 16 und 32 gleichzeitige Anfragen entsprechen dem gleichen Gesamtdurchsatz.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_033627_Qwen_Qwen3.6-27B_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, Qwen\/Qwen3.6-27B auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Qwen\/Qwen3.6-27B auf dem DGX Spark. Die Punktzahl f\u00fcr 16 und 32 gleichzeitige Anfragen liegt bei etwa gleicher Gesamtdurchsatzleistung.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei einer Gesamtzahl von 16 bis 32 gleichzeitigen Anfragen lag die Gesamtzahl von AIPerf bei etwa 50 Tokens pro Sekunde, w\u00e4hrend der eigene Z\u00e4hler von vLLM die Generation von etwa 57 auf etwa 95 erh\u00f6ht. Die durchschnittliche Zeit bis zur ersten Token-Erzeugung erh\u00f6hte sich von etwa 5 auf etwa 14 Sekunden. Die Zeitlinie f\u00fcr die einzelnen Anfragen bei 32 zeigt dies: Die 32 Anfragen, die zusammen begonnen wurden, erhielten ihre erste Token-Erzeugung zwischen etwa 1 und 27 Sekunden nach ihrer Abgabe, jeweils nacheinander, und jeder ben\u00f6tigte anschlie\u00dfend etwa 2,5 Sekunden, um seine 512 Token zu generieren.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_045827_Qwen_Qwen3.8-27B_c1%2C2%2C4%2C8%2C16%2C32\/concurrency_32\/plots\/ttft_timeline.png\" alt=\"Anforderung der Zeitleiste, Qwen\/Qwen3.8-27B bei 32 gleichzeitigen Anfragen auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Jede Zeile ist eine Anfrage: gr\u00fcn, bis der erste Token vorhanden ist, orange, w\u00e4hrend die Antwort generiert wird.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die FP8- und NVFP4-Versionen der dichten Modelle konnten den Gesamtdurchsatz bis zu 32 gleichzeitigen Anfragen steigern \u2013 der h\u00f6chste Testwert; die eigene Z\u00e4hlung von vLLM zeigt 153 bis 184 Tokens pro Sekunde bei 32 Anfragen, im Gegensatz zu AIPerfs 149 bis 154.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_022142_nvidia_Qwen3.6-27B-NVFP4_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, nvidia\/Qwen3.6-27B-NVFP4 auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>nvidia\/Qwen3.6-27B-NVFP4 auf dem DGX Spark.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_053908_Qwen_Qwen3.8-27B-FP8_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, Qwen\/Qwen3.8-27B-FP8 auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Qwen\/Qwen3.8-27B-FP8 auf dem DGX Spark.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_002824_Inferact_Qwen3.8-27B-NVFP4_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, Inferact\/Qwen3.8-27B-NVFP4 auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Inferact\/Qwen3.8-27B-NVFP4 auf dem DGX Spark.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\/main\/artifacts\/20260913_061847_unsloth_Qwen3.8-27B-NVFP4_c1%2C2%2C4%2C8%2C16%2C32\/plots\/pareto_curve_throughput_per_gpu_vs_interactivity.png\" alt=\"Pareto-Kurve, unsloth\/Qwen3.8-27B-NVFP4 auf DGX Spark\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>unsloth\/Qwen3.8-27B-NVFP4 auf dem DGX Spark.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Gemeinsame Merkmale bei den Vergleichsindikatoren, die wir f\u00fcr alle 14 LLM-Modelle erhoben haben<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zwei Modelle erreichten bei der Geschwindigkeit auf dem Spark eine gute Leistung. Modelle, die weniger Parameter pro Token verwenden, waren schneller: In BF16 generierten die Mischungsverh\u00e4ltnisse von Experten mit 3 bis 4 Milliarden aktiven Parametern pro Sekunde 23 bis 30 Tokens pro Anfrage (gemma-4-26B-A4B-it 23,2; Qwen3.6-35B-A3B 29,8); die dichten Modelle mit 27 bis 30 B-Parameter erreichten etwa 4 Tokens pro Sekunde; und die Modelle mit niedrigerer Pr\u00e4zision waren schneller: In jeder Modellfamilie generierten die FP8-, NVFP4- und 4-Bit-Versionen jeweils etwa 1,8 bis 2,7 Mal so viele Tokens pro Sekunde f\u00fcr eine einzelne Anfrage wie ihre BF16-Originale. Die NVFP4-Version von Qwen3.6-35B-A3B von NVIDIA lief mit zwei zus\u00e4tzlichen vLLM-Einstellungen (<code>\u2013 attention-backend flashinfer<\/code>,&nbsp;<code>\u2013moe-backend marlin<\/code>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei 16 gleichzeitigen Anfragen lieferten vier Modelle jeweils mehr als 20 Token pro Sekunde: gemma-4-E4B-it-qat-w4a16-ct (43,1), nvidia\/Qwen3.6-35B-A3B-NVFP4 (22,8), nvidia\/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4 (20,9) und gemma-4-E4B-it (20,2).<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"\/de\/kontakt\/\">Kontaktieren Sie pi3g, um LLM-Inferenzserver wie den Nvidia Spark und die Station zu kaufen.<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Grenzen dieses Spark-Benchmarking-Tests<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Jede Lastebene wurde einmal auf dem Spark ausgef\u00fchrt, sodass es keine Vergleichswerte mehr gibt. Ich habe bis zu 32 gleichzeitig laufende Anfragen getestet, und mit Nemotron-3-Super bis zu 16. Die Arbeitslast ist synthetisch: Die tats\u00e4chlichen Anfragen und Antworten variieren in der L\u00e4nge, und andere Einstellungen oder neuere Softwareversionen k\u00f6nnen die Ergebnisse ver\u00e4ndern. W\u00e4hrend des gesamten Tests fiel eine Anfrage aus, eine Verbindung wurde unter 32 gleichzeitig laufenden Anfragen f\u00fcr unsloth\/Qwen3.8-27B-NVFP4 abgebrochen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Daten<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Alle Rohdaten, Konfigurationsdateien und Diagramme sind vorhanden.&nbsp;<a href=\"https:\/\/github.com\/mwolf-pi3g\/aiperf_dgx_spark_260917\">aiperf_dgx_spark_260917<\/a>. Jedes Modell hat seinen eigenen Ordner unter&nbsp;<code>Artefakte\/<\/code>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Modell<\/th><th class=\"has-text-align-left\" data-align=\"left\">Ordner<\/th><\/tr><\/thead><tbody><tr><td>google\/gemma-4-E4B-it<\/td><td><code>20260912_223559_google_gemma-4-E4B-it_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>google\/gemma-4-E4B-it-qat-w4a16-ct<\/td><td><code>20260912_231103_google_gemma-4-E4B-it-qat-w4a16-ct_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>google\/gemma-4-26B-A4B-it<\/td><td><code>20260912_215931_google_gemma-4-26B-A4B-it_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>nvidia\/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4<\/td><td><code>20260913_014356_nvidia_NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>nvidia\/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4<\/td><td><code>20260913_011257_nvidia_NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4_c1,2,4,8,16<\/code><\/td><\/tr><tr><td>ibm-granite\/granite-4.2-30b<\/td><td><code>20260912_234824_ibm-granite_granite-4.2-30b_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>Qwen\/Qwen3.6-35B-A3B<\/td><td><code>20260913_041606_Qwen_Qwen3.6-35B-A3B_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>nvidia\/Qwen3.6-35B-A3B-NVFP4<\/td><td><code>20260913_025945_nvidia_Qwen3.6-35B-A3B-NVFP4_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>Qwen\/Qwen3.6-27B<\/td><td><code>20260913_033627_Qwen_Qwen3.6-27B_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>nvidia\/Qwen3.6-27B-NVFP4<\/td><td><code>20260913_022142_nvidia_Qwen3.6-27B-NVFP4_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>Qwen\/Qwen3.8-27B<\/td><td><code>20260913_045827_Qwen_Qwen3.8-27B_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>Qwen\/Qwen3.8-27B-FP8<\/td><td><code>20260913_053908_Qwen_Qwen3.8-27B-FP8_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>Inferact\/Qwen3.8-27B-NVFP4<\/td><td><code>20260913_002824_Inferact_Qwen3.8-27B-NVFP4_c1,2,4,8,16,32<\/code><\/td><\/tr><tr><td>unsloth\/Qwen3.8-27B-NVFP4<\/td><td><code>20260913_061847_unsloth_Qwen3.8-27B-NVFP4_c1,2,4,8,16,32<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die genauen vLLM-Einstellungen f\u00fcr jedes Modell sind in&nbsp;<code>conf\/model_compose_overrides\/<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn Sie den DGX Spark f\u00fcr ein bestimmtes Modell oder eine bestimmte Anwendung evaluieren, w\u00fcrden wir uns freuen, Ihre Anforderungen zu h\u00f6ren. Wir k\u00f6nnen Ihr Modell anhand Ihrer eigenen Anweisungen und L\u00e4ngen der Antworten vergleichen und Ihnen helfen, zu beurteilen, was die Ergebnisse f\u00fcr Ihren Anwendungsfall bedeuten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>The DGX Spark has 128 GB of memory that the CPU and GPU share. That&#8217;s enough to hold a 120-billion-parameter model in 4-bit precision. What that memory doesn&#8217;t tell you is how fast those models answer, and how that changes when more than one request arrives at a time. So to benchmark the DGX Spark&hellip;<\/p>","protected":false},"author":865,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[1047,1067,1113],"tags":[],"class_list":["post-32412","post","type-post","status-publish","format-standard","hentry","category-ai-hardware","category-nvidia-ai-hardware","category-nvidia-dgx-spark-gb10"],"_links":{"self":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts\/32412","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/users\/865"}],"replies":[{"embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/comments?post=32412"}],"version-history":[{"count":5,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts\/32412\/revisions"}],"predecessor-version":[{"id":32441,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts\/32412\/revisions\/32441"}],"wp:attachment":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/media?parent=32412"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/categories?post=32412"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/tags?post=32412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}