Perché convertire GGUF in PTH?
Gli utenti convertono .gguf in .pth quando desiderano eseguire il fine-tuning o la ri-quantizzazione di un modello nell'ecosistema PyTorch ma dispongono solo della build GGUF. Un GGUF memorizza metadati (come un file di configurazione) più i dati dei tensori (come uno state dict), quindi la mappatura verso uno state dict PyTorch è possibile per le architetture supportate. È un percorso di recupero, non un processo lossless.
Come convertire GGUF in PTH
Libreria Python gguf + PyTorch OPEN-SOURCE
Installa gguf e torch, quindi itera su GGUFReader(path).tensors, esegui gguf.quants.dequantize() su ciascuno e usa torch.save(state_dict, "model.pth"). È necessario rimappare i nomi dei tensori GGUF alle chiavi originali del modello.
gguf_to_safetensors e successiva conversione OPEN-SOURCE
Esegui gguf_to_safetensors per dequantizzare in un file .safetensors, quindi caricalo con safetensors.torch.load_file e salva nuovamente tramite torch.save() per ottenere un .pth.
Strumenti di reverse di llama.cpp FREE
Il lettore gguf di llama.cpp espone i tensori; scrivi uno script per la fase di dequantizzazione e scrivi uno state dict PyTorch. Solo le architetture pienamente supportate da llama.cpp completeranno il round-trip.
Informazioni su questi formati
Un file .gguf è un file GGML Universal Format, il contenitore binario utilizzato da llama.cpp e strumenti correlati per memorizzare un modello linguistico di grandi dimensioni come file…
Apri dettagli .GGUF →Un file .pth è più comunemente un file di configurazione del percorso Python - un piccolo file di testo semplice che indica a Python quali directory aggiuntive aggiungere al suo percorso di…
Apri dettagli .PTH →Qualità e a cosa prestare attenzione
- I pesi GGUF quantizzati sono lossy: la dequantizzazione fornisce un'approssimazione, mai i valori FP16/FP32 originali.
- La mappatura dei nomi dei tensori è specifica per ogni architettura; i modelli non supportati non verranno rimappati e la conversione fallirà.
- Il file
.pthrisultante è uno state dict nudo senza classe di modello, quindi è comunque necessario il codice del modello PyTorch corrispondente per caricarlo.
Domande frequenti
Posso recuperare esattamente il modello originale?
Ho bisogno di una GPU?
Perché la mia conversione produce nomi di tensori errati?
È meglio .pth o .safetensors?
.safetensors è più sicuro da condividere (nessuna esecuzione di codice pickle) e si carica più velocemente, ma .pth è il formato nativo dello state-dict di PyTorch per l'addestramento.