GPU memory (VRAM)
The memory on a GPU or other accelerator, which must hold the model's weights, its KV cache and working buffers during inference.
Why it matters. It is usually the first limit on which models you can self-host, and at what context length and concurrency.
How it works
Weights take about parameters x bytes per parameter: 2 bytes at BF16 or FP16, 1 at FP8 or INT8, and about 0.5 at 4-bit, plus a little for scale factors. On top come the KV cache, which grows with context length, layers and batch size, and activation buffers and engine overhead. For mixture-of-experts models every expert must be loaded, so size by total parameters.
Bandwidth matters as much as capacity: each decode step reads the active weights, so memory bandwidth caps per-request output speed. When a model doesn't fit on one GPU, it is split across several with tensor or pipeline parallelism. Unified-memory machines, such as Apple silicon, give the GPU a large shared pool, usually with less bandwidth than data-center GPUs.
Plan for weights, plus KV cache for your target context and concurrency, plus 10-20% headroom. Engines often reserve a fixed share of memory for the KV cache up front, so a model that loads may still not serve your workload.
Worked example
Illustrative: a 70B-parameter dense model needs 70 x 2 = 140 GB for weights at BF16, 70 GB at FP8 and about 35 GB at 4-bit. On two 80 GB GPUs (160 GB), BF16 leaves about 20 GB for KV cache and buffers, while FP8 leaves about 90 GB, room for far longer contexts or more users.
Common mistakes
- Sizing for the weights only and forgetting the KV cache, activations and engine overhead.
- Sizing a mixture-of-experts model by active parameters instead of total parameters.
- Treating a unified-memory machine as equal to a data-center GPU of the same capacity, ignoring the bandwidth gap that limits speed.
Across the catalog today
Parameter counts makers publish
- gpt-oss-20bOpenAI20.91B total / 3.61B active per token
- gpt-oss-120bOpenAI116.83B total / 5.13B active per token
- Gemma 4 31BGoogle30.7B, dense, 60 layers
- Llama 4 ScoutMeta17B active / 109B total, 16 experts
- Muse Glimmer 30BMeta~29.6B including a ~1.8B ViT-G/14 vision encoder
- Llama 4 MaverickMeta17B active / 400B total, 128 experts
- Llama 3.3 70BMeta70B
- Llama 3.1 8BMeta8B
At 16-bit precision the weights alone need about 2 bytes per parameter, before the KV cache.
See it on a real card: Where to run it on Llama 4 Maverick.
Related terms
- Weights & training41
Parameters
The learned numbers that make up a model
Explained - Weights & training46
Precision formats (BF16, FP8, FP4)
How many bits each number in the model uses
Explained - Inference28
KV cache
Per-request attention memory that grows with context
Explained - Weights & training47
Quantization
Lower-precision weights to cut memory and cost
Explained - Pricing14
Self-hosting cost
What it costs to run open weights yourself
Explained