Comment convertir un modèle en GGUF avec llama.cpp ?
Réponse rapide
Exécutez le script de conversion de llama.cpp sur un répertoire de modèle au format Hugging Face, en précisant un type de sortie comme f16 (pleine précision) ou un format quantifié comme q4_k_m. Le script lit les poids et la configuration du modèle, les écrit dans un seul fichier .gguf, et ce fichier peut être chargé directement par llama.cpp, Ollama ou LM Studio.
- ▸Le modèle source doit être au format Hugging Face (safetensors ou checkpoint PyTorch) avant la conversion
- ▸Choisissez un type de sortie : f16/f32 pour la pleine précision, ou un type quantifié pour convertir et réduire la taille en une seule étape
- ▸Quantifier séparément après une conversion en f16 offre plus de contrôle que de quantifier pendant la conversion
Mis à jour : 15 juillet 2026
Points clés
- ✓La conversion GGUF lit les poids et métadonnées d'un modèle au format Hugging Face et les écrit dans un seul fichier .gguf portable
- ✓Convertissez d'abord en f16/f32 si vous prévoyez d'essayer plusieurs niveaux de quantification — quantifier à partir d'une conversion déjà quantifiée fait perdre plus de qualité que de quantifier à partir de la pleine précision
- ✓Le type de sortie choisi au moment de la conversion détermine à la fois la taille du fichier et la qualité d'inférence — il n'y a pas de repas gratuit entre les deux
- ✓La plupart des erreurs de conversion proviennent d'un répertoire de modèle source incompatible ou incomplet, pas du script de conversion lui-même
Le processus de conversion
La conversion comprend trois étapes pratiques : préparer le modèle source, exécuter le script de conversion avec un type de sortie et — si vous avez converti en pleine précision — quantifier ensuite.
- ▸**1. Préparer le modèle source :** le script de conversion attend un répertoire au format Hugging Face contenant les fichiers de poids du modèle (safetensors est préféré aux anciens checkpoints PyTorch `.bin`) ainsi que ses fichiers de configuration et de tokenizer. Un répertoire partiellement téléchargé ou assemblé manuellement auquel il manque les fichiers de tokenizer est la cause la plus fréquente d'échec de conversion.
- ▸**2. Exécuter le script de conversion avec un type de sortie :** `python convert_hf_to_gguf.py
--outtype f16` produit un fichier GGUF en pleine précision. Passer un `--outtype` quantifié (par ex. `q8_0`) quantifie pendant la conversion en une seule étape, mais offre moins de contrôle que de convertir d'abord en f16 puis de quantifier séparément ensuite avec un outil de quantification dédié. - ▸**3. Quantifier séparément pour plus de contrôle (optionnel mais recommandé) :** à partir d'un fichier GGUF en f16, exécutez l'outil de quantification de llama.cpp pour produire plusieurs variantes quantifiées (par ex. q4_k_m, q5_k_m) à partir de la même source en pleine précision, ce qui permet de comparer les compromis qualité/taille sans relancer la conversion à chaque fois.
Erreurs de conversion courantes
La plupart des échecs de conversion se répartissent en quelques catégories, presque toujours attribuables au modèle source plutôt qu'au script lui-même.
- ▸**Architecture non reconnue :** le script de conversion maintient une liste interne des architectures de modèles prises en charge. Une architecture très récente ou inhabituelle peut ne pas encore être prise en charge — vérifiez la liste d'architectures actuelle de l'outil avant de supposer que les fichiers du modèle sont défectueux.
- ▸**Fichiers de tokenizer manquants :** la conversion a besoin de la configuration du tokenizer en plus des poids. Un répertoire de modèle contenant uniquement les fichiers de poids, sans fichiers de tokenizer, échouera en cours de conversion.
- ▸**Attentes de format de fichier non concordantes :** les anciens checkpoints PyTorch `.bin` nécessitent parfois une étape de conversion supplémentaire vers safetensors selon la version de l'outil — privilégiez le téléchargement de modèles déjà fournis au format safetensors pour éviter complètement ce problème.
- ▸**Espace disque ou RAM insuffisants pendant la conversion :** la conversion charge le modèle en pleine précision en mémoire avant de l'écrire, elle nécessite donc environ autant de RAM que la taille du modèle en pleine précision, plus l'espace disque pour les fichiers source et le fichier GGUF de sortie simultanément.