LLM-benchmarktests met 16 GB VRAM en llama.cpp (snelheid en context)

Token snelheid van llama.cpp op 16 GB VRAM (tabellen).

Inhoud

Hier vergelijk ik de snelheid van verschillende LLM’s die op een GPU met 16 GB VRAM draaien, en kies ik de beste optie voor zelfhosting.

Ik heb deze LLM’s uitgevoerd met llama.cpp met contextvensters van 19K, 32K en 64K tokens.

Gestyliseerde GPU met VRAM-blokken en benchmarkschema’s

In dit artikel documenteer ik mijn pogingen om zo snel mogelijk te presteren in termen van snelheid.

LLM-snelheidsvergelijkings tabel (tokens per seconde en VRAM)

Model Grootte 19K VRAM 19K GPU/CPU 19K T/s 32K VRAM 32K Load 32K T/s 64K VRAM 64K Load 64K: T/s
Qwen3.5-35B-A3B-UD-IQ3_S 13.6 14.3 GB 93%/100% 136.4 14.6 GB 93%/100% 138.5 14.9 GB 88%/115% 136.8
Qwen3.5-27B-UD-IQ3_XXS 11.5 12.9 98/100 45.3 13.7 98/100 45.1 14.7 45/410 22.7
Qwen3.5-122B-A10B-UD-IQ3_XXS 44.7 14.7 30/470 22.3 14.7 30/480 21.8 14.7 28/490 21.5
nvidia Nemotron-Cascade-2-30B IQ4_XS 18.2 14.6 60/305 115.8 14.7 57/311 113.6 14.7 55/324 103.4
gemma-4-26B-A4B-it-UD-IQ4_XS 13.4 14.7 95/100 121.7 14.9 95/115 114.9 14.9 75/190 96.1
gemma-4-31B-it-UD-IQ3_XXS 11.8 14.8 68/287 29.2 14.8 41/480 18.4 14.8 18/634 8.1
GLM-4.7-Flash-IQ4_XS 16.3 15.0 66/240 91.8 14.9 62/262 86.1 14.9 53/313 72.5
GLM-4.7-Flash-REAP-23B IQ4_XS 12.6 13.7 92/100 122.0 14.4 95/102 123.2 14.9 71/196 97.1

19K, 32K en 64K zijn de contextgroottes.

De load hierboven is de GPU-belasting. Als u hier een laag getal ziet, betekent dit dat het model voornamelijk op de CPU draait en geen fatsoenlijke snelheid kan halen op deze hardware. Dit patroon komt overeen met wat men ziet wanneer te weinig van het model op de GPU past of wanneer de context de werkdruk naar de host terugstuurt.

Over llama.cpp, LLM-prestaties, OpenCode en andere vergelijkingen

Als u installatiepaden wilt, llama-cli en llama-server voorbeelden, en de vlaggen die belangrijk zijn voor VRAM en tokens per seconde (contextgrootte, batching, -ngl), begin dan met llama.cpp Quickstart met CLI en Server.

Voor het bredere prestatiebeeld (doorvoer versus latentie, VRAM-limieten, parallele verzoeken en hoe benchmarks over hardware en runtime-omgevingen samenpassen), zie LLM Prestaties in 2026: Benchmarks, Flessenhalsen & Optimalisatie.

De kwaliteit van de reactie wordt in andere artikelen geanalyseerd, bijvoorbeeld:

Ik heb vergelijkbare tests uitgevoerd voor LLM’s op Ollama: Beste LLM’s voor Ollama op 16GB VRAM GPU.

Waarom contextlengte de tokens per seconde verandert

Als u van 19K naar 32K of 64K tokens gaat, groeit de KV-cache en stijgt de VRAM-druk. Sommige rijen tonen een grote daling in tokens per seconde bij 64K, terwijl anderen stabiel blijven; dit is het signaal om kwantiseringsniveaus, contextlimieten of laag-offload te heroverwegen in plaats van aan te nemen dat het model over het algemeen “langzaam” is.

De modellen en kwantiseringsniveaus die ik heb gekozen om te testen, zijn om ze zelf te draaien en te zien of ze een goede winst opleveren qua kosten-baten op deze apparatuur of niet. Dus geen q8-kwantiseringsniveaus hier met 200k context :) …

GPU/CPU is een belasting, gemeten door nvitop.

llama.cpp probeert bij het automatisch configureren van de lagen die naar de GPU worden geladen, 1 GB vrij te houden. We specificeren deze parameter handmatig via de commandline-parameter -ngl, maar ik fine-tune dit hier niet; ik heb alleen nodig om te begrijpen dat als er een significante prestatiedaling is bij het vergroten van de contextvenstergrootte van 32k naar 64k, we de snelheid op 64k kunnen proberen te verhogen door het aantal geladen lagen te optimaliseren.

Testhardware en llama.cpp-opstelling

Ik testte de LLM-snelheid op een PC met deze configuratie:

  • CPU i-14700
  • RAM 64GB 6000Hz (2x32GB)
  • GPU RTX-4080
  • Ubuntu met NVidia-stuurprogramma’s
  • llama.cpp/llama-cli, geen geladen lagen gespecificeerd
  • Initiële VRAM-gebruik, voor het starten van llama-cli: 300MB

Extra runs bij 128K context (Qwen3.5 27B en 122B)

Model 128K Load 128K: T/s
Qwen3.5-27B-UD-IQ3_XXS 16/625 9.6
Qwen3.5-122B-A10B-UD-IQ3_XXS 27/496 19.2

Conclusies voor 16 GB VRAM-opstellingen

  • Mijn huidige favoriet, Qwen3.5-27B-UD-IQ3_XXS, presteert goed op zijn sweet spot van 50k context (ik krijg ongeveer 36t/s).
  • Qwen3.5-122B-A10B-UD-IQ3_XXS overtreft prestatiewijze de Qwen3.5 27B op contexten boven de 64K.
  • Ik kan Qwen3.5-35B-A3B-UD-IQ3_S pushen om context van 100k tokens te hanteren, en het past in de VRAM, dus geen prestatiedaling.
  • Ik zal gemma-4-31B niet gebruiken op 16GB VRAM, maar gemma-4-26B zou misschien medium-well… kunnen zijn, moet getest worden.
  • Moet testen hoe goed Nemotron cascade 2 en GLM-4.7 Flash REAP 23B werken. Zullen ze beter zijn dan Qwen3.5-35B q3? Ik betwijfel het, maar zal het toch testen om de vermoedens te bevestigen.