Aller au contenu principal

Module 4 — Élagage et quantification

Distiller un modèle demande une journée de travail et un peu de calcul. Quantifier un modèle demande cinq minutes et souvent aucune perte mesurable de qualité. C'est donc par là qu'il faut commencer avant d'engager une distillation, et parfois s'y arrêter. Ce module explique ce que la quantification fait vraiment aux poids, où l'élagage complète ou remplace la quantification, et comment mesurer proprement le prix de la compression.

Ce qu'est la quantification, sans magie

Les poids d'un modèle sont par défaut des nombres à virgule flottante sur 16 bits (bf16 ou fp16). La quantification remplace ces nombres par des entiers plus courts, sur 8 ou 4 bits, avec un facteur d'échelle par groupe de poids pour préserver l'ordre de grandeur. Un modèle de 4 milliards de paramètres passe ainsi de 8 gigaoctets (16 bits) à 4 Go en 8 bits, ou 2 Go en 4 bits. La taille mémoire baisse dans le même rapport, et sur GPU l'inférence accélère de 30 à 60 % parce que la bande passante mémoire devient moins un goulot.

Deux familles d'algorithmes se sont imposées.

GPTQ applique la quantification couche par couche, en réajustant les autres poids pour compenser l'erreur d'arrondi sur celui qu'on vient de quantifier. Le résultat en 4 bits perd typiquement 0 à 2 points sur une évaluation générale, souvent invisible sur une tâche étroite.

AWQ identifie d'abord les poids les plus sensibles — ceux qui reçoivent les activations de plus grande amplitude — et les protège d'une quantification agressive. L'idée est simple : 1 % des poids expliquent l'essentiel du comportement, donc autant les garder en 8 bits pendant qu'on tape à 4 bits sur les 99 % restants.

En 2026, les deux algorithmes donnent des résultats équivalents sur les modèles courants ; le choix se fait sur l'outillage disponible et sur les tests reproductibles réalisés sur votre tâche.

8 bits ou 4 bits : quel est le vrai coût

Sur nos 200 tickets d'évaluation, la mesure est sans appel.

VersionTaille mémoireExactitudeLatence 95ᵉ centile
bf16 (base)8 Go91 %620 ms
8 bits4 Go91 %460 ms
4 bits GPTQ2 Go90 %380 ms
4 bits AWQ2 Go91 %380 ms

Un point d'exactitude perdu en 4 bits GPTQ, zéro perte mesurable en 8 bits ou en 4 bits AWQ, et une latence divisée par 1,6. Ce résultat est typique sur une tâche étroite. Sur une tâche ouverte, la perte en 4 bits monte parfois à 4 ou 5 points, ce qui ferme la porte au 4 bits sans essai systématique.

Élagage : couper ce qui ne sert à rien

L'élagage consiste à supprimer des poids ou des structures entières du modèle. Deux sous-familles.

L'élagage non structuré remet à zéro les poids individuellement les plus petits, jusqu'à obtenir une matrice creuse. La taille du fichier ne change pas si l'on ne compresse pas ces zéros, et l'accélération d'inférence n'est réelle que sur du matériel qui sait exploiter cette parcimonie (Ampère et suivant chez NVIDIA, par exemple, avec sparsité 2:4). Sur du CPU ou du GPU d'entrée de gamme, le gain est nul en pratique.

L'élagage structuré supprime des unités entières : neurones, têtes d'attention, voire couches complètes. La taille et la latence baissent réellement, mais le coût qualité est nettement plus élevé qu'en quantification pure. Un modèle qui perd 20 % de ses têtes d'attention peut chuter de 5 à 10 points sur une tâche fine sans réentraînement partiel.

En pratique, sur les petits modèles ouverts modernes déjà denses et bien conçus, l'élagage n'est justifié que lorsque la quantification ne suffit plus, ou qu'on cherche à passer de 3B à 1,5B pour tenir dans un budget mémoire strict. Dans notre projet, nous restons sur la quantification 4 bits AWQ.

Le protocole de mesure qui ne triche pas

Trois précautions transforment une comparaison douteuse en preuve.

Un seul changement à la fois. On quantifie ou on élague, jamais les deux en même temps sur la mesure. Sinon, impossible d'attribuer une perte de qualité à l'une ou l'autre technique.

Le même jeu d'évaluation. Les 200 tickets réels intouchables, dans un ordre déterministe, avec une graine fixe pour la génération.

La même longueur d'entrée et de sortie. Une comparaison de latence sur des entrées de 200 jetons contre des entrées de 1 500 jetons ne veut rien dire. Fixer la distribution des longueurs et l'appliquer aux deux versions.

La quantification n'annule pas l'affinage

Certains oublient que la quantification agit sur les poids finaux, pas sur les gradients. On quantifie après l'affinage LoRA (module 7), jamais avant, sinon les gradients calculés sur des poids déjà quantifiés dérivent lentement vers un modèle dégradé. C'est un piège fréquent qui produit des affinages qui plafonnent inexplicablement.

En résumé

  • La quantification remplace des poids 16 bits par des entiers 8 ou 4 bits, avec un facteur d'échelle par groupe ; la taille et la latence baissent en conséquence.
  • GPTQ et AWQ sont les deux algorithmes standard ; sur tâche étroite, la perte de qualité en 4 bits est de 0 à 2 points, souvent invisible.
  • L'élagage structuré supprime des unités entières et coûte cher en qualité sans réentraînement ; il n'est justifié qu'au-delà de la limite de la quantification.
  • La mesure doit changer une seule variable à la fois, sur le même jeu d'évaluation, avec la même distribution de longueurs, sinon la comparaison ne prouve rien.

Module suivant : les formats d'exécution — GGUF, ONNX, MLX — qui décident concrètement où et comment le modèle quantifié tournera.