LLM-benchmarks met 16 GB VRAM met behulp van llama.cpp (snelheid en context)

llama.cpp tokensnelheid 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 respectievelijk 19K, 32K en 64K tokens.

Stylizeerde GPU met VRAM-blokken en benchmark-achtige grafieken

In dit artikel documenteer ik mijn pogingen om zoveel mogelijk prestaties, met name wat betreft snelheid, uit het systeem te persen.

Snelheidsvergelijking LLM’s (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.6-35B-A3B-UD-IQ3_XXS 13,2 13,8 GB 96%/100% 147,5 14,0 GB 96%/101% 149,1 14,7 GB 96%/101% 145,8
Qwen3.6-35B-A3B-UD-IQ4_XS 17,7 14,3 GB 62%/266% 95,0 14,9 GB 58%/279% 92,3 14,9 GB 57%/293% 86,4
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-IQ3_XXS-bartowsky 11,3 12,8 98/100 44,9 13,5 98/100 44,9 14,5 45/415 23,6
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-27B-IQ4_XS.gguf 15,0 14,6 49/406 20,5 14,7 37/465 17,4 14,7 23/533 13,3
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
Qwen3.5-122B-A10B-UD-IQ3_S 46,5 14,7 25/516 19,4 14,7 24/516 19,5 14,7 24/516 19,6
Mistral-Small-4-119B UD-IQ3_XXS 42,8 14,8 28/585 30,4 14,7 27/574 28,5 14,9 20/590 31,5
Qwen3-Coder-Next-UD-IQ4_XS 38,4 14,6 32/460 41,1 14,7 29/440 41,3 14,8 32/460 38,3
Nemotron Super 120b IQ3_XXS 56,2 15,0 26/517 17,5 14,6 26/531 17,4 14,6 26/535 17,6
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 verwijst naar GPU Load. Als u hier een laag getal ziet, betekent dit dat het model voornamelijk op de CPU draait en op deze hardware geen aanvaardbare snelheid kan behalen. Dit patroon komt overeen met wat men ziet wanneer te weinig van het model in de GPU past of wanneer de context de werklast terug naar de host duwt.

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

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

Voor een breder overzicht van prestaties (doorvoer versus latentie, VRAM-limiten, parallelle verzoeken en hoe benchmarks samenhangen over hardware en runtimes heen), zie LLM-prestaties in 2026: Benchmarks, bottlenecks & optimalisatie.

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

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

Als u Qwen 3.6 27B of 35B via llama.cpp uitvoert en de generatiesnelheid verder wilt verbeteren, bekijk dan Qwen 3.6 MTP versus standaard decodering op GPU met 16 GB — MTP-speculatieve decodering voegt tot 67% generatiedoorvoer toe voor het 27B dichtheidsmodel, met tabellen die de VRAM-kosten en de afwegingen in contextvenster tonen op elk --spec-draft-n-max-niveau.

Waarom contextlengte tokens per seconde beïnvloedt

Naarmate u van 19K naar 32K of 64K tokens gaat, groeit de KV-cache en neemt de druk op de VRAM toe. Sommige rijen tonen een grote daling in tokens per seconde bij 64K, terwijl anderen stabiel blijven; dit is een signaal om quants, contextlimiten of layer-offload te heroverwegen, in plaats ervan uit te gaan dat het model over het algemeen “langzaam” is.

De modellen en quants die ik heb gekozen om te testen, zijn bedoeld om door mijzelf te worden uitgevoerd om te zien of ze een goede kosten-batenverhouding bieden op deze apparatuur. Dus hier geen q8-quants met 200K context :) …

GPU/CPU is een last, gemeten door nvitop.

llama.cpp probeert bij het automatisch configureren van de offloading van lagen naar de GPU 1 GB vrij te houden. We specificeren deze parameter handmatig via de commandoregelparameter -ngl, maar ik optimaliseer dit hier niet fijn, ik wil alleen duidelijk maken dat als er een significante prestatiedaling is bij het vergroten van het contextvenster van 32K naar 64K, we kunnen proberen de snelheid bij 64K te verhogen door het aantal offlinegeladen lagen te optimaliseren.

Testhardware en llama.cpp-configuratie

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

  • CPU i-14700
  • RAM 64 GB 6000Hz (2x32GB)
  • GPU RTX-4080
  • Ubuntu met NVidia-drivers
  • llama.cpp/llama-cli, geen offlinegeladen lagen gespecificeerd
  • Initieel VRAM-gebruik, voordat llama-cli startte: 300 MB

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

Geoptimaliseerde runs

Voor enkele interessante modellen en quants heb ik geprobeerd speciale commandoregelparameters voor llama-cpp te vinden om de VRAM beter te benutten. Hier is wat ik kon bereiken:

Model Context Lagen op GPU CPU/CPU-load Snelheid
Qwen3.5-27B-IQ4_XS.gguf 18K 65 98%/100% 38,0
Qwen3.5-27B-IQ4_XS.gguf 64K 53 33%/488% 15,7

Conclusies voor builds met 16 GB VRAM

  • Mijn huidige favoriet, Qwen3.5-27B-UD-IQ3_XXS, ziet er goed uit op zijn ideale context van 50K (ik krijg ongeveer 36 t/s)
  • Qwen3.5-122B-A10B-UD-IQ3_XXS overtreft qua prestaties de Qwen3.5 27B bij contexten boven de 64K.
  • Ik kan Qwen3.5-35B-A3B-UD-IQ3_S aanpassen om een context van 100K tokens te hanteren, en het past in de VRAM, dus er is geen prestatieverlies
  • Ik zal gemma-4-31B niet gebruiken op 16 GB VRAM, maar gemma-4-26B zou middelmatig-goed kunnen zijn…, moet ik nog testen.
  • 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 twijfel, maar ik zal het testen om het vermoeden te bevestigen.

Abonneren

Ontvang nieuwe berichten over systemen, infrastructuur en AI-engineering.