GGUF: различия между версиями

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

Версия от 00:41, 22 июля 2025

GGUF — двоичный формат файла, предназначенный для хранения переносимых моделей машинного обучения, предназначенных для использования в библиотеке GGML и совместимых с ней. Является обобщением предшествующих форматов GGML, GGMF, GGJT, заменяя их.

В настоящее время существуют следующие форматы файлов GGML для LLM:

  • GGML (без версионирования): базовый формат без версионирования и выравнивания.
  • GGMF (с версионированием): то же, что и GGML, но с версионированием. Существует только одна версия.
  • GGJT: выравнивает тензоры для использования с mmap. Версии v1, v2 и v3 идентичны, но последние используют другую схему квантования, несовместимую с предыдущими версиями.

GGML в основном используется в примерах в `ggml`, тогда как GGJT используется в моделях `llama.cpp`.

Внутреннее устройство

GGUF — это формат, основанный на существующем GGJT, но вносящий несколько изменений для большей расширяемости и удобства использования.

Важные особенности реализации:

  • Развертывание в виде одного файла: модели легко распространяются и загружаются, не требуя дополнительных внешних файлов.
  • Расширяемость: новые функции могут быть добавлены к исполнителям на основе GGML/новая информация может быть добавлена в модели GGUF без нарушения совместимости с существующими моделями.
  • Совместимость с mmap: модели можно загружать с помощью mmap, что радикально ускоряет их использования.
  • Простота использования: модели можно легко загружать и сохранять, используя небольшой объём кода, без необходимости использования внешних библиотек, независимо от используемого языка.
  • Полная информация: вся информация, необходимая для загрузки модели, содержится в файле модели, и пользователю не требуется предоставлять дополнительную информацию.

Ключевым отличием GGJT от GGUF является использование структуры «ключ-значение» для гиперпараметров (теперь называемой метаданными), а не списка нетипизированных значений. Это позволяет добавлять новые метаданные без нарушения совместимости с существующими моделями и аннотировать модель дополнительной информацией, которая может быть полезна для вывода или идентификации модели.

Сравнение с другими форматами файлов машинного обучения

Ссылки

Примечания