Matériel pour IA locale : mémoire, bande passante et consommation, comment dimensionner
Le 17 décembre 2024, NVIDIA a baissé de 499 à 249 dollars le prix de sa carte de développement Jetson Orin Nano et publié une mise à jour logicielle pour les exemplaires déjà vendus. Aucun composant n'a changé, mais le débit de la mémoire est passé de 65 à 102 Go/s. Selon les mesures du constructeur, un modèle Llama 3.1 de 8 milliards de paramètres y génère depuis 19 tokens par seconde au lieu de 14. L'épisode résume la règle qui gouverne le matériel d'une IA locale : la taille et la vitesse de la mémoire comptent avant la puissance de calcul.
Un modèle de langage est un fichier relu à chaque mot
Un modèle de langage, le type de logiciel qui fait fonctionner ChatGPT ou Le Chat de Mistral, se présente sous la forme d'un fichier qui contient des milliards de nombres. On les appelle paramètres, ou poids : ce sont les valeurs ajustées pendant l'entraînement, qui déterminent la manière dont le modèle enchaîne les mots. Un modèle dit « 8B » en contient 8 milliards.
Chaque nombre occupe une place qui dépend de sa précision. En 16 bits, le format dans lequel la plupart des modèles sont distribués, un paramètre prend deux octets. Huit milliards de paramètres font donc 16 milliards d'octets, soit environ 15 gibioctets (Gio, l'unité binaire qu'affichent les outils). La documentation de llama.cpp, un moteur d'exécution libre très utilisé pour faire tourner des modèles sur des machines ordinaires, indique 14,96 Gio pour Llama 3.1 8B dans ce format.
Pour produire un token, c'est-à-dire un fragment de mot, le modèle lit la quasi-totalité de ces paramètres. Puis il recommence pour le token suivant. Un fichier de 15 Gio est ainsi relu des dizaines de fois par seconde pendant que la réponse s'affiche. Deux conditions en découlent. Le fichier doit tenir en entier dans une mémoire rapide, sans quoi la machine va chercher le reste sur le disque et la vitesse s'effondre. Et le débit de cette mémoire fixe le rythme de la réponse.
Capacité : la mémoire où le modèle doit tenir
Un PC classique dispose de deux mémoires. La mémoire vive, ou RAM, sert au processeur central. La mémoire vidéo, ou VRAM, est soudée sur la carte graphique et sert au processeur graphique, le GPU. La seconde est beaucoup plus rapide, mais plus petite et plus chère. La GeForce RTX 5090, carte grand public la plus haut de gamme de NVIDIA, commercialisée depuis le 30 janvier 2025 à partir de 1 999 dollars, embarque 32 Go de mémoire GDDR7. C'est un plafond : un modèle plus lourd ne tient pas sur une seule carte.
D'autres machines utilisent une mémoire unifiée, une seule réserve partagée par le processeur et le GPU. C'est le cas des puces d'Apple. D'après la fiche technique d'Apple, le Mac Studio se configure jusqu'à 128 Go avec la puce M5 Max et jusqu'à 512 Go avec la M5 Ultra. C'est aussi le principe du DGX Spark de NVIDIA, un boîtier de 15 cm de côté et de 1,2 kg qui réunit 128 Go de mémoire LPDDR5X. NVIDIA le présente comme capable d'exécuter des modèles allant jusqu'à 200 milliards de paramètres.
L'écart devient décisif dès qu'on vise un modèle de taille moyenne. Un modèle de 70 milliards de paramètres compressé autour de 4,9 bits par paramètre pèse environ 43 Go, selon le calcul 70 milliards × 4,9 ÷ 8. Il ne rentre pas dans les 32 Go d'une RTX 5090. Il rentre dans 128 Go de mémoire unifiée en laissant de la place pour le reste.
Bande passante : ce qui fixe la vitesse d'écriture
La bande passante mémoire est le débit auquel la puce lit sa mémoire, exprimé en gigaoctets par seconde. Dans son guide d'optimisation de l'inférence, terme qui désigne l'exécution d'un modèle déjà entraîné, NVIDIA explique que la génération de texte est limitée par la mémoire : la majeure partie du temps passe à transférer les poids et les données intermédiaires vers les unités de calcul, pas à calculer.
On en tire une estimation simple : le nombre maximal de tokens par seconde vaut à peu près la bande passante divisée par le poids du modèle. Le Jetson Orin Nano Super permet de la vérifier. Llama 3.1 8B en 4 bits pèse environ 4,6 Go et la carte lit 102 Go/s, d'où un plafond théorique de 22 tokens par seconde. NVIDIA en mesure 19,1, soit 87 % du plafond. Avant la mise à jour, à 65 Go/s, la mesure était de 14. La vitesse n'a pas suivi exactement le débit (37 % de gain pour 57 % de bande passante en plus), mais la règle donne le bon ordre de grandeur.
Les fiches des constructeurs donnent les débits suivants. Le Jetson Orin Nano Super lit 102 Go/s et le Jetson AGX Orin, en versions 32 et 64 Go, 204,8 Go/s. Le Jetson AGX Thor et le DGX Spark affichent chacun 273 Go/s. Le Mac Studio atteint 460 ou 614 Go/s avec la M5 Max selon la configuration, et 1,2 To/s avec la M5 Ultra. La RTX 5090 monte à 1 792 Go/s, mais sur 32 Go seulement.
Ces chiffres expliquent une déception fréquente. Une machine annoncée avec une forte puissance de calcul mais une mémoire lente écrit lentement. À l'inverse, une machine au calcul modeste et à la mémoire rapide paraît réactive en conversation.
Quantification : moins de bits par paramètre
Si le poids du modèle limite la vitesse, on peut le réduire. La quantification consiste à stocker chaque paramètre sur moins de bits, 8 ou 4 au lieu de 16. Le principe rappelle la compression d'une photo en JPEG : on accepte une perte de précision en échange d'un fichier plus léger.
La documentation de llama.cpp publie des mesures pour Llama 3.1 8B. En 16 bits, le fichier fait 14,96 Gio et la génération atteint 29 tokens par seconde. Au format Q8_0, qui utilise en moyenne 8,5 bits par paramètre, il fait 7,95 Gio pour 51 tokens par seconde. Au format Q4_K_M, à 4,9 bits en moyenne, il tombe à 4,58 Gio et monte à 72 tokens par seconde. Le fichier est divisé par 3,3 et la vitesse d'écriture multipliée par 2,5. La lecture de la question, elle, ralentit un peu, de 923 à 822 tokens par seconde, parce que cette phase dépend du calcul et que la décompression en ajoute.
La perte de qualité existe. Elle est d'autant plus sensible que le modèle est petit et la compression forte. Les formats proches de 4 bits, comme Q4_K_M, sont devenus le compromis le plus courant dans les déploiements locaux. Descendre à 2 ou 3 bits permet de loger un modèle plus gros sur la même machine, avec davantage d'erreurs, ce qu'il faut mesurer sur ses propres tâches avant de l'adopter.
Lire la question et écrire la réponse : deux vitesses distinctes
Un modèle ne manipule pas des mots mais des tokens, des morceaux de texte de quelques caractères. En français, un mot courant correspond à un ou deux tokens. Le travail se fait en deux phases. Le préremplissage lit toute la demande, question et documents joints, en traitant les tokens en parallèle : il dépend surtout de la puissance de calcul. La génération écrit ensuite la réponse un token après l'autre : elle dépend de la bande passante.
Les mesures publiées par les contributeurs de llama.cpp sur les puces Apple font apparaître la différence. Sur Llama 2 7B en 16 bits, une M4 Max à 40 cœurs graphiques lit 923 tokens par seconde et en écrit 32. Une M5 Max de même configuration en lit 3 158 et en écrit 37. La lecture est multipliée par 3,4, l'écriture progresse de 17 %. Entre les deux puces, la bande passante est passée de 546 à 614 Go/s, soit 12 % de plus. L'écriture suit la mémoire, la lecture suit le calcul.
À l'usage, les deux chiffres comptent. Sur une question courte, seule la génération se remarque, et au-delà d'une quinzaine de tokens par seconde le texte s'affiche plus vite qu'on ne le lit. Pour résumer un rapport de 50 pages, que l'on peut estimer à environ 30 000 tokens, c'est le préremplissage qui fait attendre : à 900 tokens par seconde, il faut un peu plus d'une demi-minute avant le premier mot, à 3 000 tokens par seconde une dizaine de secondes.
Le contexte occupe lui aussi de la mémoire
Le contexte est la quantité de texte que le modèle prend en compte à un instant donné : la question, les documents fournis, l'historique de l'échange. Pour ne pas tout recalculer à chaque token, le modèle conserve des résultats intermédiaires pour chaque token déjà lu. C'est le cache clé-valeur, ou KV cache.
Hugging Face en donne la formule et un exemple. Pour Llama 2 7B en 16 bits, chaque token occupe environ 0,5 Mo de cache, si bien que 10 000 tokens représentent près de 5 Go, un tiers du poids du modèle. Le guide de NVIDIA arrive au même ordre de grandeur, environ 2 Go pour 4 096 tokens. Les modèles plus récents réduisent ce coût en partageant une partie de ces données entre les têtes d'attention, une technique appelée grouped-query attention. Avec les caractéristiques publiées de Llama 3.1 8B (32 couches, 8 têtes clé-valeur de dimension 128), la même formule donne environ 0,13 Mo par token, soit 1,3 Go pour 10 000 tokens. Ce dernier chiffre est notre calcul.
Ce cache se multiplie par le nombre de conversations ouvertes. Dix personnes qui travaillent chacune sur un document de 10 000 tokens avec Llama 3.1 8B mobilisent environ 13 Go de cache, en plus des 4,6 Go du modèle. Une machine de 8 Go qui sert ce modèle à une personne ne le servira pas à une équipe. Les moteurs d'exécution récents savent compresser ce cache, comme le décrit Hugging Face, mais le dimensionnement de départ reste celui-là.
CPU, GPU et NPU
Le CPU, ou processeur central, est généraliste. Il effectue peu d'opérations à la fois et fait tourner un petit modèle lentement. Le GPU, conçu pour le rendu graphique, exécute des milliers d'opérations identiques en parallèle, ce qui correspond au calcul d'un réseau de neurones. C'est lui qui exécute aujourd'hui la grande majorité des modèles de langage.
Le NPU, ou unité de traitement neuronal, est un circuit spécialisé dans les opérations des réseaux de neurones et conçu pour consommer peu. Microsoft exige plus de 40 TOPS, soit 40 000 milliards d'opérations par seconde, pour qu'un ordinateur porte l'appellation Copilot+ PC. Sa documentation précise que de nombreux NPU ne traitent que des entiers en basse précision, comme l'INT8, et que les modèles doivent être convertis pour y tourner. Le NPU convient à des tâches légères et continues, comme la traduction en temps réel ou le floutage d'arrière-plan en visioconférence. Pour un modèle de langage, il reste soumis à la bande passante du reste de la puce.
Le chiffre de TOPS se lit donc avec prudence. NVIDIA annonce 67 TOPS pour le Jetson Orin Nano Super en précisant qu'il s'agit de TOPS « sparse », un mode de calcul qui suppose qu'une partie des opérations peut être sautée. En mode dense, le chiffre tombe à 33. Aucun des deux ne dit à quelle vitesse la carte écrira une réponse.
Trois tailles de modèle, plusieurs machines
Les estimations qui suivent appliquent la règle bande passante divisée par poids du modèle. Ce sont des plafonds théoriques calculés par nos soins à partir des fiches constructeurs. La vitesse réelle reste en dessous : sur le Jetson, elle en atteignait 87 %.
Un modèle de 8 milliards de paramètres en 4 bits, environ 4,6 Go, tient sur toutes les machines citées. Le Jetson Orin Nano Super, avec 8 Go de mémoire et une consommation de 7 à 25 W, le fait tourner à 19 tokens par seconde mesurés, avec peu de marge pour le contexte. Une RTX 5090 aurait un plafond proche de 390 tokens par seconde. Pour une personne, la carte embarquée suffit. Pour plusieurs utilisateurs simultanés, c'est la mémoire qui manque avant la vitesse.
Un modèle de 20 à 35 milliards de paramètres pèse de 12 à 21 Go en 4 bits. Il tient sur une RTX 5090 comme sur un Jetson AGX Orin de 64 Go. Sur ce dernier, à 204,8 Go/s, un modèle de 20 Go plafonne autour de 10 tokens par seconde ; sur la RTX 5090, autour de 90.
Un modèle de 70 milliards de paramètres en 4 bits, environ 43 Go, ne tient pas sur une RTX 5090. Sur un DGX Spark à 273 Go/s, son plafond est d'environ 6 tokens par seconde. Sur un Mac Studio M5 Max à 614 Go/s, d'environ 14. Sur une M5 Ultra à 1,2 To/s, d'environ 28. La capacité permet de charger le modèle, la bande passante décide s'il est agréable à utiliser.
Consommation, chaleur et bruit
Toute l'électricité consommée par une machine finit en chaleur. La RTX 5090 a une puissance graphique totale de 575 W, et NVIDIA demande une alimentation d'au moins 1 000 W pour le PC qui l'accueille. C'est l'ordre de grandeur d'un petit radiateur électrique, dont la chaleur est évacuée par des ventilateurs. À l'autre extrémité, le Jetson Orin Nano Super fonctionne entre 7 et 25 W et le Jetson AGX Orin entre 15 et 60 W. Le DGX Spark a une alimentation de 240 W pour une puce de 140 W, et NVIDIA annonce 35 dB(A) en fonctionnement. Apple indique pour le Mac Studio une puissance maximale continue de 480 W.
Sur une année, l'écart se chiffre. Une machine qui consomme 60 W en continu utilise environ 525 kWh par an (60 W × 8 760 heures). À 600 W, c'est environ 5 260 kWh. Ces calculs supposent une charge constante, ce qui surestime la consommation réelle d'une machine souvent au repos, mais ils donnent le facteur dix qui sépare les deux familles.
Le bruit et la chaleur décident de l'endroit où la machine sera installée. Un PC équipé d'une carte de jeu haut de gamme est pensé pour des sessions de quelques heures dans une pièce ventilée. Rangé dans un placard, il réduit sa fréquence pour se protéger, puis s'arrête. Les modules Jetson sont conçus pour des robots et des équipements industriels, avec des plages de puissance fixées par le constructeur et un fonctionnement prolongé. Ce critère pèse peu sur une fiche technique et beaucoup après deux ans d'exploitation.
Dimensionner une machine en quatre calculs
La méthode tient en quatre étapes. On calcule d'abord le poids du ou des modèles retenus : nombre de paramètres multiplié par le nombre de bits par paramètre, divisé par 8. On ajoute le cache de contexte, multiplié par le nombre de conversations simultanées attendues. On compare le total à la mémoire disponible, en gardant une marge pour le système. On divise enfin la bande passante par le poids du modèle pour obtenir le plafond de vitesse, puis on vérifie la consommation et le bruit au regard du lieu d'installation.
Prenons une équipe de dix personnes qui veut un modèle de 30 milliards de paramètres en 4 bits pour travailler sur des documents de 10 000 tokens. Le modèle pèse environ 18 Go. Le cache, selon l'architecture, se situe entre 2 et 5 Go par utilisateur, soit 20 à 50 Go pour l'équipe. Il faut donc une machine de 64 à 128 Go, et, en première approximation, au moins 300 Go/s de bande passante pour dépasser 15 tokens par seconde. Ces chiffres sont des estimations ; seuls des essais sur la machine visée les confirment.
C'est cette grille que HOMN applique pour dimensionner ses boîtiers : partir des modèles et du nombre d'utilisateurs, puis en déduire la mémoire, le débit et l'enveloppe thermique. Une fiche technique qui omet la capacité mémoire ou la bande passante ne permet pas de faire ce calcul, quel que soit le nombre de TOPS affiché.
Combien de mémoire faut-il pour faire tourner un LLM en local ?
Le poids d'un modèle en octets vaut à peu près le nombre de paramètres multiplié par le nombre de bits par paramètre, divisé par 8. Un modèle de 8 milliards de paramètres pèse environ 16 Go en 16 bits et 4,6 Go en 4 bits. Il faut y ajouter le cache de contexte, qui croît avec la longueur des documents et le nombre d'utilisateurs simultanés.
Pourquoi la bande passante mémoire compte-t-elle plus que la puissance de calcul pour un LLM ?
Pour écrire chaque token, le modèle relit la quasi-totalité de ses paramètres en mémoire. La vitesse de génération est donc plafonnée par la bande passante divisée par le poids du modèle. La puissance de calcul compte surtout pour la lecture de longs documents, appelée préremplissage.
Qu'est-ce que la quantification d'un modèle d'IA ?
C'est le stockage des paramètres sur moins de bits, par exemple 4 au lieu de 16. Selon la documentation de llama.cpp, Llama 3.1 8B passe ainsi de 14,96 à 4,58 Gio et de 29 à 72 tokens par seconde sur la machine de test. La qualité baisse légèrement, et davantage sur les petits modèles.
Un PC avec NPU suffit-il pour une IA locale en entreprise ?
Un NPU convient à des tâches légères, comme la transcription ou un petit modèle utilisé par une seule personne. Il partage la mémoire et la bande passante du reste de la puce, ce qui limite la taille et la vitesse des modèles de langage. Pour servir une équipe, la capacité mémoire et le débit priment sur les TOPS annoncés.