Por que converter GGUF para PTH?
As pessoas convertem .gguf para .pth quando desejam fazer ajuste fino (fine-tune) ou re-quantizar um modelo no ecossistema PyTorch, mas possuem apenas a versão GGUF. Um GGUF armazena metadados (como uma configuração) e dados de tensores (como um dicionário de estados), portanto, mapeá-lo de volta para um dicionário de estados PyTorch é possível para arquiteturas suportadas. É um caminho de recuperação, não um processo lossless.
Como converter GGUF para PTH
Biblioteca Python gguf + PyTorch OPEN-SOURCE
Instale gguf e torch, então percorra GGUFReader(path).tensors, execute gguf.quants.dequantize() em cada um e use torch.save(state_dict, "model.pth"). Você deve remapear os nomes dos tensores GGUF de volta para as chaves originais do modelo.
gguf_to_safetensors e depois converter OPEN-SOURCE
Execute gguf_to_safetensors para desquantizar para um arquivo .safetensors, depois carregue-o com safetensors.torch.load_file e salve novamente via torch.save() para obter um .pth.
Ferramentas reversas do llama.cpp FREE
O leitor gguf do llama.cpp expõe os tensores; crie um script para a etapa de desquantização e grave um dicionário de estados PyTorch. Apenas as arquiteturas que o llama.cpp suporta totalmente funcionarão corretamente.
Sobre estes formatos
Um arquivo .gguf é um GGML Universal Format File, o contêiner binário usado pelo llama.cpp e ferramentas relacionadas para armazenar um modelo de linguagem grande como um único arquivo. Ele…
Abrir detalhes de .GGUF →Um arquivo .pth é mais comumente um arquivo de configuração de caminho do Python - um pequeno arquivo de texto simples que informa ao Python quais diretórios extras adicionar ao seu caminho…
Abrir detalhes de .PTH →Qualidade e o que observar
- Pesos GGUF quantizados são lossy - a desquantização gera uma aproximação, nunca os valores FP16/FP32 originais.
- O mapeamento de nomes de tensores é específico da arquitetura; modelos não suportados não serão remapeados e a conversão falhará.
- O arquivo
.pthde saída é um dicionário de estados puro sem classe de modelo, então você ainda precisará do código do modelo PyTorch correspondente para carregá-lo.
Perguntas frequentes
Posso recuperar o modelo original exatamente?
Preciso de uma GPU?
Por que minha conversão produz nomes de tensores errados?
Qual é melhor, .pth ou .safetensors?
.safetensors é mais seguro para compartilhar (sem execução de código pickle) e carrega mais rápido, mas .pth é o formato nativo de dicionário de estados do PyTorch para treinamento.