¿Por qué convertir GGUF a ONNX?
Los usuarios quieren GGUF como .onnx para ejecutar un modelo en ONNX Runtime, DirectML u otros aceleradores multiplataforma que no leen GGUF. Debido a que ONNX necesita un grafo de computación estándar y GGUF es un contenedor cuantizado específico de llama.cpp, primero debes reconstruir un modelo de PyTorch normal y luego exportarlo.
Cómo convertir GGUF a ONNX
Des-cuantizar GGUF a safetensors OPEN-SOURCE
Usa un convertidor como la herramienta ungguf o un script lector de gguf para transformar el .gguf de nuevo en safetensors de precisión completa que Transformers pueda cargar.
Exportar a ONNX con Optimum FREE
Apunta Optimum al modelo reconstruido: optimum-cli export onnx --model ./model-dir onnx-out/ escribe el archivo .onnx.
Exportar manualmente con PyTorch OPEN-SOURCE
Para arquitecturas no compatibles, carga el modelo en PyTorch y llama a torch.onnx.export(model, dummy_input, "model.onnx") tú mismo.
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 .ONNX es un archivo de datos utilizado por un software específico.
Abrir detalles de .ONNX →Calidad y qué observar
- Des-cuantizar un GGUF cuantizado no puede recuperar la precisión perdida durante la cuantización, y los tipos de cuantización complejos (como las variantes IQ) pueden no convertirse correctamente.
- El ONNX resultante es de precisión completa, por lo que puede ser varias veces más grande que el GGUF compacto original.
- Optimum solo admite ciertas arquitecturas de forma nativa; los modelos de nicho o personalizados pueden necesitar una configuración de exportación manual o fallar.