La règle des 2 Go par milliard de paramètres

Un paramètre de LLM n’est rien d’autre qu’un nombre. La seule question qui détermine son coût mémoire, c’est : sur combien d’octets le stocke-t-on ? Les modèles sont entraînés et distribués en 16 bits, le format FP16 Floating-Point 16 bits. Format de stockage des nombres sur 2 octets, précision par défaut des poids et activations d'un LLM. Deux variantes coexistent : FP16 (IEEE demi-précision) et BF16 (même portée que le FP32, moins de précision fractionnaire). C'est la référence dont la quantification réduit l'empreinte. ou son cousin BF16, soit 2 octets par paramètre. Le calcul est alors direct : un modèle de 7 milliards de paramètres pèse 7 × 2 = 14 milliards d’octets, soit ~13 Gio de poids. C’est tout ce que dit la fameuse « règle des 2 Go par milliard » : ce n’est pas une approximation empirique, c’est l’arithmétique du format.

Ce qui rend la règle utile, c’est qu’elle se transpose à n’importe quelle précision. Descendre les poids en 8 bits, c’est un octet par paramètre, soit la moitié. En 4 bits, c’est un demi-octet, soit le quart. La quantification Réduction du nombre de bits codant chaque poids d'un modèle (de 16 bits vers 8, 4, voire moins). Elle divise l'empreinte mémoire d'autant, au prix d'une perte de précision contrôlée, sans changer le nombre de paramètres. Approfondir dans le glossaire ne change pas le nombre de paramètres, seulement le nombre de bits qui codent chacun : c’est une multiplication, pas une réécriture du modèle.

Trois postes, pas un seul

La VRAM consommée par un modèle qui sert n’est pas celle du seul fichier de poids. Trois postes s’additionnent, et c’est leur somme qui doit tenir sur la carte :

  • Les poids : fixes, donnés par la règle ci-dessus. C’est le seul poste que la plupart des gens calculent, et c’est pour ça que beaucoup se trompent.
  • Le KV cache : la mémoire de ce que le modèle a déjà lu. Il part de zéro et grandit à chaque token généré, proportionnellement à la longueur de contexte et au nombre de requêtes servies en parallèle. C’est lui, pas les poids, qui sature la VRAM en premier sur les contextes longs.
  • L’overhead : le contexte CUDA Compute Unified Device Architecture. La plateforme de calcul GPU de NVIDIA : langage, compilateur et bibliothèques (cuBLAS, cuDNN). Son écosystème logiciel est le principal verrou face aux alternatives comme ROCm ; à l'exécution, son « contexte » réserve aussi une part incompressible de VRAM. Approfondir dans le glossaire , les tampons d’activation, la fragmentation de l’allocateur. Comptez ~1 Go incompressible, plus quelques pour-cent du volume des poids.

Cette décomposition explique le piège classique : un modèle qui « tient » à VRAM au chargement déborde en cours d’usage. Les poids rentraient ; le KV cache d’un contexte long, lui, n’avait pas été budgété.

Le tableau : ce que pèsent les poids

Avant d’ajouter le reste, il faut savoir ce que coûte le modèle nu. Le tableau ci-dessous applique la règle aux trois tailles les plus courantes, dans les trois précisions de déploiement :

Modèle16 bits (FP16)8 bits (INT8)4 bits
7–8 B≈ 14–16 Go≈ 7–8 Go≈ 4–5 Go
13 B≈ 26 Go≈ 13 Go≈ 8 Go
70 B≈ 140 Go≈ 70 Go≈ 42 Go
Tableau 1 : VRAM des poids seuls, par taille de modèle et précision. 16 bits = 2 octets/paramètre ; 8 bits = 1 octet (arithmétique exacte). 4 bits = Q4_K_M réel : ~4,8 bits/poids soit ~0,6 octet, un peu plus que le quart théorique, à cause des facteurs d'échelle par bloc. Valeurs arrondies à l'ordre de grandeur.

La colonne 4 bits mérite une nuance : un format quantifié ne descend jamais exactement à un demi-octet par paramètre. Les schémas comme GGUF GPT-Generated Unified Format. Format de fichier de llama.cpp qui stocke dans un seul fichier les tenseurs, leurs types de quantification, le vocabulaire et les métadonnées du modèle. Sa structure alignée permet de le lire par mmap : le modèle « démarre » en une fraction de seconde. Approfondir dans le glossaire Q4_K_M stockent, en plus des poids, des facteurs d’échelle par bloc de quelques valeurs : l’encombrement réel tourne autour de 4,8 bits par paramètre, soit ~0,6 octet. C’est pourquoi un 70B « en 4 bits » (Q4_K_M) pèse ~42 Go et non 35 : la différence, ce sont les métadonnées de quantification, et elles ne sont pas optionnelles.

Quelle carte pour quel modèle

En pratique, la VRAM disponible vient par paliers, ceux des cartes du marché. Mettre les paliers en face des modèles donne une grille de décision directe :

VRAMCartes typiquesCe qui tient confortablement
8 GoRTX 4060, cartes d'entrée7–8 B en 4 bits
12–16 GoRTX 4070, RTX 4060 Ti 16G13 B en 4 bits, 7–8 B en 8 bits
24 GoRTX 3090, RTX 4090, RTX 5090 Laptop32 B en 4 bits, 13 B en 8 bits
32 GoRTX 5090 (bureau)32 B en 4 bits (confort) ; 70 B uniquement en ~3 bits (très serré)
48 GoRTX A6000, 2× 24 Go70 B en 4 bits
80 GoH100, A100 80G70 B en 8 bits (contexte modéré) ou en 4 bits (contexte long)
Tableau 2 : Ce qui tient confortablement par palier de VRAM, en laissant de la marge pour le KV cache et l'overhead. « Confortable » = poids + contexte usuel ; « serré » = poids seuls, contexte court.

Deux lectures de ce tableau valent d’être explicitées. La première : le saut de prix entre 24 et 80 Go ne reflète pas un saut de capacité brute proportionnel, mais l’accès aux modèles 70B et aux contextes longs, ce qui est l’enjeu du match entre une RTX 5090 et un H100 pour le LLM local. La seconde : au-delà de 24 Go, l’arbitrage n’est plus seulement « acheter une plus grosse carte », mais « acheter ou louer » : un 70B servi quelques heures par jour coûte souvent moins cher en GPU cloud qu’en matériel amorti. S’y ajoute une voie hors tableau : les SoC à mémoire unifiée type RTX Spark, dont les 128 Go partagés logent un 120 B MoE qu’aucune carte grand public ne tient, au prix d’une bande passante bien moindre.

Réduire la VRAM nécessaire

Quand le modèle visé ne rentre pas, trois leviers existent, par ordre de rendement décroissant.

Le premier, et de loin le plus puissant, c’est la quantification des poids. Passer de 16 à 4 bits divise le poste principal par quatre, ce qui fait tenir un 70B en 4 bits (~42 Go) sur deux cartes grand public, là où ses 140 Go en FP16 imposent plusieurs GPU datacenter. La perte de qualité d’un Q4_K_M bien calibré reste faible sur la plupart des usages ; c’est le compromis le mieux établi de l’inférence locale.

Le deuxième, c’est la gestion du KV cache. Réduire la longueur de contexte maximale, quantifier le cache en FP8 Format à virgule flottante 8 bits. Format de travail polyvalent pour l'inférence (et l'entraînement) sur GPU récents. Divise par 2 l'empreinte mémoire et le débit nécessaires par rapport au FP16, pour une perte de précision marginale sur la plupart des modèles. Approfondir dans le glossaire (un octet par valeur au lieu de deux, soit le double de capacité), ou activer le prefix caching libère exactement la VRAM que les contextes longs réclamaient. Sur une charge à fort contexte, ce levier rend plus de mémoire utile qu’un changement de carte.

Le troisième, c’est l’offloading : déporter une partie des couches en RAM CPU, comme le permet llama.cpp. Il débloque l’exécution d’un modèle trop gros pour la VRAM, mais au prix fort : chaque couche en RAM se paie en allers-retours sur le bus PCIe Peripheral Component Interconnect Express. Le bus qui relie le GPU au CPU et à la RAM. Sa bande passante (quelques dizaines de Go/s) est un à deux ordres de grandeur sous celle de la VRAM, ce qui fait du transfert hôte↔GPU un goulot dès qu'on déporte des données hors de la carte. , et le débit s’effondre. C’est une solution de dernier recours, pas de dimensionnement.

Conclusion

La question « combien de VRAM pour un LLM ? » a une réponse arithmétique pour les poids, deux gigaoctets par milliard divisés par la précision, mais la vraie question de dimensionnement est ailleurs. Ce n’est pas « le modèle rentre-t-il ? », c’est : quelle longueur de contexte et quel niveau de concurrence dois-je absorber, et combien de VRAM reste-t-il pour les héberger une fois les poids posés ? Une fois les gigaoctets connus, le choix de la carte elle-même se déroule dans notre guide : quel GPU pour un LLM en 2026.

Sources et méthode

La règle des 2 octets par paramètre en 16 bits est un fait : elle découle des formats IEEE 754 demi-précision (FP16) et bfloat16, tous deux codés sur 16 bits. Le surcoût des formats 4 bits (~4,8 bits par paramètre effectifs pour Q4_K_M, soit ~42,5 Go pour un 70B) est mesuré sur les schémas GGUF k-quants : voir la documentation llama.cpp sur la quantification et les tailles de fichiers GGUF publiées sur Hugging Face. Les tailles du Tableau 1 sont des ordres de grandeur calculés à partir de la règle ; les valeurs exactes varient de quelques pour-cent d’un modèle à l’autre (têtes partagées, tied embeddings). Les paliers du Tableau 2 reposent sur les capacités VRAM publiées des cartes citées (RTX 4060/4070/4090/5090, RTX 3090, A6000, A100/H100) ; « confortable » est une estimation intégrant une marge usuelle pour le KV cache et l’overhead, pas une garantie : le contexte et le batch réels décident. Le dimensionnement du KV cache et de l’overhead est détaillé dans l’article dédié au KV cache. Taux de conversion non applicable (aucun prix dans cet article).

Crédit image. Photo d’en-tête : PCB de NVIDIA GeForce GTX 780 par GBPublic_PR, CC BY 2.0, via Wikimedia Commons, recadrée sur le die et sa couronne de puces mémoire.