16 GB VRAM-benchmarks för LLM 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 egen hosting.
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.
LLM-hastighetsjämförelse (token per sekund och VRAM)
| Modell | Storlek | 19K VRAM | 19K GPU/CPU | 19K T/s | 32K VRAM | 32K Last | 32K T/s | 64K VRAM | 64K Last | 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-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 |
| 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.
Last ovan är en GPU-last.
Om du ser ett lågt tal i denna kolumn betyder det att modellen körs mestadels på CPU och inte kan uppnå någon anständig hastighet på denna hårdvara. Det mönster matchar vad människor ser när för lite av modellen får plats 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, samt flaggor som är viktiga för VRAM och token per sekund (kontextstorlek, batchning, -ngl), börja med llama.cpp Quickstart med CLI och Server.
För den bredare prestandabilden (genomströmning kontra latens, VRAM-gränser, parallella förfrågningar och hur benchmarkar passar ihop över hårdvara och runtime), se LLM-prestanda 2026: Benchmarkar, flaskhalsar och optimering.
Kvaliteten på svaren 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 också liknande tester för LLM:er på Ollama: Bästa LLM:er för Ollama på 16 GB 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 VRAM-trycket ökar. Vissa rader visar en stor minskning i token per sekund vid 64K medan andra är oförändrade, vilket är ett tecken på att man bör granska kvantiseringar, kontextgränser eller lageroffloadning istället för att anta att modellen är “långsam” i allmänhet.
De modeller och kvantiseringar jag valde att testa är för att jag själv ska se om de ger en bra vinst i form av kostnad/fördel på denna utrustning eller inte. Så inga q8-kvantiserings här med 200k kontext :) …
GPU/CPU är en last, mätt med nvitop.
När llama.cpp automatiskt konfigurerar vilka lager som laddas ur till GPU:n försöker den hålla 1 GB ledigt.
Vi anger denna parameter manuellt via kommandoradsparametern -ngl, men jag finjusterar den inte här,
bara behöver förstå att om det finns en betydande prestandaminskning när kontextfönstret ökar från 32k till 64k - kan vi försöka öka hastigheten på 64k genom att finjustera antalet urladdade lager.
Testhårdvara och llama.cpp-konfiguration
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 urladdade lager specificerade
- Initial VRAM-användning, innan start av llama-cli: 300 MB
Extra körningar vid 128K kontext (Qwen3.5 27B och 122B)
| Modell | 128K Last | 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 kvantiseringar försökte jag hitta speciella llama-cpp-kommandoradsparametrar för att bättre utnyttja VRAM. Här är vad jag kunde uppnå:
| Modell | Kontext | Lager på GPU | CPU/CPU-last | 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 |
Slutsatser för 16 GB VRAM-konfigurationer
- Min nuvarande favorit Qwen3.5-27B-UD-IQ3_XXS ser bra ut vid sin optimala kontext på 50k (jag får ca 36 token/s)
- Qwen3.5-122B-A10B-UD-IQ3_XXS överträffar prestandamässigt Qwen3.5 27B på kontexter över 64K.
- Jag kan pusha Qwen3.5-35B-A3B-UD-IQ3_S att hantera kontext på 100k token, och den passar in i VRAM, så ingen prestandaminskning.
- Jag kommer inte använda gemma-4-31B på 16 GB VRAM, men gemma-4-26B kan vara medelbra…, behöver testas.
- Behöver testa hur väl Nemotron cascade 2 och GLM-4.7 Flash REAP 23B fungerar. Kommer de vara bättre än Qwen3.5-35B q3? Jag tvekar men ändå, kan testa för att bekräfta misstanken.