🧪 GX10 LLM Benchmark Suite

Welk lokaal LLM is écht het snelst én slimst op een NVIDIA DGX Spark-klasse machine (128GB unified memory)? 15 modellen zelf gedownload, zelf gedraaid, zelf getest — inclusief de modellen die faalden en waarom.

🖥️ GB10 Grace Blackwell · 128GB unified 📦 15 modellen getest 🔬 7 testcategorieën ✅ alles zelf geverifieerd, geen blog-cijfers

01De winnaar

Perfecte score op elke testcategorie, en 3x sneller dan de enige gelijkwaardige concurrent.

🥇

GPT-OSS-120B — OpenAI, Apache 2.0

117B totaal / 5,1B actief · MoE · 59GB (UD-Q4_K_XL) · 53,4 t/s generatie

✅ zware taken 4/4 ✅ long-context 6/6 ✅ betrouwbaarheid 5/5 ✅ tool-gebruik 4/4 ✅ kennis 14/14 ✅ rekenen 10/10

02Resultaten in grafieken

Live gegenereerd uit docs/data/results.json — nieuwe modeltests verschijnen hier automatisch na een push.

⚡ Generatiesnelheid (tokens/sec)

Gemeten met llama-bench / server-timings. Hoger = sneller.

🧮 Score op de zware reken-/redeneertest (van 10)

Alleen modellen die deze specifieke testronde doorliepen. Dit is waar de meeste modellen zich daadwerkelijk van elkaar onderscheiden.

💾 Omvang op schijf vs. snelheid

Grotere bubbel = meer totale parameters. Rechtsonder is de ideale hoek: klein én snel.

03Volledige scorematrix

Alle 15 geteste modellen, alle categorieën. Niet elk model doorliep elke test (zie toelichting per rij in het README).

geslaagd ⚠️ gedeeltelijk / met kanttekening gefaald niet getest
ModelUitgeverArchitectuurSchijfSnelheid Zware takenLong-ctxBetrouwbaarToolsKennisRekenen

04Het verhaal: vier testrondes

Waarom dit vier rondes duurde, en wat elke ronde ons leerde.

1️⃣De eerste kandidaat, en een harde geheugen-les

GPT-OSS-120B was de voor de hand liggende eerste keuze — native ontworpen voor precies dit soort hardware. Daarna probeerden we Qwen3-235B-A22B op de grootste quant die "net" leek te passen (134GB) — en dat ging mis: llama.cpp offloadde een deel naar de CPU en de snelheid stortte in van tientallen tokens/sec naar 2 tokens/sec. Les: reken een marge van 15-20GB voor context/overhead, quantiseer niet tot de rand.

2️⃣De Chinese labs, en een architecturale ontdekking

GLM-4.5-Air maakte een rekenfout ondanks een lange interne denkstap. MiniMax-M2 liep vast in een letterlijke herhalingslus op een notulen-taak. Maar de belangrijkste ontdekking kwam van DeepSeek-R1-Distill-Llama-70B: als dense model (alle parameters actief per token) kelderde de snelheid naar 2,9 t/s. Op deze bandbreedte-gelimiteerde hardware is MoE-architectuur belangrijker dan merk, leverancier of modelgrootte.

3️⃣Zwaardere testen, gelijke lat

De testset discrimineerde niet meer scherp genoeg — bijna alles scoorde 4/4. We voegden een long-context test toe (feiten verspreid door een 8k-token document) en een 5x-herhalingstest, specifiek om het soort loop-bug van MiniMax-M2 systematisch te vangen. Alle overlevende kandidaten scoorden foutloos.

4️⃣Nieuwe generatie modellen, en de reken-bottleneck

Tegen een zwaardere reken-/redeneertest (logica, kansrekening, combinatoriek, met opzettelijke datum-valstrikken) bleek het échte onderscheid: GPT-OSS-120B en Nemotron-3-Super-120B-A12B losten alles efficiënt op. De hele Qwen3.x-lijn liep bij 40-50% van de vragen leeg binnen een redelijk tokenbudget — bij één vraag had het model het juiste antwoord intern al twee keer gevalideerd, en bleef het daarna eindeloos twijfelen over de presentatie tot het budget op was.

05Belangrijkste lessen

🏗️

MoE > dense, punt

Op bandbreedte-gelimiteerde hardware kan een dense 70B-model 15-20x trager zijn dan een MoE-model van vergelijkbare grootte. Check dit vóór je downloadt.

📏

Quantiseer niet tot de rand

Reken 15-20GB marge boven de modelgrootte voor context/KV-cache, anders forceer je CPU-offload en wordt het model onbruikbaar traag.

🧠

Reasoning kan zijn eigen budget opeten

Zonder ruim max_tokens (2000+) en zonder te checken op reasoning_content naast content lijkt een goed model plots "leeg" te antwoorden.

🔀

Ken de thinking-toggle

Qwen3.x: enable_thinking: false. NVIDIA Nemotron: "detailed thinking off". Zet dit alléén uit voor pure formaat-taken — voor rekenwerk kost het correctheid.

🔁

Snel en correct ≠ betrouwbaar

Meerdere modellen kwamen intern tot het juiste antwoord maar faalden om het te leveren. Alleen herhalingstests vangen dit systematisch.

🔍

Verifieer modelclaims altijd zelf

Publieke "beste LLM"-lijsten bevatten vaak plausibele maar onbetrouwbare informatie. De officiële Hugging Face API was onze enige vertrouwde bron.

06Zelf reproduceren

Alle scripts zijn pure Python (stdlib) en praten met een lokale llama-server. Volledige uitleg: scripts/README.md.

git clone https://github.com/sayfjawad/gx10-llm-benchmarks.git
cd gx10-llm-benchmarks

pip install -U "huggingface_hub[cli]"
hf download unsloth/gpt-oss-120b-GGUF --include "UD-Q4_K_XL/*" --local-dir ~/models/gpt-oss-120b

llama-server --model ~/models/gpt-oss-120b/UD-Q4_K_XL/gpt-oss-120b-UD-Q4_K_XL-00001-of-00002.gguf \
  --alias gpt-oss-120b --host 127.0.0.1 --port 8081 --n-gpu-layers 999 --cont-batching

python3 scripts/bench_hard.py 8081 gpt-oss-120b

💾 Schijfruimte: reken ~50GB voor kleine kandidaten (30-40GB klasse), ~130GB voor grote (~100GB klasse). Sequentieel testen (download → test → opruimen → volgende) houdt 150GB vrije ruimte ruim voldoende, ongeacht hoeveel modellen je wilt vergelijken.