VRAM Guide

How Much VRAM Do You Need for a Local LLM?

VRAM is the single most important factor when choosing hardware for local LLMs. Too little and your model won't load. Too much and you wasted money. This guide breaks down exactly how much memory you need for every popular model size, quantization level, and context length.

Quick reference: VRAM by model size and quantization

Here is the most important table on this page. It shows how much VRAM each model size needs at different quantization levels. These are approximate — actual usage varies by implementation (llama.cpp, transformers, etc.) and context length.

Model sizeQ4 (4-bit)Q6 (6-bit)Q8 (8-bit)FP16 (16-bit)
1B0.7 GB1 GB1.3 GB2.5 GB
3B2 GB3 GB3.5 GB6.5 GB
7B4 GB6 GB7 GB14 GB
8B4.5 GB6.5 GB8 GB16 GB
13B7 GB10.5 GB13 GB26 GB
14B7.5 GB11 GB14 GB28 GB
30B16 GB24 GB30 GB60 GB
32B17 GB26 GB32 GB64 GB
70B35 GB53 GB70 GB140 GB
72B36 GB54 GB72 GB144 GB

Values above are for model weights only. Add 0.5-8 GB for the KV cache depending on context length (see below).

Use our interactive VRAM calculator to see exactly which models fit your GPU.

How VRAM works for LLMs

When you run a local LLM, VRAM is consumed by two things:

  1. Model weights — the trained parameters stored as numbers. At 16-bit precision, each parameter takes 2 bytes. At 4-bit quantization, each parameter takes 0.5 bytes. A 7B model at 16-bit = 14 GB. At 4-bit = 3.5 GB.
  2. KV cache — stores computed key-value pairs during generation so the model doesn't re-process the entire prompt on every token. Scales with context length.

The model must fit entirely in VRAM for GPU inference. If it doesn't, llama.cpp and other runners can offload layers to system RAM, but this slows generation dramatically (10-50x slower per offloaded layer).

Model weights by quantization level

Quantization reduces the precision of model weights, trading a small quality loss for a large memory reduction. Here is the formula:

formula
VRAM for weights = number_of_parameters × bytes_per_parameter

FP16: 2 bytes/param   → 7B × 2 = 14 GB
Q8:   1 byte/param    → 7B × 1 = 7 GB
Q6:   0.75 bytes/param → 7B × 0.75 = 5.25 GB
Q4:   0.5 bytes/param  → 7B × 0.5 = 3.5 GB

In practice, add ~10% overhead for model architecture buffers, so a 7B Q4 model uses ~4 GB, not exactly 3.5 GB.

For a detailed breakdown of quantization levels, see our quantization calculator.

KV cache and context overhead

The KV cache is the second major VRAM consumer. It grows linearly with context length and model size.

Context length7B model13B model70B model
2K (2,048)0.5 GB1 GB4 GB
4K (4,096)1 GB2 GB8 GB
8K (8,192)2 GB4 GB16 GB
16K (16,384)4 GB8 GB32 GB
32K (32,768)8 GB16 GB64 GB
128K (131,072)32 GB64 GB256 GB

Notice that at 32K context, the KV cache for a 70B model requires 64 GB — nearly twice the model weights themselves. For long-context work, the KV cache is often the bottleneck, not the model size.

Some runners support KV cache quantization (Q4 KV cache), which cuts this overhead by 4x with minimal quality impact. llama.cpp supports this via --cache-type-k q4_0.

Total VRAM: putting it together

Here are real-world total VRAM requirements for popular model + context combinations:

ModelQuantizationContextTotal VRAMFits on
Qwen 2.5 7BQ4_K_M8K5.5 GB6-8 GB GPUs
Llama 3.1 8BQ4_K_M8K6 GB8 GB GPUs
Qwen 2.5 14BQ4_K_M8K9 GB12 GB GPUs
Mixtral 8x7BQ4_K_M8K20 GB24 GB GPUs
Qwen 2.5 32BQ4_K_M8K21 GB24 GB GPUs
Llama 3.3 70BQ4_K_M4K39 GB48 GB (dual GPU)
Qwen 2.5 72BQ4_K_M4K40 GB48 GB (dual GPU)

Concurrency overhead

If you plan to serve multiple users from one GPU, VRAM usage multiplies:

  • Batch size 1: one KV cache per user at the full context length.
  • Continuous batching: VRAM overhead per active sequence. For a 7B model at 4K context, each additional concurrent user needs ~1 GB of KV cache.
  • vLLM / TGI: adds additional overhead for PagedAttention blocks and scheduler state.

As a rule of thumb, serving N concurrent users on a 7B Q4 model at 8K context needs roughly 5 GB + (2 GB × N). For production serving, double the single-user estimate.

Recommendations by use case

Light use (chat, summarisation)

8 GB VRAM — Qwen 2.5 7B Q4 or Llama 3.1 8B Q4. Up to 8K context. Perfect for single-user interactive chat, basic RAG, and document summarisation. Budget GPUs like the RTX 3060 12 GB or RTX 4060 work well.

Power use (coding, analysis)

16-24 GB VRAM — Qwen 2.5 14B Q4 or Llama 3.1 8B Q8. 16K+ context. Good for complex code generation, data analysis, and multi-turn conversations. An RTX 3090 24 GB or RTX 4070 Ti Super covers this tier comfortably.

Heavy use (large models, long context)

48 GB+ VRAM — Llama 3.3 70B Q4 or Qwen 2.5 32B Q8. Requires dual RTX 3090/4090 or a professional GPU like the A6000 48 GB. Best for enterprise workloads, batch processing, and tasks that need GPT-4-class quality.

Not sure what fits your setup? Use the VRAM calculator to check, or skip the hardware entirely with Plugsky — 30+ models on a flat-rate plan, no GPU required.

No GPU? No problem

Plugsky gives you 30+ models including Llama, Qwen, Mistral, and DeepSeek. No hardware, no setup, no rate limits.

Start Free → VRAM calculator

Frequently asked questions

How much VRAM for a 7B model?

A 7B parameter model at Q4 quantization needs ~4GB VRAM. At Q8 it needs ~7GB. With 2K context overhead (~0.5GB), total is ~4.5-7.5GB. Most 8GB GPUs can run 7B Q4 comfortably.

Can I run a 70B model on a single GPU?

Llama 3.3 70B at Q4 quantization needs ~35GB VRAM. This does not fit on any consumer GPU except the RTX 4090 24GB (still not enough). You need two RTX 3090s (48GB total) or a professional GPU like the A6000 48GB.

Does context length affect VRAM usage?

Yes. The KV cache scales linearly with context length. 2K context adds ~0.5GB. 8K adds ~2GB. 32K adds ~8GB. For long-context models, KV cache overhead can equal or exceed the model's weight memory.

How do I calculate VRAM for a local LLM?

The formula is: model weights (parameters × bytes per parameter) + KV cache (2 × layers × hidden_size × context_length × 2 bytes) + overhead (~200MB). Use our VRAM calculator for instant results.

Is system RAM the same as VRAM?

No. VRAM is GPU memory used for model weights and inference. System RAM is CPU memory. Offloading layers to system RAM works (llama.cpp supports it) but is 10-50x slower. For usable speeds, the model must fit in VRAM.