Outils
VRAM pour LLM local
Choisissez la taille du modèle, sa quantization et la longueur de contexte : l'outil sépare ce que prennent les poids, le cache KV, les activations et l'overhead du runtime, puis confronte le total aux cartes courantes. Le cache KV est presque toujours la surprise : il grandit linéairement avec le contexte et le nombre de requêtes simultanées, ce qui explique qu'un modèle qui charge en 4K explose en 64K.
Les valeurs ci-dessous viennent du config.json publié de chaque modèle. En modifier une bascule sur une architecture personnalisée.
Milliards de paramètres, experts compris. Détermine le poste des poids et rien d'autre.
num_hidden_layers. Le cache est stocké une fois par couche.
num_key_value_heads, pas le nombre de têtes d'attention. La GQA le réduit à 8 ou moins sur la plupart des modèles récents.
head_dim, en général hidden_size divisé par le nombre de têtes d'attention.
hidden_size. Seul le poste des activations s'en sert.
Octets par paramètre. Q4_K_M est le compromis habituel en local : environ un quart du FP16 pour une perte de qualité que la plupart des gens ne voient pas.
Quantizer le cache est la façon la moins chère d'acheter de la longueur de contexte, et ça coûte en général moins de qualité que de quantizer davantage les poids.
Positions gardées dans le cache. Doublez-la et vous doublez le poste KV, ce qui explique qu'un modèle qui charge en 4K sature en 64K.
Requêtes en vol en même temps. Chacune porte son propre cache, donc servir plusieurs utilisateurs multiplie ce poste pendant que les poids restent partagés.
VRAM totale
6.20 GiB
poids + cache + overhead
Poids
4.34 GiB
70 %
Cache KV
1.00 GiB
16 %
Plus petite carte qui passe
10 GB
RTX 3080 10 GB
- Poids4.34 GiB70.0 %Paramètres multipliés par les octets par paramètre. Fixe pour un checkpoint et une quantization donnés.
- Cache KV1.00 GiB16.1 %Grandit linéairement avec la longueur de contexte et le nombre de séquences. C'est ce qui rend les longs contextes coûteux à servir.
- Activations64.0 MiB1.0 %Tampons transitoires du passage avant, au pic sur le bloc de prefill.
- Overhead du runtime819 MiB12.9 %Contexte CUDA, noyaux et marge de l'allocateur. À peu près constant, autour de 0,8 GiB.
- RTX 3060 12 GB52 %
- RTX 3080 10 GB62 %
- RTX 3090 / Ti 24 GB26 %
- RTX 4060 Ti 16 GB39 %
- RTX 4070 / Super 12 GB52 %
- RTX 4070 Ti Super 16 GB39 %
- RTX 4080 / Super 16 GB39 %
- RTX 4090 24 GB26 %
- RTX 5060 Ti 16 GB39 %
- RTX 5070 12 GB52 %
- RTX 5070 Ti 16 GB39 %
- RTX 5080 16 GB39 %
- RTX 5090 32 GB19 %
Une estimation, pas une garantie. L'usage réel bouge avec le moteur d'inférence, l'implémentation de l'attention, la pagination du cache et la fragmentation de l'allocateur. Gardez une marge d'une dizaine de pour cent avant de conclure qu'un modèle tient.