Glossaire / Comment il vous entend
Quantification
Aussi : quantification de modèle, 4 bits, 8 bits
Mis à jour le
Définition
La quantification consiste à stocker les nombres d’un modèle sur moins de bits chacun, par exemple 4 ou 8 bits là où l’original en utilisait 16 ou 32. Le modèle devient plus petit et plus léger en mémoire, en général au prix d’une petite perte de précision.
Un modèle est surtout une très longue liste de nombres, appelés poids. À l’issue de l’entraînement, chaque poids est en général une valeur à virgule flottante sur 32 ou 16 bits. La quantification les réécrit sous une forme plus grossière. La documentation d’Apple la définit comme la réduction du nombre de bits qui représentent un nombre.
C’est pourquoi un même modèle peut apparaître sous forme de plusieurs téléchargements de tailles différentes, avec des étiquettes comme 4bit, 8bit ou Q4. C’est un seul modèle, à différents niveaux de compression.
De combien plus petit
La taille suit presque directement le nombre de bits. Divisez par deux les bits par poids, et le fichier fait environ la moitié de la taille.
Un exemple publié rend cela concret. Pour un modèle de langage de 8 milliards de paramètres, le fichier en 16 bits fait environ 15 Gio, celui en 8 bits environ 8 Gio, et une version courante en 4 bits environ 4,6 Gio. La version 4 bits revient à environ 4,9 bits par poids, pas exactement 4, car certaines parties sont gardées à une précision plus élevée.
Ce que vous perdez
Un peu de précision. Des nombres plus grossiers faussent légèrement les calculs du modèle partout, et les erreurs s’additionnent. L’effet visible dépend du modèle et du degré de quantification.
Selon Apple, compresser à 8 bits, et pour certains modèles à 6 ou 4, peut fonctionner avec une baisse de précision seulement légère.
Ce que vous gagnez en plus de la taille
Apple cite comme gains possibles de la compression d’un modèle une empreinte mémoire réduite, une latence plus faible et une consommation d’énergie moindre, séparément ou ensemble. Sur un portable, c’est souvent la mémoire qui compte : un modèle qui tient sans peine laisse de la place à tout ce que vous avez ouvert d’autre.
Lire les étiquettes
L’étiquette indique la précision des poids.
- fp32 ou float32 : pleine précision, celle de l’entraînement de la plupart des modèles.
- fp16, bf16 ou float16 : demi-précision. Souvent la forme sous laquelle un modèle est publié.
- 8bit ou int8 : un quart de la pleine précision.
- 4bit ou int4 : un huitième de la pleine précision. Le choix habituel pour faire tourner de grands modèles sur un portable.
- Q4, Q5, Q8 suivis de lettres : la même idée dans un format de fichier courant, où les lettres désignent la méthode utilisée.
Quantification et palettisation
Les outils d’Apple proposent deux façons de stocker les poids sur moins de bits. La quantification linéaire projette la plage des valeurs d’origine sur une petite plage d’entiers. La palettisation, aussi appelée regroupement des poids, regroupe les poids en clusters et stocke chaque poids comme un index dans une courte table de correspondance.
Selon Apple, la palettisation fonctionne généralement mieux sur le Neural Engine, et la quantification sur 4 bits peut bien fonctionner pour les modèles qui tournent sur la puce graphique d’un Mac.
Les questions qu’on se pose.
Que signifie 4 bits pour un modèle ?
Que ses poids sont stockés sur environ 4 bits chacun, là où l’original en utilisait 16 ou 32. Le fichier est beaucoup plus petit, et le modèle légèrement moins précis.
La quantification dégrade-t-elle un modèle ?
Légèrement. Elle échange un peu de précision contre une taille plus petite et moins de mémoire utilisée. Selon Apple, 8 bits, et pour certains modèles 6 ou 4, n’entraînent qu’une légère baisse de précision.
Vaut-il mieux un modèle 4 bits ou 8 bits ?
Le modèle 8 bits est plus proche de l’original, et le modèle 4 bits fait environ la moitié de sa taille. Choisissez 8 bits si vous avez la mémoire, et 4 bits sinon.
La quantification rend-elle un modèle plus rapide ?
Cela peut arriver. Apple cite une latence plus faible parmi les gains possibles, avec une empreinte mémoire réduite et une consommation d’énergie moindre.
Tous les modèles peuvent-ils être quantifiés ?
La plupart, avec des outils qui convertissent les poids publiés. La qualité du résultat varie d’un modèle à l’autre.
La quantification, est-ce la même chose que la compression ?
C’est une forme de compression de modèle. Il en existe d’autres, comme l’élagage, qui supprime des poids, et la palettisation, qui stocke les poids comme des entrées d’une table de correspondance.