Quelle VRAM pour faire tourner un LLM en localHow much VRAM do you need to run an LLM locally

La question revient à chaque projet d'inférence locale : combien de mémoire vidéo faut-il vraiment ? La réponse tient à trois termes qui s'additionnent, le poids des paramètres du modèle, la mémoire du contexte et une réserve d'exécution. Savoir les estimer permet de dimensionner sans surinvestir ni découvrir la limite en production.The question comes up on every local inference project: how much video memory is really needed? The answer rests on three terms that add up, the weight of the model parameters, the memory of the context, and an execution reserve. Estimating them lets you size correctly without overspending or discovering the limit in production.

Le poids des paramètresThe weight of the parameters

C'est le terme dominant. Il se déduit du nombre de paramètres multiplié par le nombre d'octets utilisés pour en coder un seul. En pleine précision sur seize bits, un paramètre occupe deux octets ; quantifié sur quatre bits, il en occupe environ un demi. En ordre de grandeur, un modèle de sept milliards de paramètres quantifié en quatre bits tient dans environ cinq à six gigaoctets, un modèle de soixante-dix milliards dans environ quarante à quarante-huit.This is the dominant term. It follows from the parameter count multiplied by the number of bytes used to encode one parameter. At full sixteen-bit precision a parameter takes two bytes; quantised to four bits it takes roughly half a byte. As orders of magnitude, a seven billion parameter model quantised to four bits fits in about five to six gigabytes, a seventy billion parameter one in about forty to forty-eight.

  • Seize bits : environ deux octets par paramètre
  • Huit bits : environ un octet par paramètre
  • Quatre bits : environ un demi-octet par paramètre
  • Ces valeurs sont des ordres de grandeur, pas des mesures exactes
  • Sixteen bits: about two bytes per parameter
  • Eight bits: about one byte per parameter
  • Four bits: about half a byte per parameter
  • These are orders of magnitude, not exact measurements

Le contexte et son cacheContext and its cache

À chaque jeton traité, le modèle conserve des états intermédiaires dans un cache qui grandit avec la longueur du contexte et avec le nombre de requêtes traitées en parallèle. Ce terme, souvent négligé lors du dimensionnement, peut devenir considérable sur de longs contextes ou en service partagé. Il explique pourquoi un modèle qui tient en mémoire lors d'un premier test sature dès que plusieurs utilisateurs arrivent.For each token processed, the model keeps intermediate states in a cache that grows with context length and with the number of requests handled in parallel. This term, often overlooked during sizing, can become substantial on long contexts or in shared service. It explains why a model that fits during a first test saturates as soon as several users arrive.

  • Le cache croît avec la longueur du contexte
  • Il croît aussi avec le nombre de requêtes simultanées
  • Un long contexte peut dépasser le poids du modèle lui-même
  • Prévoyez une réserve pour les pics de concurrence
  • The cache grows with context length
  • It also grows with the number of concurrent requests
  • A long context can exceed the weight of the model itself
  • Keep a reserve for concurrency peaks

Répartir sur plusieurs cartes ou pasSplitting across several cards, or not

Quand un modèle ne tient pas sur une seule carte, il peut être réparti sur plusieurs GPU, au prix d'échanges entre cartes qui pèsent sur la vitesse de génération. Une carte unique à grande mémoire reste préférable quand elle suffit. Le déport partiel vers la mémoire système, possible sur certains moteurs, fonctionne mais dégrade fortement le débit puisque la bande passante s'effondre. Partir du modèle visé et du nombre d'utilisateurs permet de dimensionner la machine plutôt que de la surdimensionner.When a model does not fit on a single card, it can be split across several GPUs, at the cost of inter-card exchanges that weigh on generation speed. A single large-memory card remains preferable whenever it suffices. Partial offloading to system memory, supported by some engines, works but heavily degrades throughput since bandwidth collapses. Starting from the target model and the number of users allows the machine to be sized rather than oversized.

  • Une carte unique à grande mémoire simplifie l'exploitation
  • La répartition multi-GPU coûte en échanges entre cartes
  • Le déport vers la mémoire système dégrade fortement le débit
  • La bande passante mémoire conditionne la vitesse de génération
  • A single large-memory card simplifies operations
  • Multi-GPU splitting costs inter-card communication
  • Offloading to system memory heavily degrades throughput
  • Memory bandwidth governs generation speed

Repères de configurationConfiguration guidance

Poids des paramètresParameter weightNombre de paramètres multiplié par les octets par paramètre
Modèle 7B en 4 bits7B model at 4-bitEnviron cinq à six gigaoctets, ordre de grandeur
Modèle 70B en 4 bits70B model at 4-bitEnviron quarante à quarante-huit gigaoctets, ordre de grandeur
Cache de contexteContext cacheCroît avec la longueur de contexte et la concurrence
Réserve d'exécutionExecution reserveMarge pour le moteur et les tampons temporaires
Multi-GPUMulti-GPUPossible, au prix des échanges entre cartes

Repères indicatifs : la configuration finale est validée avec vous selon vos contraintes réelles (charge, budget, environnement).Indicative guidance: the final configuration is validated with you against your real constraints (workload, budget, environment).

Questions fréquentesFrequently asked questions

Oui, l'inférence sur processeur fonctionne et bénéficie de la grande capacité de mémoire système. La vitesse de génération dépend alors surtout de la bande passante mémoire, donc du nombre de canaux peuplés. C'est acceptable pour un usage ponctuel ou par lots, mais rarement satisfaisant pour un service interactif partagé.Yes, CPU inference works and benefits from the large capacity of system memory. Generation speed then depends mainly on memory bandwidth, hence on the number of populated channels. That is acceptable for occasional or batch use, but rarely satisfying for a shared interactive service.
Non, il en faut nettement plus. L'entraînement stocke en plus les gradients et les états de l'optimiseur, ce qui multiplie plusieurs fois l'empreinte des seuls paramètres. Les techniques d'ajustement partiel réduisent considérablement ce besoin en n'entraînant qu'une petite fraction des poids du modèle.No, it needs considerably more. Training additionally stores gradients and optimiser states, which multiplies the footprint of the parameters several times over. Partial fine-tuning techniques greatly reduce that requirement by training only a small fraction of the model weights.
Les outils de supervision du GPU affichent la mémoire occupée en temps réel. La bonne méthode consiste à observer cette valeur sous charge réaliste, avec le contexte et le nombre d'utilisateurs cibles, plutôt qu'au repos. C'est le seul moyen de connaître la marge dont vous disposez avant saturation.GPU monitoring tools display occupied memory in real time. The right method is to observe that value under realistic load, with the target context length and user count, rather than at idle. It is the only way to know how much headroom you have before saturation.

Un besoin précis à chiffrer ?A specific need to quote?

Décrivez votre contexte : nous revenons sous 24 à 72 heures avec une approche et un devis.Tell us your context: we come back within 24-72 hours with an approach and a quote.