Prestandamätningar för LLM med 16 GB VRAM med llama.cpp (hastighet och kontext)
Tokenhastighet för llama.cpp på 16 GB VRAM (tabeller).
Här jämför jag hastigheten hos flera LLM som kör på GPU med 16 GB VRAM och väljer den bästa för självhospitering.
Jag har kört dessa LLM i llama.cpp med kontextfönster på 19K, 32K och 64K token.

I detta inlägg dokumenterar jag mina försök att pressa ut så mycket prestanda som möjligt i form av hastighet.
Tabell för jämförelse av LLM-hastighet (token per sekund och VRAM)
| Model | Size | 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.3GB | 93%/100% | 136.4 | 14.6GB | 93%/100% | 138.5 | 14.9GB | 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 och 64K är kontextstorlekar.
Värdet för load ovan är en GPU Load.
Om du ser ett lågt tal i denna kolumn betyder det att modellen körs mestadels på CPU:n och inte kan uppnå någon anständig hastighet på denna hårdvara. Det mönstret matchar det som folk ser när för liten del av modellen platsar på GPU:n eller när kontexten tvingar arbete tillbaka till värdmaskinen.
Om llama.cpp, LLM-prestanda, OpenCode och andra jämförelser
Om du vill ha installationsvägar, exempel på llama-cli och llama-server, och flaggor som är viktiga för VRAM och token per sekund (kontextstorlek, batching, -ngl), börja med llama.cpp Quickstart med CLI och Server.
För en bredare bild av prestanda (genomströmning kontra latens, VRAM-gränser, parallella begäran och hur prestandamätningar passar ihop över hårdvara och körmiljöer), se LLM-prestanda 2026: Prestandamätningar, flaskhalsar & optimering.
Kvaliteten på svarsutskriften analyseras i andra artiklar, till exempel:
- Bästa LLM:er för OpenCode - Testat lokalt. Du kan läsa mer om Opencode i OpenCode Quickstart: Installera, konfigurerar och använd terminal-AI-kodningsagenten.
- Jämförelse av Hugo-sidöversättningskvalitet - LLM:er på Ollama
Jag körde liknande test för LLM:er på Ollama: Bästa LLM:er för Ollama på 16GB VRAM GPU.
Varför kontextlängd ändrar token per sekund
När du går från 19K till 32K eller 64K token växer KV-cachen och trycket på VRAM ökar. Vissa rader visar ett stort fall i token per sekund vid 64K medan andra ligger stilla, vilket är en signal att se över kvantisering, kontextgränser eller lageravlastning istället för att anta att modellen är “långsam” i allmänhet.
De modeller och kvantiseringsnivåer jag valt att testa är för att jag själv ska köra dem och se om de ger en god vinst i form av kostnad/fördel på denna utrustning eller inte. Så inga q8-kvantiseringar här med 200k-kontext :) …
GPU/CPU är en belastning, mätt med nvitop.
llama.cpp när den konfigurerar om laggarna automatiskt för avlastning till GPU försöker den hålla 1GB ledigt.
Vi anger denna parameter manuellt via kommandoradsparametern -ngl men jag finjusterar den inte här,
behöver bara förstå att om det finns en betydande prestanda-försämring när kontextfönstret ökar från 32k till 64k - kan vi försöka öka hastigheten vid 64k genom att finjustera antalet avlastade lager.
Testhårdvara och llama.cpp-inställning
Jag testade LLM-hastigheten på en PC med denna konfiguration:
- CPU i-14700
- RAM 64GB 6000Hz (2x32GB)
- GPU RTX-4080
- Ubuntu med NVidia-drivrutiner
- llama.cpp/llama-cli, inga avlastade lager specificerade
- Initial VRAM-användning, innan start av llama-cli: 300MB
Extra körningar vid 128K-kontext (Qwen3.5 27B och 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 |
Slutsatser för 16 GB VRAM-byggen
- Min nuvarande favorit Qwen3.5-27B-UD-IQ3_XXS ser bra ut vid sitt sweet-spot 50k-kontext (jag får ca 36t/s)
- Qwen3.5-122B-A10B-UD-IQ3_XXS överträffar prestandamässigt Qwen3.5 27B vid kontexter över 64K.
- Jag kan tvinga Qwen3.5-35B-A3B-UD-IQ3_S att hantera kontext på 100k token, och den platsar i VRAM, så ingen prestandaförsämring.
- Jag kommer inte att använda gemma-4-31B på 16GB VRAM, men gemma-4-26B kanske är medelmåttigt… behöver testas.
- Behöver testa hur väl Nemotron cascade 2 och GLM-4.7 Flash REAP 23B fungerar. Kommer de att vara bättre än Qwen3.5-35B q3? Jag tvivlar men ändå, kanske testas för att bekräfta misstanken.