Aller au contenu
Développement medium

Comprendre la quantification des LLM

9 min de lecture

Un modèle de langage récent peut peser plusieurs dizaines de gigaoctets. Trop pour la plupart des machines. La quantification est la technique qui réduit cette taille — souvent par trois ou quatre — pour faire tenir un modèle dans la mémoire disponible, et le faire tourner plus vite. Ce guide explique sans mathématiques ce qu'est la quantification : pourquoi un modèle est si lourd, ce que signifie la précision, et ce qu'on perd vraiment en quantifiant. Public visé : lecteur débutant qui veut comprendre les sigles GGUF, AWQ, GPTQ ou FP8 avant de les croiser.

  • Comprendre pourquoi un modèle pèse autant de gigaoctets.
  • Saisir ce qu'est la précision d'un paramètre, en nombre de bits.
  • Comprendre ce que fait concrètement la quantification.
  • Évaluer le compromis entre taille, vitesse et qualité.
  • Distinguer les grandes familles de formats : GGUF, AWQ, GPTQ, FP8.

Un LLM est, au fond, une immense collection de nombres appelés paramètres (ou poids). Ce sont eux que le modèle a ajustés pendant son entraînement. Leur nombre se compte en milliards : c'est ce que désigne le « B » dans des noms comme Qwen2.5-14B — environ 14 milliards de paramètres.

La taille d'un modèle sur le disque est un calcul simple :

taille = nombre de paramètres × place occupée par chaque paramètre

Si chaque paramètre occupe 2 octets, un modèle de 14 milliards de paramètres pèse environ 28 gigaoctets (14 × 2). Un modèle de 70 milliards dépasse les 140 Go. La place occupée par chaque paramètre devient donc le levier sur lequel la quantification va agir.

Chaque paramètre est un nombre à virgule, par exemple 0,0327. Pour le stocker, l'ordinateur lui réserve un certain nombre de bits. Plus on accorde de bits à un nombre, plus on peut le représenter finement ; moins on en accorde, plus on l'arrondit.

Les formats courants portent des noms qui indiquent ce budget de bits.

FormatBits par paramètrePlaceUsage typique
FP3232 bits4 octetsEntraînement, précision maximale
FP16 / BF1616 bits2 octetsFormat standard d'un modèle publié
INT8 / FP88 bits1 octetPremière étape de quantification
INT44 bits0,5 octetQuantification agressive

Un modèle est presque toujours publié en 16 bits (FP16 ou BF16) : c'est le point de départ. Les FP désignent des nombres « à virgule flottante », les INT des nombres entiers — la distinction a son importance technique, mais l'idée à retenir est la même : moins de bits, nombre plus arrondi.

Quantifier : réduire les bits sans perdre le sens

Section intitulée « Quantifier : réduire les bits sans perdre le sens »

Quantifier un modèle, c'est ré-encoder ses paramètres avec moins de bits. Un modèle publié en 16 bits, requantifié en 4 bits, voit chaque paramètre passer de 2 octets à 0,5 octet — sa taille est divisée par quatre.

Concrètement, notre modèle de 14 milliards de paramètres passe d'environ 28 Go en 16 bits à environ 7 à 9 Go en 4 bits. Un modèle qui ne tenait sur aucun GPU grand public devient soudain exécutable sur une carte modeste, voire sur un bon CPU.

La quantification ne se contente pas de tronquer brutalement les nombres. Les techniques modernes analysent le modèle pour repérer les paramètres les plus sensibles et répartir l'arrondi intelligemment, de façon à préserver au mieux le comportement du modèle. C'est pourquoi un modèle 4 bits bien quantifié reste étonnamment proche de l'original.

La quantification agit sur trois grandeurs à la fois. Deux évoluent dans le bon sens, une dans le mauvais.

La taille baisse — c'est l'objectif premier. La vitesse augmente : un paramètre plus petit, c'est moins de données à déplacer entre la mémoire et les unités de calcul, et l'inférence d'un LLM est justement limitée par ces déplacements. La qualité, elle, baisse légèrement : des paramètres arrondis produisent un modèle un peu moins précis.

L'enjeu est l'ampleur de cette perte de qualité. En pratique, une quantification 8 bits est presque toujours imperceptible. Une quantification 4 bits moderne entraîne une dégradation faible, acceptable pour la grande majorité des usages. En descendant plus bas (3 bits, 2 bits), la perte devient visible et le compromis cesse d'être intéressant.

Quantifier un modèle produit un fichier dans un format précis. Quatre noms reviennent, et ils ne ciblent pas le même matériel.

GGUF est le format de l'écosystème llama.cpp et Ollama. Il vise le CPU et les configurations hybrides CPU/GPU. Ses variantes portent des noms comme Q4_K_M ou Q5_K_M : le chiffre indique le nombre de bits, les lettres une variante de la méthode. C'est le format de référence pour l'inférence locale.

AWQ et GPTQ sont deux formats de quantification 4 bits conçus pour le GPU. Ils s'appuient sur une phase de calibration — on fait passer des textes d'exemple dans le modèle pour mesurer quels paramètres préserver en priorité. Les serveurs GPU comme vLLM et SGLang les chargent directement.

FP8 est plus récent. C'est un format 8 bits « à virgule flottante », pris en charge par les GPU récents. Il offre un compromis intéressant : presque la qualité du 16 bits, pour la moitié de la taille.

FormatBitsCibleÉcosystème
GGUF2 à 8 bitsCPU, hybridellama.cpp, Ollama
AWQ4 bitsGPUvLLM, SGLang
GPTQ4 bitsGPUvLLM, SGLang
FP88 bitsGPU récentvLLM, SGLang

La quantification n'est pas un réflexe systématique. Elle se justifie dans des cas précis.

Quantifiez quand le modèle ne tient pas dans votre mémoire disponible — c'est la raison la plus fréquente. Quantifiez aussi quand vous cherchez à accélérer l'inférence ou à réduire les coûts matériels, et que vous acceptez une perte de qualité minime.

Abstenez-vous quand vous disposez de toute la mémoire nécessaire et que vous visez la qualité maximale absolue — une évaluation de référence, par exemple. Évitez aussi de quantifier un modèle que vous comptez ré-entraîner ou fine-tuner : ces opérations réclament la précision complète.

Dans le doute, la règle pratique est simple : une quantification 4 bits moderne est un excellent point de départ pour l'inférence. Vous ne reviendrez à une précision supérieure que si vous mesurez une dégradation gênante sur votre cas d'usage.

  • Un modèle pèse nombre de paramètres × place par paramètre ; la quantification agit sur le second facteur.
  • La précision se mesure en bits par paramètre : moins de bits, nombre plus arrondi.
  • Quantifier ré-encode les paramètres avec moins de bits : la taille peut être divisée par trois ou quatre.
  • Le compromis : taille ↓, vitesse ↑, qualité ↓ — mais la perte de qualité reste faible jusqu'à 4 bits.
  • GGUF vise le CPU, AWQ et GPTQ le GPU en 4 bits, FP8 les GPU récents en 8 bits.
  • Quantifiez pour faire tenir ou accélérer un modèle ; abstenez-vous pour la qualité de référence ou le fine-tuning.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn