Outil
Calculateur de VRAM pour LLM
Calculez la VRAM nécessaire pour servir un modèle de langage : poids, KV cache et overhead, en fonction de la quantification, du contexte et du batch. Comparatif avec les GPU courants.
Comment ce calcul est fait
Trois postes additionnés :
- Poids =
params × bits_par_param / 8. La quantification réduit ce poste sans toucher au reste. - KV cache =
2 × layers × kv_heads × head_dim × contexte × batch × octets_dtype. Le facteur 2 vient de K + V. Sur les architectures GQA / MQA, on utilisekv_heads(souvent 8) et non le nombre total de têtes. - Marge runtime = 1 GiB de runtime CUDA fixe + 5 % du poids des poids (estimation prudente pour les buffers d'activations et la fragmentation).
La VRAM annoncée par le constructeur (24 GiB sur une RTX 4090, 80 GiB sur un H100) est la capacité brute. Comptez 1 à 2 GiB de moins en pratique pour le driver, le framework et la mémoire qu'on ne veut pas saturer à 100 % (sinon les allocations cassent sous charge variable).
Pour creuser le sujet du KV cache et de la mémoire à l'inférence, l'article dédié explique pourquoi c'est lui — pas les poids — qui sature la VRAM en premier sur les longs contextes.
Limites
-
Modèles MoE (Mixtral, DeepSeek-V3) : la ligne
paramsreprésente tous les experts, pas seulement ceux activés par token. Le calcul du KV cache reste correct. - Modèles à attention spéciale (MLA de DeepSeek-V3, attention SWA de Mistral) : l'estimation du KV cache surévalue la vraie consommation.
- La VRAM réellement utilisable diffère selon le runtime (vLLM, llama.cpp ou TensorRT-LLM) — PagedAttention récupère 20 à 40 % de fragmentation interne par exemple.