Quantification (quantization)

IA / LLM 🟡 Mid

Définition

Stockage des poids en précision réduite (fp16/bf16, int8, int4, voire 1 à 2 bits) pour diviser la mémoire et accélérer l'inférence, en perdant un peu de qualité. Hugging Face Transformers prend en charge bitsandbytes (4 et 8 bits), GPTQ, AWQ, GGUF/llama.cpp, etc. Certaines méthodes demandent une calibration, d'autres quantifient à la volée au chargement.

Analogie

Enregistrer une photo en JPEG plutôt qu'en RAW : dix fois plus léger, presque aussi net.

Exemple de code

from transformers import AutoModelForCausalLM, BitsAndBytesConfig

bnb = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type='nf4',
    bnb_4bit_compute_dtype='bfloat16',
)
model = AutoModelForCausalLM.from_pretrained(
    'mistralai/Mistral-Small-4',
    quantization_config=bnb,      # quantifié au chargement
    device_map='auto',
)
# Un 24B en 4 bits tient dans ~14 Go de VRAM au lieu de ~48 Go en bf16

Cas d'usage

Faire tourner un modèle open-weights sur un GPU grand public ou un Mac ; réduire le coût d'hébergement.

Anti-pattern

Quantifier en 2 bits un petit modèle : la dégradation est bien plus forte que sur un grand.
#ia#optimisation#open-weights

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre