Skip to main content
PromptQuorumPromptQuorum

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

Technique & Concept ExplainersIntermédiaire

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.

Questions fréquentes

Dois-je quantifier pendant la conversion ou convertir d'abord en pleine précision ?
Convertissez d'abord en pleine précision (f16) si vous prévoyez de comparer plusieurs niveaux de quantification — quantifier séparément ensuite à partir de la même source f16 donne des résultats plus précis que de quantifier directement à partir d'un modèle source pendant la conversion, et permet de produire plusieurs variantes quantifiées sans répéter l'étape de conversion.
Pourquoi mon fichier GGUF converti ne se charge-t-il pas dans Ollama ou LM Studio alors que la conversion a réussi ?
Une conversion réussie ne garantit pas que l'outil de chargement prend en charge cette architecture ou cette version de GGUF spécifique. Vérifiez que la version de votre outil de chargement est à jour — le format GGUF et la prise en charge des architectures évoluent tous deux, et une version d'outil plus ancienne peut ne pas reconnaître un fichier produit par un script de conversion plus récent.
De combien d'espace disque la conversion a-t-elle besoin ?
Prévoyez la taille complète du modèle source plus la taille du fichier GGUF de sortie simultanément — pour une conversion en pleine précision, cela double approximativement l'empreinte du modèle pendant le processus. Les fichiers de sortie quantifiés sont plus petits, mais les fichiers source doivent rester présents jusqu'à la fin de la conversion.
Puis-je convertir un modèle déjà affiné (fine-tuné) ?
Oui — le processus de conversion fonctionne de la même façon sur un modèle affiné que sur un modèle de base, tant que les poids affinés sont enregistrés dans un format standard compatible avec Hugging Face. Si l'affinage a utilisé des poids d'adaptateur (comme LoRA) plutôt que des poids complets, fusionnez d'abord l'adaptateur avec le modèle de base, puis convertissez le résultat fusionné.