Pourquoi descendre en précision
L’inférence LLM est limitée par la mémoire avant de l’être par le calcul : à chaque token généré, le GPU relit l’intégralité des poids depuis la HBM High Bandwidth Memory. Mémoire empilée en couches, soudée à proximité immédiate du GPU, avec une bande passante de plusieurs To/s (contre ~50 Go/s pour de la DDR5). Indispensable au-delà d'une certaine taille de modèle. Approfondir dans le glossaire et l’ensemble du KV cache Mémoire des vecteurs clé et valeur déjà calculés pour chaque token traité par un LLM. Évite de recalculer l'attention sur tout l'historique, au prix d'une consommation mémoire qui croît avec le contexte. Approfondir dans le glossaire empilé depuis le début de la requête. Réduire le nombre de bits par valeur agit donc directement sur les deux variables qui décident du débit. Moins de bits, c’est moins d’octets à lire (donc plus de tokens par seconde sur une bande passante donnée) et moins de mémoire occupée (donc des modèles plus gros ou des batches plus larges sur la même VRAM). Passer un poids de 16 à 4 bits, c’est diviser par quatre le volume à transférer pour chaque token.
Il y a trois ans, la conversation tournait autour de l’INT8 et du « 4 bits » entier façon GPTQ, une optimisation logicielle qui s’arrangeait avec les unités INT8 du matériel existant. En 2026, elle tourne autour d’une famille de formats à virgule flottante que le silicium sait calculer nativement, sans bricolage logiciel intermédiaire.
FP, INT, et la différence qui compte
Un format entier (INT8) répartit ses bits uniformément le long d’une plage fixe : 256 valeurs régulièrement espacées entre un minimum et un maximum. C’est efficace quand les valeurs à représenter sont bien réparties dans cet intervalle, désastreux dès qu’apparaît une valeur très en dehors : elle sature, ou écrase toutes les petites par effet de quantification.
Un format à virgule flottante ( 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 , FP6, FP4 Format à virgule flottante 4 bits, frontière 2026 de l'inférence à haut débit. Quatre fois moins de mémoire que le FP16, mais une portée dynamique très étroite : ne tient qu'avec un scaling fin via formats à blocs (MXFP4, NVFP4). Approfondir dans le glossaire ) découpe ses bits autrement : une partie sert d’exposant (qui code l’ordre de grandeur), le reste sert de mantisse (qui code la précision dans cet ordre de grandeur). On sacrifie de la précision locale pour gagner de la portée dynamique : la capacité à représenter à la fois 10⁻⁵ et 10⁵ dans le même format, là où un INT8 devrait choisir.
Cette différence est ce qui fait pencher la balance pour les LLM modernes. Leurs activations ont une distribution à longue traîne : une poignée de valeurs énormes (les outliers qu’on retrouve dans les couches d’attention), beaucoup de petites concentrées près de zéro. Un format flottant encaisse cette distribution ; un entier la déforme. La question n’est donc plus « FP ou INT » mais : combien de bits, et comment les répartir entre exposant et mantisse.
Le paysage 2026 : FP8, FP6, FP4
| Format | Bits | Matériel | Usage typique |
|---|---|---|---|
| FP8 (E4M3 / E5M2) | 8 | Hopper, Ada, Blackwell, MI300+ | Polyvalent : entraînement + inférence |
| FP6 / MXFP6 | 6 | Blackwell, série MI350 | Inférence, meilleure précision que FP4 |
| FP4 / MXFP4 / NVFP4 | 4 | Blackwell, série MI350 | Inférence à débit maximal |
Le FP8 est le format de travail polyvalent : assez précis pour tenir l’entraînement comme l’inférence, supporté largement depuis Hopper. Le FP6 et le FP4 sont des formats d’inférence dont la prise en charge native dans les Tensor Cores Unités matérielles spécialisées dans les multiplications de matrices à basse précision, introduites par NVIDIA avec Volta (2017). Chaque génération ajoute des formats supportés : FP16 → FP8 (Hopper) → FP6/FP4 (Blackwell). Ce sont elles qui exécutent l'essentiel du calcul d'inférence. Approfondir dans le glossaire est arrivée avec les GPU Blackwell et la série MI350 d’AMD. Les Hopper (H100, H200) n’ont pas de FP4 : leur plancher matériel est le FP8, et c’est l’un des écarts structurels qui séparent une carte de 2024 d’une carte de 2025.
Faire du FP4 sur Hopper reste possible, en logiciel, par dé-quantification au vol vers FP8. Mais on ne gagne ni le débit (les unités calculent en FP8) ni la vraie pression mémoire (le format de calcul reste FP8). C’est pour cela que le « FP4 supporté » d’une fiche technique mérite d’être lu : natif ou émulé change tout.
Les formats à blocs : MXFP4 et NVFP4
Tenir un poids en 4 bits paraît absurde au premier abord : 4 bits, c’est 16 valeurs possibles. Pour un tenseur dont les éléments peuvent varier sur plusieurs ordres de grandeur, ces 16 paliers seraient soit trop écartés pour distinguer les petites valeurs, soit trop resserrés pour couvrir les grandes. C’est précisément la limite que le microscaling (les formats à blocs) contourne.
Le mécanisme s’apparente à la virgule fixe à échelle dynamique des DSP audio ou des chaînes d’acquisition : peu de bits utiles par échantillon, mais un facteur d’échelle commun qui déplace la fenêtre de quantification pour suivre l’amplitude réelle du signal. Le microscaling fait pareil sur des tenseurs de poids : 4 bits de valeur locale par élément, plus un exposant partagé qui dit à quelle échelle absolue lire ces 4 bits. Sur un bloc dont toutes les valeurs sont petites, l’échelle se contracte et les 16 niveaux disponibles couvrent finement la plage utile ; sur un bloc dominé par un outlier, elle se dilate pour ne pas saturer. Chaque bloc est quantifié dans la fenêtre la mieux adaptée à ses propres extrêmes, sans payer plus que 4 bits par valeur, plus une poignée de bits pour l’échelle.
Le coût mémoire de cette échelle partagée est ce qui rend l’affaire viable. En MXFP4 Microscaling FP4. Format à blocs où 32 valeurs FP4 partagent un facteur d'échelle commun. C'est ce facteur d'échelle partagé qui permet de tenir en 4 bits sans effondrer la précision. La variante NVFP4 de NVIDIA utilise des blocs plus fins (16 valeurs). Approfondir dans le glossaire , on a 32 valeurs à 4 bits (128 bits) plus une échelle codée sur 8 bits, soit 4,25 bits par valeur en moyenne, contre 16 pour FP16. Le facteur de compression est de 3,76× sur le brut, et l’on récupère presque toute la portée dynamique du FP16 à l’intérieur de chaque bloc. NVFP4 prend une dose supplémentaire de précision en réduisant les blocs à 16 valeurs : l’échelle pèse alors plus relativement (8 bits pour 64 bits de mantisses, soit 4,5 bits par valeur), mais on s’adapte plus finement aux variations locales. Sur un bloc traversé par un outlier, c’est ce qui sépare un modèle qui tient à moins de 1 % de perte d’un modèle qui dérive.
Cette séparation de la valeur (4 bits, fine mais sans portée propre) et de l’échelle (partagée, qui apporte la portée) ne marche que si elle est appliquée gratuitement à chaque matmul Multiplication de matrices, l'opération dominante des couches d'un réseau de neurones. Quand on dit qu'un GPU « calcule », il fait à 90 % des matmul. . C’est précisément ce que le moteur Transformer de 2ᵉ génération de Blackwell implémente dans le silicium : un scaling micro-tensoriel câblé directement dans les Tensor Cores, qui multiplie les blocs FP4 et applique l’échelle au passage sans cycle d’instruction supplémentaire. Le résultat se mesure : le débit FP4 de B200 est de l’ordre de 4× le débit dense FP8 de Hopper, et le ratio se retrouve presque inchangé en bout de chaîne sur des charges d’inférence réelles, parce qu’il n’y a aucune opération logicielle à payer entre les multiplications.
Le compromis : portée dynamique vs débit
Rien n’est gratuit. Descendre en précision rétrécit la portée dynamique à l’intérieur d’un bloc, et un format mal calibré (blocs trop gros, échelle moyenne au lieu d’extrémale, calibration sur un échantillon non représentatif) dégrade le modèle de façon visible. Le résultat, quand le scaling est fin et la calibration soignée, est meilleur que l’intuition ne le suggère.
La règle pratique tient en une palette, pas en un classement. FP4 pour le débit maximal quand la tâche tolère la calibration et qu’on a le temps de la faire. FP6 quand on veut une marge de précision sans repasser au FP8 : il économise ≈1,33× sur la mémoire vs FP8 (6 bits contre 8), tout en restant au-dessus du FP4. FP8 quand le doute subsiste, qu’il faut un format unique entraînement + inférence, ou que le matériel ne calcule pas FP4 nativement.
Ce que ça change concrètement
Pour qui dimensionne une inférence, trois conséquences.
D’abord, le format n’est utile que si le matériel le calcule nativement. Faire du FP4 « logiciel » sur un GPU sans unités FP4, un H100 par exemple, ne donne ni le débit (les unités calculent en FP8) ni la véritable pression mémoire (les poids doivent être dé-quantifiés au vol, ce qui annule une partie du gain). D’où l’importance de connaître le plancher de précision réel de sa puce avant d’écrire le pipeline d’inférence.
Ensuite, le gain mémoire du FP4 se cumule avec celui du KV cache quantifié. Poids en FP4 (÷4 vs FP16), cache en FP8 (÷2 vs FP16), et la VRAM utile double presque par rapport à un déploiement FP16 classique, ce qui se traduit en pratique par un doublement de la longueur de contexte tenable, ou un doublement du nombre de requêtes simultanées sur la même carte. Pour situer ces gains parmi tous les leviers (poids, cache, architecture), voir la carte des techniques pour réduire la VRAM d’un LLM.
Enfin, la calibration n’est pas optionnelle. Elle consiste à passer un jeu représentatif d’activations à travers le modèle pour estimer, par couche, la distribution réelle des valeurs, et donc le facteur d’échelle approprié pour chaque bloc. C’est ce qui sépare un FP4 à moins de 1 % de perte d’un FP4 qui casse le modèle, et c’est un coût d’ingénierie qu’il faut budgéter dès le départ.
Conclusion
La question qui s’ouvre n’est plus « jusqu’où peut-on descendre » mais « jusqu’où descendra-t-on dans les deux prochaines générations ». Les travaux sur FP2 et la quantification par paire (deux poids partagent une représentation) circulent déjà dans la littérature ; la prochaine bataille matérielle se jouera sur la qualité du scaling (taille de bloc, précision de l’échelle, schémas mixtes par couche) plutôt que sur le nombre de bits tout court. La vraie ligne de fracture, pour qui choisit son matériel en 2026, n’est donc pas « quel format mon GPU supporte » mais « quel sera son plancher de précision dans dix-huit mois face à un B300 ou un MI400 qui auront poussé d’un cran de plus ».
Pour la mise en œuvre côté logiciel, voir la quantification dans llama.cpp.
Sources et méthode
Formats FP8/FP6/FP4 et support matériel : documentation publique NVIDIA sur l’architecture Blackwell et le moteur Transformer de 2ᵉ génération, introduction au NVFP4, et annonces AMD série MI350 (support natif MXFP6/MXFP4). Spécification primaire du FP8 : Micikevicius, Stosic et al., « FP8 Formats for Deep Learning », arXiv:2209.05433, septembre 2022. Les formats à blocs (microscaling, blocs de 32 pour MXFP4, blocs de 16 pour NVFP4) suivent les spécifications publiques de ces formats ; voir la OCP Microscaling (MX) Formats Specification v1.0, Open Compute Project, 2023. Le chiffre « perte < 1 %, mémoire ÷ ~3,5 » est rapporté par NVIDIA pour le NVFP4 sur certains modèles : c’est une estimation crédible dépendante du modèle et de la calibration, pas une garantie universelle. Tout est relevé au 14 mai 2026.