Thursday, 10 September 2026 | Mise à jour quotidienne L'intelligence artificielle au service des constructeurs

Format de modèle GGUF : qu’est-ce que c’est et comment en exécuter un

  • GGUF (GPT-Generated Unified Format) est un format binaire mono-fichier destiné aux grands modèles de langage quantifiés, introduit en août 2023 par le projet llama.cpp en tant que successeur de GGML.
  • Il regroupe les poids, le tokenizer, le modèle de discussion (chat template) et les métadonnées dans un seul .gguf fichier exécutable sur CPU, GPU ou une combinaison des deux via llama.cpp, Ollama, LM Studio, KoboldCpp et text-generation-webui.
  • Niveaux de quantification tels que Q4_K_M, Q5_K_M et Q8_0 sacrifient la qualité au profit de la taille — une quantification 4 bits d’un modèle de 8 milliards de paramètres nécessite environ 5 Go de RAM ou de VRAM.
  • Téléchargez les fichiers depuis Hugging Face (recherchez « GGUF »), puis chargez-les avec llama-cli -m model.gguf ou ollama run, et choisissez une quantification adaptée à votre matériel à l’aide du Calculateur de VRAM.

A modèle GGUF est un grand modèle de langage empaqueté selon le format de fichier GGUF — un conteneur mono-fichier qui intègre les poids quantifiés, le tokenizer, les hyperparamètres et le modèle de prompt. Il a été créé par Georgi Gerganov et le projet llama.cpp en août 2023 pour remplacer l’ancien format GGML. GGUF permet de télécharger un seul fichier, de le pointer depuis un environnement d’exécution, et d’obtenir immédiatement un modèle fonctionnel LLM local sur un ordinateur portable ou une station de travail.

Ce qu’est réellement GGUF

GGUF signifie GPT-Generated Unified Format. Sur le plan structurel, il s’agit d’un fichier binaire comportant un en-tête, un bloc de métadonnées clé-valeur, un index de tenseurs et les données tensorielles elles-mêmes. La spécification officielle GGUF dans le dépôt ggml définit précisément cette structure.

Deux propriétés sont essentielles pour les utilisateurs :

  • Autonome. Le fichier embarque le tokenizer, les jetons spéciaux, les identifiants EOS/BOS, le modèle de discussion (chat template) et les métadonnées relatives à l’architecture. Aucun fichier supplémentaire tokenizer.json ou config.json n’est requis à ses côtés.
  • Mappable en mémoire. Les environnements d’exécution utilisent mmap() pour charger le fichier, ce qui permet un démarrage quasi instantané et un chargement à la demande des poids par le système d’exploitation. C’est pourquoi un fichier GGUF de 40 Go s’ouvre en quelques secondes, même sur un disque SSD lent.

GGUF a remplacé GGML car ce dernier ne comportait aucune gestion de version, mélangeait métadonnées et poids, et cessait de fonctionner à chaque nouvelle architecture. GGUF, lui, est versionné et extensible.

Quantification : la convention de nommage

La plupart des fichiers GGUF que vous téléchargez sont quantifiés — les poids y sont stockés sur moins de bits que leur représentation FP16 d’origine. Le suffixe du nom de fichier indique le schéma utilisé. Les familles actuelles sont documentées dans le README de quantification de llama.cpp.

Quant Bits/poids (approx.) Usage typique
Q2_K ~2.6 Taille minimale, perte de qualité notable
Q3_K_M ~3.9 Compression agressive
Q4_K_M ~4.8 Valeur par défaut la plus courante — bon compromis taille/qualité
Q5_K_M ~5.7 Qualité supérieure, fichier plus volumineux
Q6_K ~6.6 Quasi sans perte comparé à FP16
Q8_0 ~8.5 Pratiquement sans perte, environ 2× la taille de Q4
F16 / BF16 16 Référence non quantifiée

Le _K Les variantes k-quants utilisent une précision variable par bloc de tenseur. Les suffixes _M / _S / _L indiquent des présélections moyennes, petites ou grandes pour le mélange de blocs. Les variantes plus récentes (p. ex. IQ IQ4_XS ) utilisent une calibration basée sur une matrice d’importance afin d’obtenir une meilleure qualité pour un même budget en bits.utilise la calibration par matrice d'importance pour une meilleure qualité à budget de bits identique.

En règle générale, pour estimer les besoins en VRAM, prenez la taille du fichier sur le disque et ajoutez environ 1 à 3 Go pour le cache KV dans le cas de contextes courts, davantage pour des contextes longs. À partir de la base de données des modèles Convly: Llama 3.1 8B nécessite environ 5 Go en quantification 4 bits, Llama 3.3 70B environ 40 Go, et Mistral 7B environ 4,5 Go. Pour tout modèle plus volumineux, le tableau des besoins en VRAM est la méthode de recherche la plus rapide.

Où obtenir des fichiers GGUF

Presque toutes les distributions GGUF se font sur Hugging Face. Recherchez le nom du modèle suivi de « GGUF ». Parmi les outils fiables de re-quantification figurent bartowski, Qwen (officiel pour Qwen3), lmstudio-community, unsloth et MaziyarPanahi. Meta, Google, Mistral et Microsoft publient certaines versions officielles GGUF ; pour les autres, la communauté effectue la quantification à partir des poids initiaux publiés au format safetensors.

Un dépôt contient généralement un fichier par niveau de quantification, par exemple Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf. Pour les modèles dépassant environ 50 Go, le fichier est découpé en fragments (« shards ») nommés -00001-of-00003.gguf; les moteurs d’exécution les chargent automatiquement à partir du premier fragment.

Exécuter un modèle GGUF

Linux

Compilez llama.cpp depuis les sources ou installez le binaire précompilé. Avec CUDA :

git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j
./build/bin/llama-cli -m ~/models/llama-3.1-8b-instruct-Q4_K_M.gguf 
    -p "Expliquez GGUF en un seul paragraphe." -n 256 -ngl 99

Le -ngl Le paramètre « n-gpu-layers » détermine combien de couches du transformeur sont déplacées vers le GPU. Réglez-le suffisamment haut pour que l’intégralité du modèle tienne dans la VRAM ; si vous manquez de mémoire, réduisez-le, et les couches restantes s’exécuteront sur le CPU. Pour exposer une API HTTP compatible OpenAI, utilisez llama-server sur le port 8080 par défaut.

macOS

Sur les puces Apple Silicon, llama.cpp utilise automatiquement le backend Metal. Installez-le via Homebrew :

brew install llama.cpp
llama-cli -m ~/models/qwen3-8b-Q5_K_M.gguf -p "Bonjour" -ngl 99

La mémoire unifiée signifie que la limite supérieure correspond à la RAM totale moins la surcharge système. Un Mac équipé d’une puce M et de 32 Go de RAM exécute aisément Qwen3 14B ou -ngl le plafond correspond à votre mémoire RAM totale moins la surcharge du système d'exploitation. Un Mac équipé de la puce M et de 32 Go de RAM exécute confortablement Qwen3 14B ou Gemma 3 12B en Q4_K_M — la base de données indique respectivement environ 9 Go et 8 Go de consommation VRAM.

Pour une interface graphique (GUI), LM Studio est le choix habituel sur Mac. Il télécharge directement les fichiers GGUF depuis Hugging Face et expose un serveur local compatible avec l’API OpenAI.

Windows

Trois approches pratiques :

  • Ollama. Installez-le depuis ollama.com/download, puis ollama run llama3.1:8b. Ollama récupère ses propres versions GGUF soigneusement sélectionnées. Pour charger un fichier arbitraire, créez un fichier Modelfile contenant une ligne FROM ./mymodel.gguf et exécutez la commande ollama create mymodel -f Modelfile. Consultez notre Guide d’installation d’Ollama.
  • LM Studio. Installation en un clic, navigation et téléchargement de fichiers GGUF via une interface utilisateur, curseur de déchargement GPU.
  • binaires précompilés de llama.cpp. Le projet fournit des archives Windows précompilées (CPU, CUDA et Vulkan) sur la page des versions publiées sur GitHub. Décompressez-les puis lancez llama-cli.exe de la même manière que sous Linux.

En ce qui concerne le choix du GPU, le guide GPU local pour LLM recense les options actuelles en termes de rapport prix/VRAM.

GGUF contre Safetensors contre AWQ contre GPTQ

Format Runtime principal Précision Idéal pour
GGUF llama.cpp, Ollama, LM Studio 2 à 8 bits + F16 CPU, calcul hybride CPU/GPU, Apple Silicon, usage individuel
Safetensors (FP16/BF16) Transformers, vLLM 16 bits Entraînement, recherche, inférence en pleine précision
AWQ vLLM, AutoAWQ 4 bits Service GPU haute performance
GPTQ vLLM, ExLlamaV2 3 à 8 bits Inférence GPU uniquement avec regroupement (batching)
MLX MLX (Apple) 4 à 16 bits Apple Silicon uniquement

Préférez GGUF lorsque la cible est un utilisateur unique sur une configuration matérielle hétérogène ou lorsque vous souhaitez garantir l’exécution du modèle même sur CPU. Préférez vLLM avec des safetensors AWQ/GPTQ lorsque vous servez de nombreux utilisateurs simultanés sur un GPU de centre de données.

Quand GGUF n’est pas la bonne solution

GGUF suppose une inférence mono-flux (batch-size 1). Son débit est nettement inférieur à celui de vLLM ou TensorRT-LLM sous charge concurrente, et il ne prend pas en charge l’attention paginée (« paged attention »). Si vous exposez une API destinée à un trafic réel, un déploiement en FP16 ou AWQ sur vLLM surpassera GGUF en nombre de jetons générés par seconde et par dollar, sans même comptabiliser le temps de développement investi.

Il devient également inefficace pour les modèles les plus volumineux. Kimi K3 nécessite environ 1,4 To de VRAM en quantification 4 bits et DeepSeek V4-Pro environ 800 Go — il s'agit de déploiements multi-nœuds, pas de charges de travail GGUF destinées aux postes de travail. Et pour les modèles récents hébergés, comme Claude Sonnet 4.6 à 3 $ en entrée / 15 $ en sortie par million de jetons, ou Gemini 3.6 Flash à 1,50 $ en entrée / 7,50 $ en sortie, aucun poids local n’existe à convertir. Faites le calcul sur la calculateur auto-hébergement vs API avant de vous engager dans un achat de GPU.

Convertir un modèle au format GGUF

Si un modèle est disponible sur Hugging Face au format safetensors mais qu’aucune quantification n’en a encore été faite, le flux de travail est le suivant :

# dans le dépôt llama.cpp
pip install -r requirements.txt
python convert_hf_to_gguf.py /chemin/vers/le-modele-hf --outfile modele-f16.gguf
./build/bin/llama-quantize modele-f16.gguf modele-Q4_K_M.gguf Q4_K_M

Le script de conversion ne prend en charge que les architectures intégrées à llama.cpp — llama, mistral, qwen2/3, gemma, phi, ainsi qu’une liste croissante d’autres architectures. Les nouvelles architectures nécessitent d’abord une modification du code. Les noms de fichiers et les indicateurs du script ont évolué entre les versions de llama.cpp ; vérifiez donc python convert_hf_to_gguf.py --help par rapport au commit utilisé pour votre compilation.

Questions fréquemment posées

GGUF est-il identique à GGML ?

Non. GGML était le format antérieur utilisé par llama.cpp jusqu’au milieu de l’année 2023. GGUF l’a remplacé en août 2023 avec un en-tête versionné, des métadonnées intégrées et une disposition stable des tenseurs. Les anciens fichiers .bin GGML ne sont plus chargés par la version actuelle de llama.cpp ; vous devez trouver une version GGUF re-quantifiée.

Quelle quantification dois-je télécharger ?

Commencez par Q4_K_M. Il convient à la plus large gamme de matériels, et la perte de qualité par rapport au format FP16 est faible pour la plupart des modèles comportant plus de 7 milliards de paramètres. Passez à Q5_K_M ou Q6_K si vous disposez de VRAM supplémentaire et que la précision en codage ou en raisonnement vous importe. Réduisez plutôt à Q3_K_M ou à une variante IQ3 uniquement si le modèle ne tient pas autrement dans la mémoire disponible.

Puis-je Modèles GGUF utiliser mon GPU ?

Oui. llama.cpp prend en charge CUDA (NVIDIA), ROCm (AMD), Metal (Apple), Vulkan (multi-fournisseur) et SYCL (Intel). L’indicateur -ngl déplace certaines couches vers le GPU. Si le modèle tient entièrement dans la VRAM, le débit est proche de celui des runtimes GPU dédiés ; en cas de déchargement partiel, la vitesse dépend de la couche la plus lente, quelle que soit la mémoire concernée.

GGUF fonctionne-t-il avec des modèles vision ou audio ?

Partiellement. llama.cpp prend en charge les modèles vision multimodaux de type LLaVA via un fichier mmproj GGUF associé contenant le projecteur visuel. Le support de Qwen-VL, de Gemma 3 Vision et de modèles similaires s’est progressivement étendu, mais reste en retard par rapport aux versions textuelles. Les modèles audio comme Whisper utilisent leur propre format connexe, géré par whisper.cpp, et non par le binaire principal llama.cpp.

Comment choisir un modèle GGUF adapté à mon matériel ?

Consultez la fiche du modèle sur le base de données des modèles Convly pour connaître sa consommation de VRAM en quantification 4 bits, puis soustrayez 1 à 3 Go de marge pour le contexte et la surcharge système. Sur une carte de 24 Go, Qwen3 32B (~20 Go) ou Gemma 3 27B (~16 Go) en Q4 constituent des choix confortables. Le Calculateur de VRAM gère des contextes plus longs, ce qui augmente considérablement la taille du cache KV.

Les fichiers GGUF sont-ils sûrs à exécuter ?

Les poids eux-mêmes ne sont que des nombres — contrairement aux checkpoints basés sur pickle Python, GGUF n’exécute aucun code au chargement. Le risque réside dans un fichier malveillant conçu pour exploiter une faille dans l’analyseur du runtime. Limitez-vous aux contributeurs connus sur Hugging Face (bartowski, unsloth, lmstudio-community, comptes officiels des éditeurs) et assurez-vous que llama.cpp, Ollama ou LM Studio soient à jour.

Rédigé par Mustafa Ihsan

Mustafa Ihsan est le fondateur et rédacteur en chef de Convly.ai. Il a conçu et maintient la base de données en temps réel des modèles IA du site, son indice de rapport prix/performance, ainsi que ses calculateurs gratuits pour les besoins en VRAM, les coûts d’API et l’économie de l’hébergement local. Il écrit notamment sur la tarification des modèles, les résultats de benchmarks et le matériel requis pour exécuter localement des modèles d’intelligence artificielle, privilégiant systématiquement les données mesurées aux affirmations des éditeurs.

Défiler vers le haut