LLM VRAM Requirements — Every Model, Every Quant (2026)
Exact VRAM numbers for every major local LLM in 2026, from Qwen3 4B on a laptop iGPU to DeepSeek-R1 671B on an 8×H200 node.
By Mohamed Meguedmi · 11 min read
Key takeaways
- The formula that actually works: VRAM ≈ (params × bits/8) × 1.08 + KV cache + 0.8 GB runtime. Everything else is detail.
- Q4_K_M is still the sweet spot in 2026. Across 14 tested models, Q4_K_M loses <1.5% on MMLU-Pro vs FP16 while cutting VRAM ~3.8×.
- KV cache is the silent killer. A 32B model at 32K context eats 8–16 GB of KV on top of weights — more than the quantization savings on small GPUs.
- Mixture-of-Experts changes the math. DeepSeek-R1 671B and Qwen3-MoE 235B need full weights resident but only activate 22–37B per token, so bandwidth, not FLOPs, dominates.
- Sweet-spot GPUs by tier: 12 GB → Qwen3 14B Q4, 24 GB → Qwen3.5 32B Q4_K_M, 48 GB → Llama 4 Scout Q4, 192 GB (DGX Spark / M3 Ultra) → Llama 4 Maverick Q4.
How to read a VRAM number in 2026
Every “VRAM cheat sheet” you find on Reddit gets one of three things wrong: it ignores the KV cache, it assumes FP16 weights when nobody runs FP16 anymore, or it confuses VRAM load with VRAM peak. The editorial team measured every model in this article on a controlled bench (single RTX 5090, single H100 80 GB, and an M3 Ultra 192 GB for the giants), running llama.cpp build b6291, vLLM 0.8.2, and MLX 0.21 with a fixed 4K prompt and 1K generation.
The working formula:
VRAM_total = W_quant + KV + activations + runtime
W_quant = params × (bits_per_weight / 8) × 1.08 // 8% overhead for metadata/scales
KV (fp16) = 2 × n_layers × n_kv_heads × head_dim × ctx × 2 bytes
activations ≈ 0.3 – 0.8 GB at batch 1
runtime ≈ 0.6 – 1.2 GB (CUDA context, allocator slack)For a Qwen3.5 32B at Q4_K_M with 16K context: weights = 32 × 0.5 × 1.08 = 17.3 GB, KV at fp16 ≈ 6.1 GB, plus ~1 GB overhead → ~24.5 GB. That’s why an RTX 5090 (32 GB) is the right card for this model, not a 4090. The community Qwen3.5 32B GGUF card publishes near-identical numbers.
The master table — weights only, all quants
Numbers below are weights only, rounded, with the 8% format overhead baked in. Add KV cache (next section) for total VRAM.
| Model | Params | Q3_K_M | Q4_K_M | Q5_K_M | Q6_K | Q8_0 | FP16 |
|---|---|---|---|---|---|---|---|
| Qwen3 4B | 4.0B | 2.0 | 2.5 | 2.9 | 3.4 | 4.3 | 8.1 |
| Phi-4 mini 7B | 7.0B | 3.4 | 4.4 | 5.1 | 5.9 | 7.5 | 14.1 |
| Llama 4 Scout-Lite 9B | 9.0B | 4.4 | 5.6 | 6.5 | 7.6 | 9.7 | 18.1 |
| Qwen3 14B | 14.0B | 6.7 | 8.5 | 10.0 | 11.6 | 15.0 | 28.2 |
| Gemma 3 27B | 27.0B | 12.8 | 16.3 | 19.1 | 22.3 | 28.8 | 54.4 |
| Qwen3.5 32B | 32.0B | 15.2 | 17.3 | 22.7 | 26.5 | 34.2 | 64.5 |
| Llama 4 Scout 70B | 70.0B | 33.2 | 42.4 | 49.6 | 57.9 | 74.8 | 141.0 |
| Llama 4 Maverick MoE | 120B (17B active) | 56.9 | 72.6 | 85.0 | 99.2 | 128.2 | 241.6 |
| Qwen3-MoE 235B | 235B (22B active) | 111.5 | 142.1 | 166.4 | 194.3 | 251.0 | 473.0 |
| DeepSeek-R1 671B | 671B (37B active) | 318.2 | 405.7 | 475.0 | 554.7 | 716.5 | — |
All values in GB VRAM. Source: in-house bench with llama.cpp b6291, cross-checked with ollama.com registry and HuggingFace GGUF cards. Full CSV exposed via the BestLLMfor public API (CC BY 4.0).
KV cache: the table everyone forgets
Context length costs real memory. With Grouped-Query Attention (GQA) becoming standard in 2026, the KV cache is smaller than the Llama-2 era, but it still scales linearly with tokens. Quantizing the KV cache to Q8_0 (vLLM --kv-cache-dtype fp8 or llama.cpp -ctk q8_0 -ctv q8_0) cuts this in half with no measurable quality loss on long-context evals.
| Model | n_layers | kv_heads | head_dim | KV @ 4K (fp16) | KV @ 16K (fp16) | KV @ 32K (q8) | KV @ 128K (q8) |
|---|---|---|---|---|---|---|---|
| Qwen3 4B | 36 | 8 | 128 | 0.30 | 1.18 | 1.18 | 4.72 |
| Phi-4 mini 7B | 32 | 8 | 128 | 0.27 | 1.05 | 1.05 | 4.19 |
| Qwen3 14B | 48 | 8 | 128 | 0.40 | 1.57 | 1.57 | 6.29 |
| Gemma 3 27B | 62 | 16 | 128 | 1.04 | 4.06 | 4.06 | 16.25 |
| Qwen3.5 32B | 64 | 8 | 128 | 0.54 | 2.10 | 2.10 | 8.39 |
| Llama 4 Scout 70B | 80 | 8 | 128 | 0.67 | 2.62 | 2.62 | 10.49 |
| DeepSeek-R1 671B (MLA) | 61 | 1* | 576 | 0.27 | 1.07 | 1.07 | 4.30 |
Values in GB. *DeepSeek uses Multi-head Latent Attention — the effective KV per token is roughly equivalent to a 1-head GQA at head_dim 576. See the DeepSeek-V3 technical report for the MLA derivation that R1 inherits.
Two consequences. First, MLA is the single biggest reason DeepSeek-R1 671B is even runnable on a single 8×H100 node — without it the 128K KV would exceed total VRAM. Second, on a 24 GB GPU, the difference between running Qwen3.5 32B at 8K versus 32K context is roughly 4 GB — the difference between “fits with headroom” and “OOM on long prompts.”
Which quant should you actually pick?
Bartowski’s quants on HuggingFace are the de facto standard, but the matrix of K_S / K_M / K_L / IQ variants confuses everyone. Our position, after re-running MMLU-Pro and HumanEval on every model in the table:
- Q4_K_M — default. <1.5% MMLU-Pro drop vs FP16 on every model 7B and up.
- Q5_K_M — only if you have 20–30% headroom and run code or math. The Qwen3-Coder family in particular recovers ~0.8 points on HumanEval+ at Q5 vs Q4.
- Q6_K — pointless on dense models. Use it for 4B-and-under tiny models where the absolute VRAM delta is sub-gigabyte.
- IQ3_XXS / IQ2_M — emergency only. DeepSeek-R1 671B at IQ2_XXS (~190 GB) is the famous “runs on an M3 Ultra” build, but quality drops are visible on reasoning chains beyond 4K tokens.
- Q8_0 and FP16 — you are paying double VRAM for a benchmark delta inside the noise floor. Skip unless you’re doing research on quantization itself.
For full benchmark methodology see our methodology page; the per-quant scores are also queryable through the public API.
GPU tier picks — the verdict
| VRAM tier | Reference GPU | Approx price (USD, May 2026) | Best model | Practical context | Tokens/sec* |
|---|---|---|---|---|---|
| 8 GB | RTX 4060 / 5060 | $320 | Qwen3 4B Q5_K_M | 16K | 78 |
| 12 GB | RTX 5070 | $590 | Qwen3 14B Q4_K_M | 16K | 54 |
| 16 GB | RTX 5060 Ti 16G / 5070 Ti | $520 / $780 | Phi-4 14B Q5_K_M or Qwen3 14B Q6_K | 32K (q8 KV) | 47 |
| 24 GB | RTX 4090 / 7900 XTX | $1,600 / $850 | Gemma 3 27B Q4_K_M | 16K | 38 |
| 32 GB | RTX 5090 | $2,400 | Qwen3.5 32B Q4_K_M | 32K | 44 |
| 48 GB | RTX 6000 Ada / 2×5090 | $5,400 / $4,800 | Llama 4 Scout 70B Q4_K_M | 16K | 22 |
| 96 GB | H100 / RTX 6000 Pro Blackwell | $24,000 / $9,800 | Qwen3-MoE 235B Q3_K_M | 32K | 31 |
| 192 GB | M3 Ultra 192G / DGX Spark | $5,600 / $4,000 | Llama 4 Maverick Q4_K_M | 64K | 14 |
| 640 GB+ | 8×H200 NVL | $240,000+ | DeepSeek-R1 671B Q4_K_M | 128K | 26 |
*Single-stream decode at batch 1, 1K-token generation. Power-of-two batches roughly double throughput on H100-class hardware. To match these picks to your electricity rate and target tokens/dollar, run the numbers in our local LLM cost calculator.
Special cases: MoE, vision, and reasoning
Mixture-of-Experts
Llama 4 Maverick (120B, 17B active) and Qwen3-MoE 235B (22B active) are the practical MoE picks in 2026. Their VRAM footprint is dictated by total parameters — you have to load every expert — but their compute footprint scales with active parameters, so they decode 2–3× faster than a dense model of equivalent size. On an M3 Ultra, Llama 4 Maverick at Q4_K_M is the only frontier-class model that decodes above 10 t/s — a dense 120B can’t.
Reasoning models
DeepSeek-R1, Qwen3-Reasoning, and o-style derivatives spend 2K–30K thinking tokens before answering. KV-cache budget matters more than for instruct models: a 32B reasoner at 32K effective context needs the full ~24 GB of an RTX 5090, with no headroom for batching. Plan one tier up than you would for instruct.
Vision-language models
Add ~1.5 GB for the vision tower regardless of base model size. Qwen3-VL 32B Q4_K_M lands at ~26 GB total — tight but doable on a 5090.
How to install and verify in 10 minutes
- Install Ollama:
curl -fsSL https://ollama.com/install.sh | sh - Pull a model matching your tier from the table above, e.g.
ollama pull qwen3.5:32b-q4_K_M. - Measure actual VRAM:
nvidia-smi --query-gpu=memory.used --format=csv -l 1in a side terminal while you run a 1K-token prompt. - Check KV scaling: rerun with
OLLAMA_CONTEXT_LENGTH=32768and watch VRAM grow by roughly the KV row in our table. - Compare to the predicted number from the formula at the top of this article. Discrepancy > 10% almost always means another process is holding VRAM — check
fuser -v /dev/nvidia*.
For deeper automation, the open-source quelllm-mcp server exposes this VRAM database as an MCP tool, so Claude Desktop or any MCP client can answer “will this model fit?” without leaving your editor. The French sister site quelllm.fr mirrors the same dataset for the Francophone audience.
Editorial verdict
For 2026, the editorial position is unchanged from Q1: buy for the model, not the brand. An RTX 5090 at $2,400 is the highest tokens-per-dollar GPU for the 24–32 GB band any reasonable user will land in. Above that, Apple Silicon’s 192 GB unified memory is the only sub-$10K path to running Llama 4 Maverick locally, and the M3 Ultra delivers 60–70% of an H100’s decode throughput on MoE workloads at a fifth of the price. Below 12 GB, accept that you are running 4B–8B models and pick Qwen3 4B Q5_K_M — its 78 t/s on a 5060 outperforms every alternative for assistant-class tasks.
The team updates these numbers monthly. For the always-current dataset, the BestLLMfor public API returns JSON for every (model, quant, context, GPU) tuple, free under CC BY 4.0.
Frequently asked questions
How much VRAM do I need to run Llama 4 Scout 70B?
At Q4_K_M with a 16K context, Llama 4 Scout 70B needs ~45 GB total: 42.4 GB of weights plus ~2.6 GB KV cache and ~1 GB overhead. A single 48 GB RTX 6000 Ada works; a pair of RTX 5090s also fits with tensor parallelism in vLLM.
Is Q4_K_M really good enough for production?
Yes for general assistant, RAG, and tool-use workloads. Across 14 models tested, Q4_K_M loses under 1.5 points on MMLU-Pro versus FP16. For code generation, Q5_K_M recovers ~0.8 points on HumanEval+ and is worth the extra 18–22% VRAM if you have it.
What’s the cheapest GPU that runs a 32B model?
An RTX 5090 (32 GB, ~$2,400) runs Qwen3.5 32B Q4_K_M at 32K context with headroom. Below that, a used RTX 3090 (24 GB) handles Gemma 3 27B Q4_K_M or Qwen3.5 32B Q3_K_M at shorter context.
Can I run DeepSeek-R1 671B on a Mac Studio?
Yes — the M3 Ultra 192 GB runs DeepSeek-R1 at IQ2_XXS (~190 GB) at 7–9 t/s. Quality is degraded versus Q4_K_M but reasoning chains remain coherent. For Q4_K_M (~406 GB) you need an 8×H100/H200 node or two networked Mac Studios with distributed inference.
Does quantizing the KV cache hurt quality?
Q8_0 KV is effectively free — no measurable degradation in 2026 testing across long-context retrieval and reasoning evals. Q4 KV starts to show retrieval misses past 32K tokens; avoid it unless you’re desperate for headroom.
Why does my model use more VRAM than the table predicts?
Three usual suspects: (1) another process holds VRAM — check with nvidia-smi; (2) you’re running with a larger default context than 4K — check the inference engine’s context flag; (3) CUDA graph capture or speculative decoding adds 0.5–2 GB at startup. The formula at the top of this article assumes single-stream, no spec-decode.
For running local LLMs comfortably, an RTX 5070 Ti (16 GB VRAM) is the best value for money.
Amazon Check RTX 5070 Ti price →As an Amazon Associate, BestLLMfor earns from qualifying purchases, at no extra cost to you. It does not influence our independent rankings.