Paliers de quantization GGUF, pesés en direct : Q4_K_M vs Q8_0 sur taille, VRAM et qualité
Chaque palier de Q2_K à Q8_0 sur une seule console — choisissez un palier, réglez le nombre de paramètres, et la taille répond d'une ligne d'arithmétique.
■ espace · la presse à blocs · fig 1
Q4_K_M par défaut — ~4,85 bits par poids, ~1 % de coût de perplexité, ~30 % de la taille plein-précision.
Monter à Q6_K pour code et maths ; garder Q8_0 pour les runs de référence ; sous Q4, c'est une ration d'urgence pour les gros modèles.
La décision entière est une ligne : size_GB ≈ bits_per_weight × params / 8.
01LA PRESSE
une caisse, quatre tampons — le pont-bascule répond taille, la jauge répond coût
~1 % de perplexité — LE défautLe défaut. Le meilleur compromis qualité-par-gigaoctet qui soit.
PALIER Q4_K_M · 4,85 BPW · ÉCHELLE 4.85 GB / FP16 16.0 GB · TAILLE 30% · PARAMÈTRES 8B
la caisse est le modèle : mêmes poids à chaque passe — seul le tampon change. Tapez 5 et regardez la jauge de coût plonger
02TOUS LES PALIERS
la machine embarque quatre paliers — le registre en livre huit
| palier | bpw | qualité — le verdict | quand l'utiliser |
|---|---|---|---|
| Q2_K la ration | ~3.4 | sévère sous 13B — une ration d'urgencela cohérence commence à s'effondrer sur les petits modèles | Rien d'autre ne rentre, gros modèles seulement. Testez avant de faire confiance. |
| Q3_K_M la squeeze | ~3.9 | visible — la squeeze de VRAMperte visible — seulement pour VRAM juste sur ≥14B | VRAM étroite, modèles ≥14B seulement. |
| Q4_K_S le repli | ~4.6 | petite pertepetite perte — quand Q4_K_M ne rentre pas de justesse | Le repli quand Q4_K_M ne rentre pas — et que ça joue serré. |
| IQ4_XS l'i-quant | ~4.3 | ≈ Q4_K_M — la squeeze codebookqualité ≈ Q4_K_M, plus petit — si votre backend tourne les i-quants | Q4_K_M un poil trop gros, backend qui supporte les i-quants. Un peu plus lent sur certains backends. |
| Q4_K_M le défaut | ~4.85 | ~1 % de perplexité — LE défautmeilleure qualité-par-gigaoctet — tous les dépôts le livrent | Le défaut. Le meilleur compromis qualité-par-gigaoctet qui soit. |
| Q5_K_M la réserve | ~5.7 | ~0,5 % de perplexitéperte quasi nulle, encore confortable | De la réserve avec confort — la qualité comptait plus que le dernier gigaoctet. |
| Q6_K le cheval de bataille | ~6.6 | presque indiscernablepresque indiscernable — le palier code et maths | Code, maths, extraction — tout ce qui punit le bruit. |
| Q8_0 la référence | ~8.5 | aucun en pratique (~0,02 % vs pleine)aucun en pratique (~0,02 %) — A/B et bases de fine-tune | Runs de référence, A/B, bases de fine-tune — pas un conducteur quotidien. |
size_GB ≈ bits_per_weight × params / 8 — chaque affichage de la presse le calcule en directQ4_K_M.gguf aux splits éclatés, sauf si seul ce dernier est livré. Destination vLLM plutôt que llama.cpp ? Son plugin GGUF prend les mêmes fichiers — la règle GPU-only s'applique. Quoi qu'il en soit, le moteur est un axe distinct de la quant.03CE QUE LE TAMPON ENLÈVE
la caisse rétrécit — voici ce que le tampon fait réellement aux bits
Un fichier Q4 et un fichier Q8 du même modèle sont le même modèle, avec des manteaux différents.
04L'ORDRE DE DÉCISION
le mécanisme est honnête — alors quel palier pour quel job
- Contexte + budget KV d'abord, poids ensuite. Un contexte qui ne rentre pas est pire qu'une qualité qu'on ne peut pas mesurer — en contexte long, le cache peut dépasser le modèle.
- Par défaut, Q4_K_M. ~1 % de perplexité pour ~30 % de la taille ; le défaut de la communauté, pour une raison.
- Montez à Q6_K quand la tâche punit le bruit — code, maths, extraction, tout ce qui tourne sans surveillance.
- Q8_0 pour référence uniquement — tests A/B, mesure de dégâts, bases de fine-tune. En conducteur quotidien, ça n'achète que des capteurs de VRAM au chaud.
- Sous Q4 uniquement sous contrainte, gros modèles seulement — et testez avec un prompt connu-confus avant de faire confiance.
05MESUREZ VOUS-MÊME LES DÉGÂTS
les cadrans montent les verdicts de llama.cpp — faites voter votre propre matériel
git clone https://github.com/ggml-org/llama.cpp && cd llama.cpp
cmake -B build && cmake --build build --config Release -j
huggingface-cli download bartowski/Meta-Llama-3.1-8B-Instruct-GGUF \
Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf Meta-Llama-3.1-8B-Instruct-Q8_0.gguf \
--local-dir models
# perplexity (lower = closer to the original model)
./build/bin/llama-perplexity -m models/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf -ngl 99
./build/bin/llama-perplexity -m models/Meta-Llama-3.1-8B-Instruct-Q8_0.gguf -ngl 99
# and speed on the same hardware
./build/bin/llama-bench -m models/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf -ngl 99
verify : le chiffre du Q4_K_M atterrit quelques centièmes de point plus mal — et le fichier est ~40 % plus petit. Mêmes données, chaque palier
La perplexité est la surprise du token suivant sur un jeu de données fixe : un proxy, pas une note — et votre vraie tâche peut la contredire.
fin de la presse à blocs · rien n'a été téléchargé · tout est local