Зачем конвертировать GGUF в PTH?
Пользователи конвертируют .gguf в .pth, когда хотят дообучить или повторно квантовать модель в экосистеме PyTorch, имея на руках только сборку GGUF. GGUF хранит метаданные (как конфиг) и данные тензоров (как state dict), поэтому обратное сопоставление с PyTorch возможно для поддерживаемых архитектур. Это путь восстановления, а не преобразование без потерь.
Способы конвертации GGUF в PTH
Библиотека gguf Python + PyTorch OPEN-SOURCE
Установите gguf и torch, затем переберите GGUFReader(path).tensors, выполните gguf.quants.dequantize() для каждого и вызовите torch.save(state_dict, "model.pth"). Вам придется вручную сопоставить имена тензоров GGUF с оригинальными ключами модели.
gguf_to_safetensors с последующей конвертацией OPEN-SOURCE
Запустите gguf_to_safetensors для деквантования в файл .safetensors, затем загрузите его с помощью safetensors.torch.load_file и пересохраните через torch.save(), чтобы получить .pth.
Инструменты реверса llama.cpp FREE
Ридер gguf в llama.cpp открывает доступ к тензорам; напишите скрипт для этапа деквантования и записи state dict PyTorch. Корректно сработает только для архитектур, полностью поддерживаемых llama.cpp.
Об этих форматах
Файл .gguf - это файл формата GGML Universal Format, бинарный контейнер, используемый llama.cpp и сопутствующими инструментами для хранения больших языковых моделей в виде одного файла. Он…
Открыть детали .GGUF →Файл .pth чаще всего является файлом конфигурации путей Python - это крошечный текстовый файл, который сообщает Python, какие дополнительные каталоги следует добавить в путь поиска модулей…
Открыть детали .PTH →Качество и на что обратить внимание
- Квантованные веса GGUF содержат потери - деквантование дает лишь приближение, а не оригинальные значения FP16/FP32.
- Сопоставление имен тензоров зависит от архитектуры; для неподдерживаемых моделей ключи не совпадут, и конвертация не удастся.
- Выходной файл
.pth- это чистый state dict без класса модели, поэтому для его загрузки вам все равно понадобится соответствующий код модели PyTorch.
Часто задаваемые вопросы
Можно ли вернуть оригинал модели в точности?
Нужен ли GPU?
Почему при конвертации получаются неправильные имена тензоров?
Что лучше: .pth или .safetensors?
.safetensors безопаснее для обмена (нет исполнения кода через pickle) и загружается быстрее, но .pth является нативным форматом state-dict PyTorch для обучения.