Dlaczego konwertować GGUF na PTH?
Ludzie konwertują .gguf na .pth, gdy chcą dostroić (fine-tune) lub ponownie skwantyzować model w ekosystemie PyTorch, a posiadają jedynie kompilację GGUF. GGUF przechowuje metadane (jak konfiguracja) oraz dane tensorów (jak słownik stanów), więc zmapowanie go z powrotem na słownik stanów PyTorch jest możliwe dla obsługiwanych architektur. Jest to ścieżka odzyskiwania danych, a nie proces bezstratny.
Jak przekonwertować GGUF na PTH
Biblioteka gguf Python + PyTorch OPEN-SOURCE
Zainstaluj gguf oraz torch, a następnie wykonaj pętlę po GGUFReader(path).tensors, uruchom gguf.quants.dequantize() na każdym z nich i wykonaj torch.save(state_dict, „model.pth”). Musisz zmapować nazwy tensorów GGUF z powrotem na oryginalne klucze modelu.
gguf_to_safetensors, a następnie konwersja OPEN-SOURCE
Uruchom gguf_to_safetensors, aby zdekwantyzować dane do pliku .safetensors, a następnie załaduj go za pomocą safetensors.torch.load_file i zapisz ponownie przez torch.save(), aby uzyskać .pth.
Narzędzia odwrotne llama.cpp FREE
Czytnik gguf w llama.cpp udostępnia tensory; napisz skrypt dla kroku dekwantyzacji i zapisz słownik stanów PyTorch. Tylko architektury w pełni obsługiwane przez llama.cpp przejdą ten proces poprawnie.
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 .pth to najczęściej plik konfiguracyjny ścieżki Python - mały plik tekstowy, który informuje Python, jakie dodatkowe katalogi dodać do ścieżki wyszukiwania modułów podczas…
Otwórz szczegóły .PTH →Jakość i na co uważać
- Skwantyzowane wagi GGUF są stratne - dekwantyzacja daje przybliżenie, nigdy oryginalne wartości FP16/FP32.
- Mapowanie nazw tensorów jest specyficzne dla architektury; nieobsługiwane modele nie zostaną zmapowane i konwersja się nie powiedzie.
- Wynikowy
.pthto surowy słownik stanów bez klasy modelu, więc nadal potrzebujesz pasującego kodu modelu PyTorch, aby go załadować.
Najczęściej zadawane pytania
Czy mogę odzyskać dokładnie oryginalny model?
Czy potrzebuję GPU?
Dlaczego moja konwersja generuje błędne nazwy tensorów?
Co jest lepsze, .pth czy .safetensors?
.safetensors jest bezpieczniejszy do udostępniania (brak wykonywania kodu pickle) i ładuje się szybciej, ale .pth jest natywnym formatem słownika stanów PyTorch do trenowania.