La quantification de modèles consiste à remplacer les nombres haute précision des paramètres d'un modèle par des nombres de plus faible précision — par exemple passer de la virgule flottante 32 bits à des entiers 8 bits ou à la virgule flottante 8 bits — afin de réduire la taille du modèle et sa consommation de VRAM et de mémoire, de sorte que les téléphones et les ordinateurs portables ordinaires puissent exécuter de grands modèles qui ne tiendraient pas autrement. Elle ne modifie pas la structure du modèle, seulement la précision de représentation des nombres : c'est une méthode d'approximation qui échange un peu de précision contre de la vitesse et une taille réduite.
Ce que la quantification comprime réellement
La quantification comprime principalement les poids, c'est-à-dire les paramètres sauvegardés après l'entraînement. Les nombres en virgule flottante 32 bits couramment utilisés pendant l'entraînement occupent 4 octets par paramètre ; convertis en entiers 8 bits, ils n'en occupent plus qu'1, et la taille tombe directement à environ un quart de l'originale. Les valeurs d'activation peuvent aussi être quantifiées, mais elles sont plus sensibles, et une compression trop agressive risque d'amplifier d'abord les erreurs dans les étapes intermédiaires de l'inférence. Il existe deux approches courantes : la quantification après entraînement, qui convertit directement un modèle déjà entraîné — pratique, mais dont la perte de précision est difficile à contrôler ; et l'entraînement sensible à la quantification, qui habitue le modèle à la faible précision dès l'entraînement ou le fine-tuning, avec des résultats plus stables au prix d'un cycle d'entraînement supplémentaire. Certaines implémentations conservent aussi la haute précision pour les couches particulièrement sensibles et ne compriment que les parties moins sensibles.
Est-ce que cela rend le modèle moins intelligent, et comment le savoir ?
Cela dépend de la tâche et de l'ampleur de la compression. La quantification 8 bits a généralement un effet très faible sur la conversation quotidienne, le résumé et la classification, et beaucoup de personnes ne remarquent aucune différence à l'usage ; à 4 bits et en dessous, le raisonnement mathématique, le code long et le raisonnement en plusieurs étapes sont plus susceptibles de poser problème en premier. Pour juger, il ne faut pas se limiter à la taille : il faut regarder deux choses, l'écart entre les scores mesurés de la version quantifiée et de la version originale sur la même tâche, et si vos propres entrées réelles montrent une dégradation manifeste. Un même modèle a souvent plusieurs versions quantifiées ; au moment de choisir, regardez d'abord la méthode de quantification et la largeur en bits, puis les évaluations et les retours des utilisateurs, et ne choisissez pas seulement le fichier le plus petit.
Dans quels cas ne pas utiliser directement une version quantifiée
Si la VRAM et la mémoire suffisent déjà et que les résultats doivent être aussi précis que possible, utilisez d'abord la version originale. Pour des calculs numériques précis, un raisonnement en plusieurs étapes ou le traitement de contenus à haut risque, ne prenez pas non plus une version quantifiée comme réponse finale. Les versions quantifiées conviennent le mieux aux situations où l'appareil est limité, où l'exécution doit se faire hors ligne, où la latence et le coût sont prioritaires et où les résultats sont vérifiés par quelqu'un ou les erreurs tolérées. Retenez une limite : la quantification n'est ni l'élagage ni la distillation. Elle ne supprime pas de paramètres et ne remplace pas le modèle par un plus petit ; elle enregistre simplement les nombres à moindre coût. La quantification elle-même ne corrige pas la tendance d'un modèle à mal retenir les choses.