Quantification¶
Ce que chaque format coûte, ce qu'il abîme, et l'ordre d'optimisation à suivre.
Les formats disponibles¶
Le modèle est publié en BF16, avec une variante FP8 officielle. La communauté a produit le reste dès le lendemain.
| Dépôt | Format | Taille | Publié par |
|---|---|---|---|
Qwen/Qwen3.8-27B |
BF16 | 55,6 Go | Qwen |
Qwen/Qwen3.8-27B-FP8 |
FP8 | ~27,7 Go | Qwen |
unsloth/…-GGUF, bartowski/…, lmstudio-community/…, ggml-org/… |
GGUF, plusieurs niveaux | variable | communauté |
unsloth/…-NVFP4 |
NVFP4 | ~13,9 Go | communauté |
mlx-community/… |
MLX 8 et 4 bits | variable | communauté |
| divers | AWQ-INT4, INT8 | variable | communauté |
La FP8 officielle est la plus téléchargée
Comme pour le Max, la variante FP8 devance largement la BF16 en téléchargements. La BF16 sert de référence pour produire les autres quantifications, pas à être servie.
Le coût de chaque format¶
| Format | Bits | Poids | Reste sur 24 Go | Contexte (cache BF16) |
|---|---|---|---|---|
| BF16 | 16 | 55,46 Go | négatif | ne charge pas |
| FP8 | 8 | 27,73 Go | négatif | ne charge pas |
| 4 bits | 4 | 13,86 Go | 7,58 Go | ~115 600 jetons |
Sur 48 Go :
| Format | Poids | Reste | Contexte |
|---|---|---|---|
| BF16 | 55,46 Go | négatif | ne charge pas |
| FP8 | 27,73 Go | 15,3 Go | ~233 600 jetons |
| 4 bits | 13,86 Go | 29,2 Go | ~445 200 jetons |
Ce que la quantification abîme¶
Elle remplace chaque poids par une approximation sur moins de bits. L'erreur par poids est minuscule ; le problème est qu'elle s'accumule à travers 64 couches.
Les formats modernes limitent la casse par deux techniques :
| Technique | Principe |
|---|---|
| Quantification par blocs | un facteur d'échelle par groupe de 32 ou 64 poids, au lieu d'un pour tout le tenseur |
| Couches préservées | attention et normalisations gardées en précision supérieure |
C'est ce qui distingue un NVFP4 ou un Q4_K_M d'un INT4 naïf.
Le seuil dépend de la longueur de la tâche
Une dégradation qui ressemble à du bruit sur une question isolée devient coûteuse sur une chaîne de deux cents étapes : chaque étape conditionne la suivante, et une erreur précoce n'est pas moyennée, elle est amplifiée.
La règle pratique¶
| Usage | Format minimal recommandé |
|---|---|
| Classification, extraction, reformulation | 4 bits |
| Conversation, questions-réponses | 4 bits |
| Génération de code isolée | 4 bits, avec vérification |
| Analyse d'images et de documents | 4 bits acceptable |
| Agent multi-tours, outils, dépôt de code | 8 bits minimum |
| Évaluation, comparaison de modèles | BF16 |
En une phrase
4 bits pour le coup unique, 8 bits pour l'agentique.
Aucune mesure ne documente cette dégradation pour ce modèle
La règle ci-dessus est un consensus de terrain, pas une mesure. Qwen ne publie aucun résultat par format de quantification, et aucune évaluation indépendante n'existe encore.
Voir Ce qui reste non publié.
Le seuil piège des 32 Go¶
C'est la conséquence pratique la plus contre-intuitive de ces chiffres.
| Carte | 4 bits | FP8 |
|---|---|---|
| RTX 4090 24 Go | ~115 600 jetons | ne charge pas |
| RTX 5090 32 Go | ~225 500 jetons | ~13 900 jetons |
| L40S 48 Go | ~445 200 jetons | ~233 600 jetons |
32 Go ne suffit pas pour un usage agentique sérieux
Une RTX 5090 charge le modèle en FP8 — le format recommandé pour l'agentique — mais il ne reste que 1,07 Go pour le cache, soit environ 13 900 jetons.
C'est en dessous du contexte nécessaire à la plupart des tâches d'agent.
Pour l'agentique, visez 48 Go. Pour le reste, 24 Go en 4 bits suffisent largement.
L'ordre d'optimisation¶
Face à une contrainte de VRAM, dans cet ordre :
- Réduire le contexte au besoin réel. Gratuit, sans dégradation.
- Quantifier le cache en FP8. Divise par deux le poste dominant à contexte long, coût qualitatif faible.
- Passer les poids en FP8. Si la carte le permet.
- Passer les poids en 4 bits par blocs (NVFP4, Q4_K_M). Acceptable hors agentique.
- Descendre sous 4 bits. En dernier recours seulement.
L'ordre inverse est l'erreur courante
Beaucoup commencent par quantifier les poids au maximum, puis découvrent que le contexte reste insuffisant — parce que le cache, lui, n'a pas bougé.
La configuration recommandée par défaut
vllm serve Qwen/Qwen3.8-27B-FP8 \
--max-model-len 131072 \
--kv-cache-dtype fp8
Sur 48 Go : poids FP8 (27,7 Go) + cache FP8 à 131 072 jetons (4,3 Go) = 32 Go, avec de la marge confortable.
Les pièges des premières quantifications¶
Trois erreurs classiques dans les jours qui suivent une sortie
-
Gabarit de conversation mal repris. Si le modèle paraît anormalement mauvais, suspectez la quantification avant le modèle.
-
Paramètres d'échantillonnage inadaptés. Ce modèle en a deux jeux distincts selon le mode :
| Mode | temperature |
top_p |
top_k |
|---|---|---|---|
| Raisonnement | 1,0 | 0,95 | 20 |
| Instruction directe | 0,7 | 0,80 | 20 |
Utiliser les valeurs du mode raisonnement en mode instruction, ou l'inverse, dégrade sensiblement le résultat.
- Voie visuelle non supportée. Certaines quantifications précoces n'incluent pas correctement l'encodeur visuel. Vérifiez que votre format gère bien l'entrée image avant de conclure.
À retenir¶
Ce chapitre en cinq points
- BF16 → 55,5 Go, FP8 → 27,7 Go, 4 bits → 13,9 Go.
- La quantification par blocs limite la dégradation à nombre de bits égal.
- 4 bits pour le coup unique, 8 bits pour l'agentique.
- 32 Go est un seuil piège : seulement ~13 900 jetons en FP8. Pour l'agentique, visez 48 Go.
- Ordre d'optimisation : contexte → cache → poids, jamais l'inverse.
Partie suivante : Utilisation.