LLM-benckmark 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:s (storspråkmodeller) som körs på GPU med 16 GB VRAM, och väljer den bästa för egen hosting.
Jag har kört dessa LLM:s med llama.cpp med kontextfönster på 19K, 32K och 64K token.
Stiliserad GPU med VRAM-block och benchmark-liknande diagram
I detta inlägg dokumenterar jag mina försök att pressa ut så mycket prestanda, i form av hastighet, som möjligt.
Jämförelsetabell för LLM-hastighet (token per sekund och VRAM)
| Modell | Storlek | 19K VRAM | 19K GPU/CPU | 19K T/s | 32K VRAM | 32K Belastning | 32K T/s | 64K VRAM | 64K Belastning | 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 och 64K är kontextstorlekar.
Belastning (load) ovan avser GPU-belastning.
Om du ser ett lågt värde i denna kolumn betyder det att modellen körs främst på CPU:n och inte kan uppnå någon anständig hastighet på denna hårdvara. Det här mönstret matchar vad man ser när för lite av modellen ryms på GPU:n eller när kontexten tvingar beräkningarna 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, samt de 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 prestandan (genomströmning kontra latens, VRAM-gränser, parallella förfrågningar och hur benchmarkar hänger ihop över hårdvara och körningsmiljöer), se LLM-prestanda 2026: Benchmarkar, flaskhalsar & optimering.
Kvaliteten på svaren analyseras i andra artiklar, till exempel:
- Bästa LLM:erna för OpenCode – Testat lokalt. Du kan läsa mer om OpenCode i OpenCode Quickstart: Installera, konfigurera och använda terminal-AI-kodingsagenten
- Jämförelse av Hugo-sidöversättningskvalitet – LLM:er på Ollama
Jag körde liknande tester för LLM:er på Ollama: Bästa LLM:erna för Ollama på 16 GB VRAM GPU.
Om du kör Qwen 3.6 27B eller 35B via llama.cpp och vill öka generationshastigheten ytterligare, se Qwen 3.6 MTP vs Standarddekodning på 16 GB GPU — MTP-spekulativ dekodering ökar generationens genomströmning med upp till 67 % för 27B-täta modellen, med tabeller som visar VRAM-kostnaden och avvägningen vid kontextfönstret för varje --spec-draft-n-max-nivå.
Varför kontextlängden påverkar 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 ett signal att se över kvantiseringsnivåer, kontextgränser eller lager-offloading snarare än att anta att modellen generellt är “långsam”.
De modeller och kvantiseringsnivåer jag valt att testa är avsedda att köras av mig själv för att se om de ger en bra vinst i termer av kostnad/nytta på denna utrustning eller inte. Så inga q8-kvantiseringsnivåer här med 200k kontext :) …
GPU/CPU är en belastning, mätt med nvitop.
När llama.cpp autokonfigurerar avlastningen av lager till GPU:n försöker den hålla 1 GB fritt.
Vi anger denna parameter manuellt via kommandoradsparametern -ngl, men jag justerar inte finjusteringen här,
utan behöver bara förstå att om det finns en signifikant prestanda-nedgång 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 64 GB 6000 Hz (2x32 GB)
- GPU RTX-4080
- Ubuntu med NVidia-drivrutiner
- llama.cpp/llama-cli, inga avlastade lager specificerade
- Ursprunglig VRAM-användning, innan start av llama-cli: 300 MB
Extra körningar vid 128K kontext (Qwen3.5 27B och 122B)
| Modell | 128K Belastning | 128K: T/s |
|---|---|---|
| Qwen3.5-27B-UD-IQ3_XXS | 16/625 | 9.6 |
| Qwen3.5-122B-A10B-UD-IQ3_XXS | 27/496 | 19.2 |
Finjusterade körningar
För vissa intressanta modeller och kvantiseringsnivåer försökte jag hitta speciella kommandoradsparametrar för llama-cpp för att bättre utnyttja VRAM. Här är vad jag kunde uppnå:
| Modell | Kontext | Lager på GPU | CPU/CPU-belastning | Hastighet |
|---|---|---|---|---|
| Qwen3.5-27B-IQ4_XS.gguf | 18k | 65 | 98%/100% | 38.0 |
| Qwen3.5-27B-IQ4_XS.gguf | 64k | 53 | 33%/488% | 15.7 |
Sammanfattning för 16 GB VRAM-byggen
- Min nuvarande favorit Qwen3.5-27B-UD-IQ3_XXS ser bra ut vid sin optimala kontext på 50k (jag får ca 36 t/s)
- Qwen3.5-122B-A10B-UD-IQ3_XXS överträffar prestandamässigt Qwen3.5 27B vid kontexter över 64K.
- Jag kan få Qwen3.5-35B-A3B-UD-IQ3_S att hantera kontext på 100k token, och den ryms i VRAM, så ingen prestanda-nedgång
- Jag kommer inte att använda gemma-4-31B på 16 GB VRAM, men gemma-4-26B kanske fungerar måttligt bra…, behöver testa.
- Behöver testa hur bra 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 testa för att bekräfta misstanken.