📖

Qu'est-ce que Quantification ?

La quantification en IA est une technique de compression de modèle qui réduit la précision numérique des poids et des activations afin que les réseaux de neurones s'exécutent plus rapidement et utilisent moins de mémoire, souvent avec une perte de précision minimale.

La quantification en IA est une technique de compression de modèle qui réduit la précision numérique des poids et des activations d'un réseau de neurones. Au lieu de stocker chaque paramètre sous forme de nombre à virgule flottante sur 32 bits, les modèles quantifiés utilisent des formats en 8 bits, 4 bits, ou même moins. Comme la mémoire et la puissance de calcul évoluent proportionnellement au nombre de bits, ce simple changement peut réduire la taille d'un modèle de 2 à 8x et accélérer l'inférence, rendant ainsi possible l'exécution de grands modèles sur des téléphones, ordinateurs portables, navigateurs et appareils embarqués.

Comment fonctionne la quantification

Chaque poids est à l'origine un nombre réel précis, mais cette précision est rarement nécessaire. La quantification associe la plage de valeurs d'origine à un ensemble plus restreint de niveaux représentables. Dans la quantification post-entraînement (PTQ), un modèle entièrement entraîné est converti une seule fois, généralement en mettant à l'échelle les poids flottants pour qu'ils s'intègrent dans une plage d'entiers plus restreinte. Une simple correspondance linéaire de la forme quantized = round(weight / scale) + zero_point fait l'essentiel du travail, et les mêmes scale et zero_point sont utilisés pour déquantifier les sorties en flottants pendant l'inférence.

Par exemple, un entier sur 8 bits ne peut représenter que 256 valeurs distinctes, donc une couche dont les poids couvrent à l'origine [-1.0, 1.0] en float32 doit les regrouper en 256 paliers régulièrement espacés. Plus ces paliers sont ajustés à la distribution réelle des poids, moins la perte de précision est importante. Pour de meilleurs résultats, la quantification-aware training (QAT) simule les erreurs d'arrondi pendant le fine-tuning afin que le modèle s'adapte au bruit, récupérant souvent presque toute la précision d'origine.

Pourquoi c'est important

La quantification permet à un modèle doté de plusieurs milliards de paramètres de tenir dans quelques gigaoctets de RAM et de répondre en moins d'une seconde sur un CPU d'ordinateur portable. Elle réduit la consommation d'énergie, diminue les coûts serveur et débloque l'IA sur appareil pour les cas d'usage sensibles à la confidentialité ou hors ligne. Elle interagit également avec le matériel : les GPU, NPU et CPU modernes intègrent des unités matricielles dédiées INT8 et INT4, de sorte qu'un modèle quantifié peut s'exécuter plusieurs fois plus rapidement que le même modèle en float32.

Principaux types

  • Quantification post-entraînement (PTQ) : Convertit un modèle déjà entraîné. Option la moins coûteuse, légère perte de précision.
  • Quantification-aware training (QAT) : Simule la quantification pendant l'entraînement afin que les poids s'adaptent. Meilleure précision, nécessite plus de calcul.
  • Quantification dynamique : Conserve les poids en basse précision mais calcule les activations à la volée. Utile pour les modèles NLP avec des longueurs de séquence variables.
  • Quantification des poids uniquement : Stocke les poids en 4 bits ou moins, en les déquantifiant à la volée. Courant pour servir les grands modèles de langage.
  • GPTQ, AWQ, GGUF : Algorithmes et formats de fichiers populaires pour la quantification LLM en 4 bits qui appliquent différents schémas pour préserver la précision.

La quantification est devenue une étape par défaut dans le pipeline de déploiement IA. Des outils comme torch.quantization de PyTorch, NVIDIA TensorRT et ONNX Runtime intègrent ces techniques dans les stacks de production, permettant aux équipes d'échanger une faible perte de précision contre des gains substantiels en vitesse, mémoire et coût.

Questions fréquemment posées

Does quantization reduce AI accuracy?
It can, but usually only slightly. Aggressive quantization to 4-bit can cause noticeable drops on harder tasks, while 8-bit quantization typically preserves accuracy within about 1% of the original model. Quantization-aware training helps recover most of any lost accuracy.
What is the difference between quantization and pruning?
Quantization reduces the precision of each individual number, while pruning removes entire weights or neurons that contribute little. They are complementary compression techniques, and combining them can yield even smaller, faster models.
Why is 4-bit quantization popular for LLMs?
Large language models have billions of parameters, so halving the bit width roughly halves memory use and often lets a model that needs an 80GB GPU run on a single 24GB consumer GPU. Methods like GPTQ, AWQ, and GGUF tune the quantization to preserve quality at 4 bits.
Can quantization be undone?
No. Quantization is a lossy mapping, so original full-precision weights cannot be perfectly recovered. However, the dequantized values used at inference time are close enough that downstream outputs are usually indistinguishable from the original model.