Qwen2.5 72B Instruct: how much VRAM does it need?

Qwen2.5 72B Instruct has 72.70B parameters in 80 layers. It uses grouped-query attention: 64 query heads share 8 key-value heads, so its KV cache is 8× smaller than full multi-head attention would need. It takes up to 32,768 tokens of context; one user at that length needs 10.00 GiB of KV cache at FP16 on top of the weights.

BF16 · 8k context · one user
142.0 GiB

135.4 GiB of weights, 2.50 GiB of KV cache and 4.12 GiB of vLLM's overhead. At INT4 the same workload needs 45.99 GiB.

  • 80 layers
  • hidden 8192
  • 64/8 heads
  • head_dim 128
  • 32k max context

Qwen2.5 72B Instruct memory by precision and context

Precision8k context32k context
BF16142.0 GiBKV cache 2.50 GiB149.5 GiBKV cache 10.00 GiB
FP876.64 GiBKV cache 2.50 GiB84.14 GiBKV cache 10.00 GiB
INT445.99 GiBKV cache 2.50 GiB53.49 GiBKV cache 10.00 GiB

One user, FP16 KV cache and vLLM's overhead on one GPU at its defaults for a card under 70 GB. Quantizing shrinks the weights, not the KV cache, so the saving narrows as the context grows.

Which single GPUs hold it

At 8k context for one user, the smallest cards first. A discrete card is budgeted at vLLM's default 92% of its memory, a unified-memory device at the share its GPU can address, and each carries vLLM's overhead at its own defaults.

How many users fit

GPUBF16FP8INT4
RTX 4090does not fitdoes not fitdoes not fit
RTX 5090does not fitdoes not fitdoes not fit
RTX 6000 Adadoes not fitdoes not fitdoes not fit
H100 SXM 80GBdoes not fitdoes not fit11
RTX PRO 6000 Blackwelldoes not fit517
AMD Ryzen AI Max+ 395 (128GB)does not fit517
H200 141GBdoes not fit2133
B200 180GB83446

Users at 8k context each, on one card. ✗: the weights leave no room for even one.

Fine-tuning Qwen2.5 72B Instruct

MethodMemorySmallest GPU
Full fine-tune1086.8 GiBseveral GPUs, sharded
LoRA (rank 16, attention)139.8 GiBApple M2 Ultra
QLoRA (rank 16, attention)39.29 GiBNVIDIA L40S

Sequence length 2,048, batch size 1, gradient checkpointing on, Adam. Full fine-tuning keeps 16 bytes per parameter before activations; QLoRA stores the frozen base in 4-bit NF4.

Where the numbers come from

Weights are parameters × bytes per parameter. The KV cache is 2 × layers × key-value heads × head dimension × bytes × context × users. For Qwen2.5 72B Instruct that is 320.0 KiB per token at FP16. These are capacity-planning figures: the serving engine — vLLM, TGI, llama.cpp — and its paged-attention efficiency still move the real number.

More on KV cache size and on GQA, MQA and MLA.

Work with Qwen2.5 72B Instruct

Other Qwen models