Qwen2.5 0.5B Instruct: how much VRAM does it need?
Qwen2.5 0.5B Instruct has 494.0M parameters in 24 layers. It uses grouped-query attention: 14 query heads share 2 key-value heads, so its KV cache is 7× smaller than full multi-head attention would need. It takes up to 32,768 tokens of context; one user at that length needs 384 MiB of KV cache at FP16 on top of the weights.
942 MiB of weights, 96 MiB of KV cache and 860 MiB of vLLM's overhead. At INT4 the same workload needs 1.36 GiB.
- 24 layers
- hidden 896
- 14/2 heads
- head_dim 64
- 32k max context
Qwen2.5 0.5B Instruct memory by precision and context
| Precision | 8k context | 32k context |
|---|---|---|
| BF16 | 1.85 GiBKV cache 96 MiB | 2.13 GiBKV cache 384 MiB |
| FP8 | 1.52 GiBKV cache 96 MiB | 1.80 GiBKV cache 384 MiB |
| INT4 | 1.36 GiBKV cache 96 MiB | 1.65 GiBKV cache 384 MiB |
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
- BF16 (1.85 GiB): RTX 3060, NVIDIA T4, RTX 4060 Ti 16GB, RTX 4070 Ti Super
- FP8 (1.52 GiB): RTX 3060, NVIDIA T4, RTX 4060 Ti 16GB, RTX 4070 Ti Super
- INT4 (1.36 GiB): RTX 3060, NVIDIA T4, RTX 4060 Ti 16GB, RTX 4070 Ti Super
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
| GPU | BF16 | FP8 | INT4 |
|---|---|---|---|
| RTX 4090 | 213 | 216 | 218 |
| RTX 5090 | 289 | 292 | 294 |
| RTX 6000 Ada | 447 | 450 | 452 |
| H100 SXM 80GB | 752 | 756 | 758 |
| RTX PRO 6000 Blackwell | 908 | 911 | 913 |
| AMD Ryzen AI Max+ 395 (128GB) | 918 | 921 | 923 |
| H200 141GB | 1,347 | 1,351 | 1,352 |
| B200 180GB | 1,720 | 1,724 | 1,726 |
Users at 8k context each, on one card. ✗: the weights leave no room for even one.
Fine-tuning Qwen2.5 0.5B Instruct
| Method | Memory | Smallest GPU |
|---|---|---|
| Full fine-tune | 8.44 GiB | RTX 3060 |
| LoRA (rank 16, attention) | 2.03 GiB | RTX 3060 |
| QLoRA (rank 16, attention) | 1.35 GiB | RTX 3060 |
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 0.5B Instruct that is 12.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 0.5B Instruct
- Size it for your workload
- Fine-tuning memory
- vLLM parameters
- Model anatomy
- Its config.json, explained
- What its files say about serving it