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.