Gemma-4-31B-it
Dense 31B in BF16 op DGX Spark betaalt zijn breedte direct. Single-user op 4k context blijft net bruikbaar, maar bij c=10 zakt decode naar 3.4 t/s/user en 25k context tikt op 177 sec TTFT. Onder de rustige kantoor-baseline klimt de queue naar 168 concurrente requests en TTFT mean naar 204 seconden. Voor deze hardware is dense 31B de verkeerde architectuur, een MoE als de 26B-A4B doet vergelijkbaar werk drie tot vier keer sneller.
La composante quality de l'Arena score. Pas mesurée par moi, issue des model cards officielles du vendor. Pour une comparaison cross-model avec un eval harness cohérent, Artificial Analysis est un tiers utile. La moyenne des trois benchmarks entre une à une dans la formule du Score (pondérée plus lourd en Aggregate/Agent, plus léger en Batch).
5 tests closed-loop avec llama-benchy et 4 tests open-loop avec vllm bench serve. Par benchmark les tokens/sec (decode throughput) et le TTFT p50. Le TTFT se traduit directement en ressenti UX, les tps en capacité. Déplie "view command" pour la commande exacte.
Chat
Korte prompt, lang antwoord. De vorm die als normale chat moet aanvoelen, TTFT bepaalt of het "snappy" is.
RAG · 8k context
Middelgrote context, een paar documentchunks met antwoord van normale lengte. Toont prefill-kosten zonder de muur te raken.
Lange output / agents
Korte instructie, veel output. Code-generation, rapporten of gestructureerde agent-output. Stress-test voor decode throughput.
Grote context · 25k
Stress-test met grote prompts. Niet per se chatmateriaal, wel exact waar de prefill-muur zichtbaar wordt en TTFT instort.
Multi-turn · kantoorwerk
Vijf beurten per gesprek, tien gesprekken parallel. Dicht bij hoe een team dit echt gebruikt, met groeiende context per turn.
Realistische kantoor-baseline
Random dataset · 4000 tokens in, 500 tokens uit · request-rate 0.3, burstiness 0.7. Een rustig kantoor.
Echte gesprekken · ShareGPT
ShareGPT V3 · gemiddeld 228 tokens per turn · natuurlijk variërend per gesprek. Wat real users doen, niet een synthetische random distributie.
Maandagochtend-piek
Random · 4000 in / 500 uit · request-rate 1.5 req/s, burstiness 1.0, max 25 parallel. Wanneer iedereen tegelijk inlogt, zien we de queue groeien?
Reasoning workload
Lange chain-of-thought outputs · 1k in / 4k uit · trage rate (0.2 req/s) want elke request kost veel decode-budget. Test of TTFT stabiel blijft.
Single-user 4k context blijft net bruikbaar
Bij c=1 op 4k context: 3.7 t/s/user decode, TTFT 3.9 sec. Niet snel, maar bruikbaar voor één gebruiker met korte prompts. Daarboven valt het hard tegen.
Office-baseline tikt op 200+ sec TTFT
Onder de rustige kantoor-workload (0.3 rps Poisson) klimt de queue naar 168 concurrente requests, TTFT mean 204 sec, P99 boven 8 minuten. Voor productie-inzet niet bruikbaar.
25k context is een non-starter
TTFT mean 177 sec bij c=10, stddev 90 sec. Met 10 concurrent requests à 25k tokens prefill loopt de queue uren achter. De prefill-muur staat hier al bij c=5.
62 GB weights laten KV-cache krap
Dense BF16 vreet geheugen. Op 128 GB unified blijft circa 55 GB voor KV-cache, en daarmee zit de scheduler met c=10 op 25k krap. Op deze Spark is dit duidelijk een MoE-hardware, niet een dense-hardware.