Hvorfor konvertere GGUF til PTH?
Folk konverterer .gguf til .pth, når de vil finjustere eller re-kvantisere en model i PyTorch-økosystemet, men kun har GGUF-buildet. En GGUF gemmer metadata (som en konfiguration) plus tensordata (som en state dict), så det er muligt at mappe den tilbage til en PyTorch state dict for understøttede arkitekturer. Det er en gendannelsesvej, ikke en tabsfri proces.
Sådan konverterer du GGUF til PTH
gguf Python-bibliotek + PyTorch OPEN-SOURCE
Installer gguf og torch, gennemløb derefter GGUFReader(path).tensors, kør gguf.quants.dequantize() på hver, og brug torch.save(state_dict, "model.pth"). Du skal mappe GGUF-tensornavne tilbage til modellens originale nøgler.
gguf_to_safetensors derefter konverter OPEN-SOURCE
Kør gguf_to_safetensors for at dekvantisere til en .safetensors-fil, indlæs den derefter med safetensors.torch.load_file og gem igen via torch.save() for at få en .pth.
llama.cpp reverse-værktøjer FREE
llama.cpp's gguf-læser eksponerer tensorerne; script dekvantiseringstrinnet og skriv en PyTorch state dict. Kun arkitekturer, som llama.cpp fuldt ud understøtter, vil fungere korrekt.
Om disse formater
En .gguf-fil er en GGML Universal Format-fil, den binære container, der bruges af llama.cpp og relaterede værktøjer til at gemme en stor sprogmodel som en enkelt fil. Den indeholder…
Åbn .GGUF detaljer →En .pth-fil er oftest en Python-stikonfigurationsfil - en lille almindelig tekstfil, der fortæller Python, hvilke ekstra mapper der skal føjes til dens modul-søgesti, når den starter. Du…
Åbn .PTH detaljer →Kvalitet & hvad man skal være opmærksom på
- Kvantiserede GGUF-vægte er tabsgivende - dekvantisering giver en tilnærmelse, aldrig de originale FP16/FP32-værdier.
- Mapping af tensornavne er arkitekturspecifik; ikke-understøttede modeller vil ikke blive mappet korrekt, og konverteringen fejler.
- Outputtet
.pther en rå state dict uden modelklasse, så du skal stadig bruge matchende PyTorch-modelkode for at indlæse den.
Ofte stillede spørgsmål
Kan jeg få den originale model præcis tilbage?
Har jeg brug for en GPU?
Hvorfor producerer min konvertering forkerte tensornavne?
Hvad er bedst, .pth eller .safetensors?
.safetensors er sikrere at dele (ingen eksekvering af pickle-kode) og indlæses hurtigere, men .pth er det indfødte PyTorch state-dict-format til træning.