Hvorfor konvertere GGUF til ONNX?
Folk vil ha GGUF som .onnx for å kjøre en modell i ONNX Runtime, DirectML eller andre plattformuavhengige akseleratorer som ikke leser GGUF. Fordi ONNX trenger en standard beregningsgraf og GGUF er en llama.cpp-spesifikk kvantisert beholder, må du først rekonstruere en vanlig PyTorch-modell og deretter eksportere den.
Hvordan konvertere GGUF til ONNX
Dekvantiser GGUF til safetensors OPEN-SOURCE
Bruk en konverterer som verktøyet ungguf eller et gguf-leserskript for å gjøre .gguf tilbake til fullpresisjons safetensors som Transformers kan laste.
Eksporter til ONNX med Optimum FREE
Pek Optimum mot den rekonstruerte modellen: optimum-cli export onnx --model ./model-dir onnx-out/ skriver .onnx-filen.
Eksporter manuelt med PyTorch OPEN-SOURCE
For arkitekturer som ikke støttes, last modellen i PyTorch og kall torch.onnx.export(model, dummy_input, "model.onnx") selv.
Om disse formatene
En .gguf-fil er en GGML Universal Format-fil, den binære beholderen som brukes av llama.cpp og relaterte verktøy for å lagre en stor språkmodell som en enkelt fil. Den inneholder…
Åpne .GGUF-detaljer →En .ONNX-fil er en datafil som brukes av spesifikk programvare.
Åpne .ONNX-detaljer →Kvalitet og hva du bør passe på
- Dekvantisering av en kvantisert GGUF kan ikke gjenopprette presisjonen som gikk tapt under kvantisering, og komplekse kvantiseringstyper (som IQ-varianter) vil kanskje ikke konverteres feilfritt.
- Den resulterende ONNX-filen har full presisjon, så den kan være flere ganger større enn den kompakte GGUF-filen du startet med.
- Optimum støtter kun visse arkitekturer rett ut av boksen; nisjemodeller eller tilpassede modeller kan trenge en manuell eksportkonfigurasjon eller feile.