¿Por qué convertir GGUF a PTH?
Los usuarios convierten .gguf a .pth cuando quieren realizar un ajuste fino (fine-tune) o re-cuantizar un modelo en el ecosistema de PyTorch pero solo disponen de la compilación GGUF. Un GGUF almacena metadatos (como una configuración) más datos de tensores (como un state dict), por lo que mapearlo de nuevo a un state dict de PyTorch es posible para arquitecturas compatibles. Es una vía de recuperación, no una pérdida cero.
Cómo convertir GGUF a PTH
Librería de Python gguf + PyTorch OPEN-SOURCE
Instala gguf y torch, luego itera sobre GGUFReader(path).tensors, ejecuta gguf.quants.dequantize() en cada uno y usa torch.save(state_dict, "model.pth"). Debes remapear los nombres de los tensores GGUF a las claves originales del modelo.
gguf_to_safetensors y luego convertir OPEN-SOURCE
Ejecuta gguf_to_safetensors para des-cuantizar a un archivo .safetensors, luego cárgalo con safetensors.torch.load_file y vuelve a guardar mediante torch.save() para obtener un .pth.
Herramientas inversas de llama.cpp FREE
El lector gguf de llama.cpp expone los tensores; programa el paso de des-cuantización y escribe un state dict de PyTorch. Solo las arquitecturas que llama.cpp soporta totalmente funcionarán correctamente.
Acerca de estos formatos
Un archivo .gguf es un archivo de formato universal GGML (GGML Universal Format), el contenedor binario utilizado por llama.cpp y herramientas relacionadas para almacenar un modelo de…
Abrir detalles de .GGUF →Un archivo .pth es comúnmente un archivo de configuración de rutas de Python: un pequeño archivo de texto plano que le indica a Python qué directorios adicionales agregar a su ruta de…
Abrir detalles de .PTH →Calidad y qué observar
- Los pesos de un GGUF cuantizado tienen pérdida: la des-cuantización da una aproximación, nunca los valores originales FP16/FP32.
- El mapeo de nombres de tensores es específico de cada arquitectura; los modelos no compatibles no se remapearán y la conversión fallará.
- El
.pthresultante es un state dict puro sin clase de modelo, por lo que aún necesitas el código del modelo de PyTorch correspondiente para cargarlo.
Preguntas frecuentes
¿Puedo recuperar el modelo original exactamente?
¿Necesito una GPU?
¿Por qué mi conversión produce nombres de tensores incorrectos?
¿Qué es mejor, .pth o .safetensors?
.safetensors es más seguro para compartir (sin ejecución de código pickle) y carga más rápido, pero .pth es el formato nativo de state-dict de PyTorch para entrenamiento.