Dlaczego konwertować GGUF na ONNX?
Użytkownicy chcą GGUF jako .onnx, aby uruchomić model w ONNX Runtime, DirectML lub innych akceleratorach wieloplatformowych, które nie odczytują GGUF. Ponieważ ONNX wymaga standardowego grafu obliczeniowego, a GGUF jest skwantyzowanym kontenerem specyficznym dla llama.cpp, należy najpierw zrekonstruować normalny model PyTorch, a następnie go wyeksportować.
Jak przekonwertować GGUF na ONNX
Dekwantyzacja GGUF do safetensors OPEN-SOURCE
Użyj konwertera, takiego jak narzędzie ungguf lub skryptu czytającego gguf, aby zamienić plik .gguf z powrotem na safetensors o pełnej precyzji, które Transformers mogą załadować.
Eksport do ONNX za pomocą Optimum FREE
Wskaż Optimum zrekonstruowany model: polecenie optimum-cli export onnx --model ./model-dir onnx-out/ zapisze plik .onnx.
Ręczny eksport za pomocą PyTorch OPEN-SOURCE
W przypadku nieobsługiwanych architektur załaduj model w PyTorch i samodzielnie wywołaj torch.onnx.export(model, dummy_input, „model.onnx”).
O tych formatach
Plik .gguf to plik formatu GGML Universal Format, binarny kontener używany przez llama.cpp i powiązane narzędzia do przechowywania dużych modeli językowych w pojedynczym pliku. Zawiera on…
Otwórz szczegóły .GGUF →Plik .ONNX to plik danych używany przez określone oprogramowanie.
Otwórz szczegóły .ONNX →Jakość i na co uważać
- Dekwantyzacja skwantyzowanego GGUF nie przywraca precyzji utraconej podczas kwantyzacji, a złożone typy kwantyzacji (jak warianty IQ) mogą nie konwertować się poprawnie w obie strony.
- Wynikowy plik ONNX ma pełną precyzję, więc może być kilkakrotnie większy niż kompaktowy plik GGUF, od którego zaczynałeś.
- Optimum obsługuje standardowo tylko niektóre architektury; niszowe lub niestandardowe modele mogą wymagać ręcznej konfiguracji eksportu lub mogą zakończyć się błędem.