GGUF: различия между версиями
In.wiki (комментарии | вклад) |
In.wiki (комментарии | вклад) |
||
Строка 5: | Строка 5: | ||
* GGML (без версионирования): базовый формат без версионирования и выравнивания. | * GGML (без версионирования): базовый формат без версионирования и выравнивания. | ||
* GGMF (с версионированием): то же, что и GGML, но с версионированием. Существует только одна версия. | * GGMF (с версионированием): то же, что и GGML, но с версионированием. Существует только одна версия. | ||
− | * GGJT | + | * GGJT [[Выравнивание данных|выравнивает]] [[Тензор (машинное обучение)|тензоры]] для использования с mmap. Версии v1, v2 и v3 идентичны, но последние используют другую схему квантования, несовместимую с предыдущими версиями. |
+ | * GGUF - последняя версия формата. | ||
GGML в основном используется в примерах в `[[GGML (библиотека машинного обучения)|ggml]]`, тогда как GGJT используется в моделях `[[llama.cpp]]`. | GGML в основном используется в примерах в `[[GGML (библиотека машинного обучения)|ggml]]`, тогда как GGJT используется в моделях `[[llama.cpp]]`. |
Версия от 00:42, 22 июля 2025
GGUF — двоичный формат файла, предназначенный для хранения переносимых моделей машинного обучения, предназначенных для использования в библиотеке GGML и совместимых с ней. Является обобщением предшествующих форматов GGML, GGMF, GGJT, заменяя их.
В настоящее время существуют следующие форматы файлов GGML для LLM:
- GGML (без версионирования): базовый формат без версионирования и выравнивания.
- GGMF (с версионированием): то же, что и GGML, но с версионированием. Существует только одна версия.
- GGJT выравнивает тензоры для использования с mmap. Версии v1, v2 и v3 идентичны, но последние используют другую схему квантования, несовместимую с предыдущими версиями.
- GGUF - последняя версия формата.
GGML в основном используется в примерах в `ggml`, тогда как GGJT используется в моделях `llama.cpp`.
Внутреннее устройство
GGUF — это формат, основанный на существующем GGJT, но вносящий несколько изменений для большей расширяемости и удобства использования.
Важные особенности реализации:
- Развертывание в виде одного файла: модели легко распространяются и загружаются, не требуя дополнительных внешних файлов.
- Расширяемость: новые функции могут быть добавлены к исполнителям на основе GGML/новая информация может быть добавлена в модели GGUF без нарушения совместимости с существующими моделями.
- Совместимость с mmap: модели можно загружать с помощью mmap, что радикально ускоряет их использования.
- Простота использования: модели можно легко загружать и сохранять, используя небольшой объём кода, без необходимости использования внешних библиотек, независимо от используемого языка.
- Полная информация: вся информация, необходимая для загрузки модели, содержится в файле модели, и пользователю не требуется предоставлять дополнительную информацию.
Ключевым отличием GGJT от GGUF является использование структуры «ключ-значение» для гиперпараметров (теперь называемой метаданными), а не списка нетипизированных значений. Это позволяет добавлять новые метаданные без нарушения совместимости с существующими моделями и аннотировать модель дополнительной информацией, которая может быть полезна для вывода или идентификации модели.