Pourquoi convertir GGUF en PTH ?
On convertit le .gguf en .pth lorsqu'on souhaite affiner (fine-tune) ou re-quantifier un modèle dans l'écosystème PyTorch alors qu'on ne dispose que de la version GGUF. Un GGUF stocke des métadonnées (comme une configuration) plus des données de tenseurs (comme un dictionnaire d'état), donc le mappage vers un dictionnaire d'état PyTorch est possible pour les architectures prises en charge. C'est une voie de récupération, pas un processus sans perte.
Comment convertir GGUF en PTH
Bibliothèque Python gguf + PyTorch OPEN-SOURCE
Installez gguf et torch, puis bouclez sur GGUFReader(path).tensors, exécutez gguf.quants.dequantize() sur chacun, et faites torch.save(state_dict, "model.pth"). Vous devez remapper les noms des tenseurs GGUF vers les clés d'origine du modèle.
gguf_to_safetensors puis conversion OPEN-SOURCE
Exécutez gguf_to_safetensors pour déquantifier vers un fichier .safetensors, puis chargez-le avec safetensors.torch.load_file et sauvegardez-le via torch.save() pour obtenir un .pth.
Outils inverses llama.cpp FREE
Le lecteur gguf de llama.cpp expose les tenseurs ; scriptez l'étape de déquantification et écrivez un dictionnaire d'état PyTorch. Seules les architectures pleinement supportées par llama.cpp fonctionneront.
À propos de ces formats
Un fichier .gguf est un fichier au format universel GGML (GGML Universal Format), le conteneur binaire utilisé par llama.cpp et les outils associés pour stocker un grand modèle de langage…
Ouvrir les détails de .GGUF →Un fichier .pth est le plus souvent un fichier de configuration du chemin Python - un minuscule fichier en texte brut qui indique à Python quels répertoires supplémentaires ajouter à son…
Ouvrir les détails de .PTH →Qualité et points de vigilance
- Les poids GGUF quantifiés sont avec perte - la déquantification donne une approximation, jamais les valeurs FP16/FP32 d'origine.
- Le mappage des noms de tenseurs est spécifique à l'architecture ; les modèles non supportés ne seront pas mappés et la conversion échouera.
- Le fichier
.pthde sortie est un dictionnaire d'état brut sans classe de modèle, vous avez donc toujours besoin du code de modèle PyTorch correspondant pour le charger.
Foire aux questions
Puis-je récupérer exactement le modèle original ?
Ai-je besoin d'un GPU ?
Pourquoi ma conversion produit-elle des noms de tenseurs erronés ?
Lequel est le meilleur, .pth ou .safetensors ?
.safetensors est plus sûr à partager (pas d'exécution de code pickle) et se charge plus rapidement, mais .pth est le format natif de dictionnaire d'état PyTorch pour l'entraînement.