Quantification en IA : ce qui change quand on réduit la précision numérique
01

Définition en une phrase

Reducción de la precisión numérica de pesos o activaciones para usar menos memoria y acelerar la inferencia.

02

Définition : représenter les nombres avec moins de niveaux

En IA, la quantification consiste à représenter des valeurs numériques au moyen d’un ensemble de niveaux plus restreint que celui de la représentation d’origine. Dans un réseau neuronal, ces valeurs peuvent être des poids, des activations intermédiaires ou des éléments du cache de clés-valeurs (KV) d’un modèle de langage. Réduire le nombre de niveaux peut diminuer la mémoire nécessaire et, si le logiciel et le matériel exécutent efficacement les opérations concernées, réduire également le coût ou le temps de calcul.

Cette définition décrit une transformation numérique ; elle ne garantit pas à elle seule qu’un modèle occupera une fraction précise de sa taille initiale, qu’il s’exécutera plus vite ou que sa qualité restera intacte. Le résultat dépend des composants quantifiés, de leur encodage et de l’implémentation qui les exploite. Dire qu’un modèle est « en 4 bits » donne donc une information incomplète, et non une prédiction de ses performances.

Cette fiche distingue deux questions : quelles valeurs sont transformées et comment elles sont associées aux niveaux disponibles. La première détermine la portée de la quantification ; la seconde définit la représentation et l’erreur éventuelle. Pour approfondir le vocabulaire associé, consultez les entrées du glossaire sur la quantification, l’inférence, les modèles locaux et LoRA, ainsi que la section de comparaison.

03

Comment fonctionne le mappage

Dans une quantification linéaire, une échelle relie les niveaux entiers aux valeurs du domaine d’origine. De nombreux schémas utilisent aussi un point zéro, qui indique quel code entier représente le zéro réel ; ce point peut être important, par exemple lorsque les valeurs ne sont pas réparties symétriquement autour de zéro. Le processus comporte souvent un arrondi et, si une valeur se trouve hors de l’intervalle représentable, un écrêtage au niveau extrême disponible. Lors de la reconstruction, l’échelle et le point zéro permettent de retrouver une approximation dans le domaine d’origine.

Il n’existe pas de convention unique pour toutes les méthodes. Certains formats utilisent des échelles et des points zéro ; d’autres s’appuient sur des codes ou des niveaux non uniformes. Échelle, zéro et code de quantification sont donc des notions liées, mais non interchangeables : elles décrivent des éléments différents de la représentation. Le choix des paramètres, des intervalles et des groupes de valeurs peut lui aussi varier.

Les éléments qui décrivent une quantification

Ces termes désignent différentes décisions prises dans le cadre d’un schéma de quantification.

ÉlémentCe qu’il décritPourquoi c’est important
Nombre de bitsLe nombre de bits qui encodent chaque valeur dans une partie donnée du modèle.Il limite les codes disponibles, mais ne résume pas tous les coûts de stockage.
ÉchelleLa relation entre les codes et les valeurs réelles.Elle influe sur la résolution et l’erreur de reconstruction.
Point zéroLe code qui représente le zéro réel dans certains schémas linéaires.Il peut permettre de représenter des intervalles non symétriques.
GranularitéLe partage des paramètres à l’échelle d’un tenseur, d’un canal ou d’un bloc.Elle modifie l’adaptation de la représentation et la quantité de métadonnées.
CalibrationLa procédure et les données utilisées pour estimer les paramètres ou les intervalles.Le résultat peut dépendre du caractère représentatif de ces données.
04

Ce que signifie — et ne signifie pas — le nombre de bits

Avec b bits, on peut encoder au maximum 2 puissance b motifs distincts. Un schéma en 4 bits offre donc jusqu’à 16 codes possibles par valeur. Mais le nombre de codes ne détermine pas, à lui seul, quelles valeurs ils représentent, quelle précision effective est obtenue ni quelle sera la taille totale du modèle. La répartition des niveaux et l’utilisation de métadonnées, comme les échelles et les points zéro, comptent également.

Le stockage réel peut inclure des informations auxiliaires et des structures de compactage, en plus des valeurs quantifiées. Par ailleurs, un modèle en cours d’exécution a besoin de mémoire pour des éléments qui ne sont pas nécessairement quantifiés de la même façon, comme les activations, le cache KV, les tampons du programme ou d’autres composants de l’environnement d’exécution. La proportion du modèle qui conserve une précision supérieure modifie elle aussi le total.

La vitesse ne se déduit pas davantage du seul nombre de bits. Pour obtenir une accélération, le matériel, les noyaux de calcul et l’environnement d’exécution doivent prendre efficacement en charge la représentation et les opérations concernées. Dans certains environnements, la conversion ou l’accès aux données peut ajouter des coûts ; dans d’autres, le volume de données réduit peut être un avantage. La comparaison utile est empirique et doit être menée dans l’implémentation visée.

05

Quelles parties d’un modèle peut-on quantifier ?

La quantification des poids transforme les paramètres appris du réseau. C’est une option courante pour réduire l’espace de stockage des modèles chargés à des fins d’inférence. Elle ne signifie pas que l’ensemble du modèle est quantifié : les activations produites pendant le calcul peuvent conserver une autre précision.

La quantification des activations représente avec moins de niveaux les valeurs intermédiaires qui circulent dans le réseau. Elle peut être combinée à la quantification des poids, mais ce n’est pas obligatoire. SmoothQuant étudie, par exemple, la quantification après entraînement des poids et des activations dans les grands modèles de langage. Les résultats publiés concernent cette méthode et ses évaluations ; ils ne constituent pas une garantie pour tous les modèles ou tous les appareils.

Dans les modèles de langage qui génèrent du texte, le cache KV stocke des informations intermédiaires associées aux jetons déjà traités. Quantifier ce cache est différent de quantifier les poids : un autre composant de la mémoire est concerné et les effets sur l’inférence peuvent différer. Le travail KVQuant porte spécifiquement sur la quantification du cache KV et montre pourquoi il est utile de préciser ce qui est transformé.

Pour décrire une configuration de manière reproductible, évitez les expressions comme « modèle quantifié » si elles ne précisent pas ce qui a été quantifié. Il convient de distinguer au minimum les poids, les activations et le cache KV, et d’indiquer si les éléments non mentionnés conservent une précision supérieure.

Composants et questions pratiques

Ce tableau aide à préciser la portée d’une configuration ; il ne signifie pas que toutes les méthodes quantifient les trois composants.

ComposantCe qui est représenté avec moins de niveauxQuestion à examiner
PoidsLes paramètres appris.Quelle mémoire les poids occupent-ils et quelle précision conservent-ils ?
ActivationsLes valeurs intermédiaires produites pendant le calcul.Quelles opérations et quelles couches sont concernées, et quel est l’impact sur la tâche ?
Cache KVL’état stocké pour la génération de séquences.Comment l’utilisation de la mémoire et le comportement évoluent-ils dans le contexte évalué ?
06

Quand quantifier : PTQ et QAT

La quantification après entraînement, appelée PTQ d’après l’anglais, est appliquée une fois le modèle entraîné. Selon la méthode, elle peut utiliser des données de calibration pour estimer des intervalles ou d’autres paramètres de quantification. Ces données ne servent pas nécessairement à réentraîner tous les poids : elles aident à configurer le mappage. Le choix des données de calibration et leur caractère représentatif peuvent donc influer sur le résultat.

La quantification consciente de l’entraînement, ou QAT, intègre pendant l’entraînement une simulation ou une prise en compte des effets de la quantification, afin que le modèle puisse s’y adapter. Les travaux de Jacob et de ses collaborateurs présentent une méthode de quantification et d’entraînement visant l’inférence avec arithmétique entière. PTQ et QAT diffèrent par le moment et la procédure employés ; rien ne permet d’affirmer que l’une est toujours supérieure à l’autre. Le choix dépend du réseau, de l’objectif et du processus disponible.

La granularité compte également. Un schéma peut partager les paramètres de quantification dans un tenseur entier, utiliser des paramètres par canal ou regrouper les valeurs par blocs. Une granularité plus locale peut mieux représenter les différences de distribution entre les valeurs, mais elle a aussi ses coûts et ses exigences. Deux configurations affichant le même nombre nominal de bits, mais une granularité différente, ne doivent pas être considérées comme équivalentes.

Lire une configuration quantifiée

Avant de comparer deux résultats, identifiez les composants et les conditions décrits. Si une information importante manque, consignez-la comme une incertitude au lieu de la déduire du nombre de bits.

  1. 01Indiquer s’il s’agit de PTQ ou de QAT et, le cas échéant, quelles données de calibration ont été utilisées.
  2. 02Préciser si les poids, les activations, le cache KV ou une autre partie ont été quantifiés, et quels éléments ont été exclus.
  3. 03Consigner le nombre de bits, le type de représentation, la granularité et les métadonnées pertinentes.
  4. 04Distinguer la mémoire occupée par les poids de la mémoire totale nécessaire à l’exécution.
  5. 05Mesurer la qualité et les performances sur la tâche, le matériel et l’environnement d’exécution auxquels le modèle est destiné.
07

Trois exemples d’application

Les exemples suivants illustrent différents usages de la quantification ; ils ne constituent ni des recommandations de formats ni des promesses de résultats. Dans chaque cas, l’effet doit être vérifié avec le modèle, l’implémentation et les conditions réelles d’utilisation.

blocks

08

Notions proches à ne pas confondre

L’élagage supprime ou réduit des connexions, des poids ou des structures afin d’obtenir un réseau plus creux ou plus compact. La quantification, elle, modifie la représentation numérique des valeurs conservées. Certaines méthodes combinent ces deux approches, mais elles ne correspondent pas au même procédé.

La distillation transfère le comportement d’un modèle enseignant vers un modèle étudiant au moyen d’un processus d’entraînement. Elle peut produire un modèle plus petit, mais son mécanisme n’est pas le mappage des valeurs vers un nombre inférieur de niveaux. Un réseau distillé peut ensuite aussi être quantifié : ces décisions sont compatibles, mais distinctes.

LoRA est une technique d’ajustement fin qui ajoute des adaptateurs de faible rang pour modifier le comportement du modèle. QLoRA associe l’ajustement de ces adaptateurs à une base quantifiée. LoRA n’est donc pas un format de quantification, et QLoRA ne désigne pas n’importe quel modèle en faible précision.

INT4 désigne généralement une représentation entière sur quatre bits, tandis que NF4 est un type de données sur quatre bits proposé dans les travaux sur QLoRA pour représenter les valeurs des poids. Ces noms ne sont pas interchangeables : ils désignent des représentations différentes. En outre, la largeur nominale des données ne suffit pas à décrire l’implémentation, le compactage ou le coût total.

Enfin, réduire la précision n’est pas la même chose que passer d’un format flottant à un autre sans changer l’objectif du format. Les formats à précision réduite peuvent avoir des plages et des propriétés différentes. « Précision plus faible » est une description générale, tandis que « quantification » désigne un processus de mappage qu’il faut préciser.

Les différences en une phrase

Ces catégories peuvent être combinées dans un même processus, mais elles décrivent des opérations différentes.

TermeOpération principale
QuantificationReprésenter les valeurs avec moins de niveaux.
ÉlagageSupprimer ou réduire des parties du réseau.
DistillationEntraîner un modèle étudiant à partir des signaux d’un modèle enseignant.
LoRAAjuster un modèle au moyen d’adaptateurs de faible rang.
QATEntraîner en tenant compte des effets de la quantification.
09

Limites, erreurs fréquentes et critères pratiques

L’erreur de quantification apparaît lorsqu’une valeur d’origine ne correspond exactement à aucun niveau représentable. L’ampleur et la répartition de ces erreurs peuvent influer sur la sortie du réseau, et toutes les couches ou toutes les tâches ne sont pas nécessairement affectées de la même manière. Une évaluation pertinente doit examiner le comportement important pour l’application, et pas seulement une métrique générique ou l’étiquette du format.

Une erreur fréquente consiste à supposer qu’un nombre de bits plus faible garantit une réduction proportionnelle de la mémoire. Les métadonnées, le compactage, les parties conservées à une précision supérieure et la mémoire d’exécution modifient le total. Une autre erreur consiste à conclure que moins de bits accélèrent toujours l’inférence : si l’environnement d’exécution ou les noyaux de calcul ne tirent pas parti de la représentation sur le matériel disponible, la latence peut ne pas s’améliorer, voire être pénalisée par des coûts supplémentaires.

Il convient également de ne pas traiter la calibration comme un détail sans importance. Si une méthode dépend de données représentatives pour estimer ses paramètres, une calibration trop éloignée des entrées réelles risque de mal refléter l’usage prévu. La sensibilité du modèle, la distribution des entrées, la longueur du contexte et la tâche peuvent modifier le résultat. Les articles consacrés à GPTQ, AWQ, SmoothQuant et KVQuant évaluent des méthodes et des configurations précises ; leurs résultats publiés ne doivent pas être extrapolés sans mesures.

Pour documenter une configuration, il est recommandé de consigner la méthode, les composants quantifiés, la précision et la granularité, les données de calibration le cas échéant, la mémoire observée, les métriques de qualité, le matériel, l’environnement d’exécution et les conditions de test. Il devient ainsi possible de comparer des résultats sans transformer une étiquette comme « 4 bits » en affirmation générale sur la qualité ou la vitesse.

Critères pratiques avant de comparer

Une comparaison utile conserve les conditions pertinentes et explicite les informations susceptibles de modifier l’interprétation.

  1. 01Définir le problème à résoudre et les entrées auxquelles le modèle devra répondre.
  2. 02Préciser quels composants sont quantifiés et lesquels conservent une autre précision.
  3. 03Consigner la méthode, le nombre de bits, la granularité, le schéma de calibration et le format.
  4. 04Mesurer séparément la mémoire des poids et la mémoire maximale nécessaire à l’exécution.
  5. 05Évaluer la qualité, la latence et les performances avec le matériel et l’environnement d’exécution cibles.
  6. 06Signaler les limites et les informations manquantes ; ne pas présenter un test comme une garantie universelle.
10

Pour aller plus loin

La quantification est un outil de représentation, et non une catégorie qui décrit à elle seule le comportement complet d’un système. Pour lire une fiche technique ou une évaluation, commencez par identifier ce qui a été quantifié, la manière dont les valeurs sont encodées et l’environnement dans lequel les résultats ont été mesurés.

Pour poursuivre votre lecture, consultez l’index du glossaire et les entrées consacrées à l’inférence, aux modèles locaux, à LoRA, à la distillation et à l’évaluation. La section de comparaison permet d’organiser les différences entre méthodes lorsque les conditions sont comparables ; cette fiche ne recommande aucun format universel et ne remplace pas une évaluation appliquée.

11

Exemples rapides

12

Concepts associés

13

Sources consultées