Por que converter GGUF para ONNX?
As pessoas querem GGUF como .onnx para executar um modelo no ONNX Runtime, DirectML ou outros aceleradores multiplataforma que não leem GGUF. Como o ONNX precisa de um grafo de computação padrão e o GGUF é um contêiner quantizado específico do llama.cpp, você primeiro reconstrói um modelo PyTorch normal e depois o exporta.
Como converter GGUF para ONNX
Desquantizar GGUF para safetensors OPEN-SOURCE
Use um conversor como a ferramenta ungguf ou um script de leitura de gguf para transformar o .gguf de volta em safetensors de precisão total que o Transformers possa carregar.
Exportar para ONNX com Optimum FREE
Aponte o Optimum para o modelo reconstruído: optimum-cli export onnx --model ./model-dir onnx-out/ grava o arquivo .onnx.
Exportar manualmente com PyTorch OPEN-SOURCE
Para arquiteturas não suportadas, carregue o modelo no PyTorch e chame torch.onnx.export(model, dummy_input, "model.onnx") você mesmo.
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 .ONNX é um arquivo de dados usado por um software específico.
Abrir detalhes de .ONNX →Qualidade e o que observar
- Desquantizar um GGUF quantizado não recupera a precisão perdida durante a quantização, e tipos complexos de quantização (como variantes IQ) podem não converter perfeitamente.
- O ONNX resultante é de precisão total, portanto, pode ser várias vezes maior que o GGUF compacto original.
- O Optimum suporta apenas certas arquiteturas nativamente; modelos de nicho ou personalizados podem precisar de uma configuração de exportação manual ou falhar.