Quantification GGUF : le guide complet pour choisir entre Q4_K_M, Q8_0, GPTQ et AWQ

Le Q4_K_M est le choix standard pour un LLM local.

  • Q4_K_M garde 90–95 % de qualité, ~4,5 Go pour un 7B.
  • 6–8 Go VRAM suffisent pour le Q4_K_M.
  • Q8_0 : perte sous 0,5 %, mais ~7,7 Go.
  • Q5_K_M : perte de 0,5–1 %, pour 16 Go VRAM.
  • K-quants hybrides : couches sensibles en 6 bits, reste en 4 bits.

Décoder le nommage GGUF : Q4_K_M, Q8_0, K-quants et I-quants expliqués

Le format GGUF (GPT-Generated Unified Format) est devenu la référence pour exécuter des modèles LLM en local. Sa nomenclature peut sembler cryptique au premier abord, mais elle suit une logique simple : Q pour quantification, suivi du nombre de bits, puis d’une variante.

Les K-quants (comme Q4_K_M) utilisent une approche hybride : les couches les plus sensibles du réseau sont conservées en 6 bits, tandis que le reste est compressé en 4 bits. Les I-quants forment une famille alternative, moins répandue, qui optimise l’encodage des poids pour certains types de tenseurs.

Niveau Taille (modèle 7B) Perte vs FP16 Usage recommandé
Q4_K_M ~4,5 Go 1 à 3 % 6–8 Go VRAM
Q4_K_S ~4,2 Go 3 à 5 % RAM très limitée
Q5_K_M ~5,5 Go 0,5 à 1 % 16 GB VRAM
Q8_0 ~7,7 Go moins de 0,5 % 24+ GB VRAM
FP16 ~14 Go Référence GPU hautes performances

Le suffixe indique la stratégie de compression : S (small) optimise la taille, M (medium) équilibre qualité et poids, L (large) privilégie la fidélité. Le Q4_K_M reste le choix le plus populaire : il conserve 90 à 95 % de la qualité du modèle original tout en réduisant la taille de 25 % par rapport au FP16.

Q4_K_M vs Q8_0 : que choisir ?

Le Q8_0 offre une qualité quasi identique au FP16, avec une perte inférieure à 0,5 %. En contrepartie, il occupe presque deux fois plus d’espace que le Q4_K_M. Pour un modèle 7B, la différence se joue entre ~4,5 Go et ~7,7 Go.

Le Q4_K_M surpasse nettement l’ancien Q4_0, avec un gain de qualité de 5 à 8 % à poids égal. La version Q4_K_S économise environ 300 à 400 Mo supplémentaires, mais ajoute +0,11 de perplexité (contre +0,05 pour Q4_K_M) sur un modèle 7B une dégradation visible dans les tâches de génération complexe.

En pratique : choisissez Q4_K_M pour la plupart des usages, passez à Q5_K_M si votre VRAM le permet, et réservez Q8_0 aux machines avec 16 Go de VRAM ou plus où la qualité prime sur l’espace.

GGUF vs GPTQ vs AWQ : lequel choisir selon votre matériel

quantization gguf pour llm local
Format Matériel visé Compression VRAM Compromis principal
GGUF CPU + GPU Jusqu’à 2,9 fois Léger sacrifice de vitesse
GPTQ GPU NVIDIA 2,9 fois Configuration PyTorch requise
AWQ GPU NVIDIA 2,9 fois Gain débit +13 à 15 %

GGUF : le format portable pour CPU et GPU

Le format GGUF est le choix naturel si vous voulez faire tourner un modèle sur n’importe quelle machine, à l’image de la recherche vectorielle qui indexe des milliards de vecteurs. Conçu pour llama.cpp et Ollama, il s’exécute aussi bien sur un CPU que sur un GPU, seul ou en combinaison. Sa force : un fichier unique qui embarque les poids, le tokenizer et les métadonnées aucune dépendance externe. La réduction de VRAM atteint 2,9 fois par rapport au bf16, avec une vitesse d’inférence accrue de 10 à 40 %, une approche comparable à celle utilisée pour réduire la taille des modèles. C’est le format le plus flexible pour débuter.,

GPTQ et AWQ : les formats GPU à haut débit

Pour aller plus loin dans l’optimisation, le fine-tuning pas à pas permet d’adapter un modèle à des tâches spécifiques après quantification.

Si vous disposez d’un GPU NVIDIA, GPTQ et AWQ sont conçus pour exploiter les Tensor Cores et maximiser le débit. GPTQ est mature et stable, mais nécessite un environnement PyTorch pour charger les modèles. AWQ se distingue par un gain de débit de 13 à 15 % par rapport au bf16, tout en maintenant une compression similaire de 2,9 fois la VRAM. Pour les très gros modèles, le format FP8 offre quant à lui un gain de performance de 49 % sur GPU H100, mais reste réservé aux cartes récentes. En résumé : privilégiez GGUF pour la portabilité maximale, et GPTQ ou AWQ si votre contrainte principale est la vitesse sur un GPU NVIDIA dédié.

Exécuter un modèle quantifié en local : Ollama, llama.cpp et LM Studio

Démarrage rapide avec Ollama et LM Studio

Ollama est l’outil le plus direct pour exécuter un LLM quantifié. Une seule commande suffit : ollama pull llama3.3 récupère le modèle au format GGUF, avec Q4_K_M comme niveau de quantification par défaut. La conversation démarre immédiatement dans le terminal, sans configuration supplémentaire.

Pour choisir une autre précision, ajoutez un tag au nom du modèle, par exemple llama3.3:q8_0 pour une version 8 bits (~7,7 Go pour un modèle 7B). La liste des tags disponibles est affichée lors du pull chaque niveau correspond à un fichier GGUF distinct.

LM Studio fait la même chose via une interface graphique cliquable. Vous parcourez les modèles, sélectionnez un fichier GGUF, puis discutez dans une fenêtre de chat locale. GPT4All propose une alternative multiplateforme pour un chat privé, sans compte ni connexion.

Enfin, Ollama expose une API REST sur /api/chat : ajoutez stream: false à la requête pour recevoir une réponse JSON complète, prête à être intégrée dans vos propres scripts.

Mesurer les performances avec llama.cpp

Pour comparer objectivement deux quantifications, utilisez les outils de benchmark inclus dans llama.cpp.

  • llama-bench : mesure la vitesse d’inférence en tokens par seconde par exemple ~8-12 tok/s sur CPU pour un 7B en Q4_K_M, contre ~1-2 tok/s en FP16.
  • llama-perplexity : calcule la perte de qualité réelle ; un écart de +0,11 de perplexité entre Q4_K_S et Q4_K_M (sur modèle 7B) traduit une dégradation mesurable.
  • convert_hf_to_gguf.py : transforme un modèle Hugging Face en GGUF 16 bits ; le pipeline complet pour un modèle de démonstration type Qwen2.5-1.5B tient en quelques minutes.
  • Binaire quantize : convertit ce fichier 16 bits vers n’importe quel niveau (Q4_K_M, Q8_0…) ; comptez 5 à 30 minutes selon la taille du modèle.
  • vLLM : pour du GPU NVIDIA haut débit, ce serveur optimisé prend en charge GPTQ, AWQ et FP8 avec continuous batching.

Cette approche manuelle est indispensable pour un modèle affiné non disponible en GGUF, ou quand vous voulez un contrôle précis sur le niveau de quantification.

Combien de VRAM pour quelle quantification : guide de choix matériel

Configuration Quantification conseillée Modèle max (taille) Vitesse attendue
6-8 Go VRAM (RTX 3060, 4060) Q4_K_M 7B (~4,5 Go) 40-50 tok/s GPU
8-16 Go VRAM (RTX 3080, 4070) Q5_K_M ou Q6_K 13B (~8-10 Go) 30-40 tok/s GPU
16-24 Go VRAM (RTX 4080, 4090) Q8_0 7B (~7,7 Go) natif 50-60 tok/s GPU
24 Go VRAM + offloading (RTX 4090) Q4_K_M 70B (~40 Go, ~24 Go VRAM) 5-10 tok/s offloading
2× RTX 4090 (layer split) Q5_K_M 70B (~40 Go) ~100 tok/s combiné
Mac Studio M2 Ultra 192 Go Q4_K_M 70B natif (~40 Go) ~35 tok/s (bande passante 800 GB/s)

Une règle simple : plus la VRAM est faible, plus la quantification doit être agressive. Avec 6-8 Go de VRAM, le Q4_K_M reste le meilleur compromis pour un modèle 7B vous obtenez 90-95 % de la qualité pour un poids de ~4,5 Go. Notez que la réduction de taille atteint 25 % par rapport au FP16, et la VRAM nécessaire est divisée par 2,9 par rapport au bf16.

Pour faire tourner un 70B en Q4_K_M (~40 Go) avec une simple RTX 4090, le modèle consomme ~24 Go de VRAM et ~16 Go de RAM système en offloading. Attention, la bande passante DDR5 plafonne à 90 GB/s, d’où la chute à 5-10 tok/s. C’est utilisable pour du chat ponctuel, pas pour de la génération longue.

À l’inverse, si votre budget atteint ~4 500 € pour une station 2× RTX 4090 montée en layer splitting, un 70B en Q5_K_M atteint ~100 tokens/sec. C’est le meilleur rapport performance/prix pour du gros modèle en local.

Pour ceux qui privilégient le Mac, le Mac Studio M2 Ultra avec ses 192 Go de mémoire unifiée est imbattable : un 70B en Q4_K_M tourne à ~35 tok/s, contre 15-20 tok/s en FP16 (~140 Go). La bande passante de ~800 GB/s fait toute la différence.

Un dernier conseil : si votre machine est limitée à 16 Go de VRAM, visez le Q5_K_M il offre un excellent équilibre entre qualité et vitesse, surtout si vous comptez monter en contexte. Pour du Q8_0, prévoyez 24+ Go de VRAM : la perte de qualité tombe sous la barre des 0,5 % par rapport au FP16.

Perte de qualité et précision : ce que la quantification coûte réellement

Quantifier un modèle revient à compresser ses poids, ce qui introduit une perte de précision mesurable. Le niveau Q8_0 est impressionnant : la perte de qualité par rapport au FP16 est de moins de 0,5 %, pour une réduction de taille de 50 %. En pratique, cette différence est imperceptible pour la plupart des usages.

Le niveau Q4_K_M, le plus populaire, offre un excellent compromis. Il représente seulement 25 % de la taille du modèle d’origine tout en préservant 90 à 95 % de la qualité. Cette perte de 1 à 3 % se traduit souvent par des réponses légèrement moins créatives ou une perplexité accrue de +0,05 selon les benchmarks.

Attention aux formats plus agressifs comme Q4_K_S : il économise environ 300-400 Mo de RAM par rapport à Q4_K_M, mais la perte de qualité grimpe alors de 3 à 5 %. Sur des modèles 7B déjà limités, cette différence peut être visible. Si votre matériel le permet, privilégiez toujours Q4_K_M ou montez en précision pour les tâches exigeantes.

Comment fonctionne GGUF : format, structure et conversion manuelle

Le format GGUF est un fichier binaire conçu pour être autonome et portable. Sa structure se décompose en trois parties distinctes : un en-tête contenant le nombre magique et la version du format (la version moderne étant la 3), des métadonnées clé-valeur qui décrivent l’architecture du modèle, le tokenizer et les paramètres de quantification, puis les données des tenseurs proprement dites.

Structure interne et avantages du format GGUF

L’un des atouts majeurs de GGUF réside dans son memory mapping (mmap). Le fichier est mappé en mémoire virtuelle, ce qui accélère considérablement le démarrage du modèle sur SSD, sans avoir à tout charger en RAM d’un coup. De plus, le format regroupe dans un fichier unique les poids, le tokenizer, les métadonnées et la quantification choisie. Cette encapsulation simplifie la distribution et l’exécution, puisqu’un seul fichier suffit pour faire fonctionner le modèle.

Convertir un modèle Hugging Face en GGUF quantifié

La conversion manuelle s’effectue en deux temps via les outils de llama.cpp. Voici les étapes concrètes :

Cloner le dépôt llama.cpp requis : indispensable pour accéder aux scripts de conversion et aux binaires de quantification.
Script convert_hf_to_gguf.py : transforme un modèle Hugging Face en GGUF 16 bits, en conservant tous les poids et métadonnées.
Binaire quantize : convertit le fichier 16 bits vers le niveau cible choisi (Q4_K_M, Q8_0, etc.).
Durée : comptez 5 à 30 minutes selon la taille du modèle, ce qui rend le processus viable même pour des modèles volumineux.
Erreur fréquente : une ModelNotFoundError survient si le script est lancé hors du dépôt cloné, car il cherche les fichiers de configuration relativement à son emplacement.

Ce pipeline est particulièrement utile pour les modèles affinés non disponibles en version GGUF pré-quantifiée, ou lorsque vous souhaitez un contrôle précis sur le niveau de quantification. Pour un modèle démonstratif comme Qwen2.5-1.5B-Instruct, l’intégralité du processus tient en quelques minutes.

FAQ : réponses aux questions fréquentes sur la quantification GGUF

Quelle est la meilleure quantification GGUF ?

La meilleure quantification GGUF est Q4_K_M, car elle offre le meilleur compromis entre qualité, vitesse et taille de fichier pour la majorité des usages, avec une perte de qualité minime par rapport au modèle original tout en réduisant la mémoire requise d’environ 75 %.

La quantification dégrade-t-elle vraiment la qualité du modèle ?

Oui, mais la dégradation est minime, surtout pour les quantifications Q4 et supérieures. En pratique, la différence de qualité entre un modèle original et une version Q4_K_M est souvent imperceptible, car les modèles modernes sont entraînés avec une redondance importante qui compense cette compression.

Puis-je exécuter un modèle 70B sur ma machine ?

Oui, avec une quantification Q2 ou Q3, un modèle 70B peut tourner avec environ 24 à 30 Go de VRAM, soit une carte GPU comme une RTX 3090. Sans GPU, vous pouvez utiliser une quantification Q2 avec 48 Go de RAM, mais les performances seront nettement plus lentes qu’avec une carte graphique.

Quelle est la différence entre Q4_K_M et Q8_0 ?

Q4_K_M utilise une quantification à 4 bits avec des blocs K-means optimisés, réduisant la taille du modèle d’environ 75 % avec une perte de qualité légère, tandis que Q8_0 utilise 8 bits uniformes, offrant une qualité presque identique à l’original mais avec une taille deux fois plus grande.