GGUF формат для инференса больших моделей

Термин глоссария

GGUF


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

Определение

GGUF (General-purpose GPU-less Format) — это улучшенный формат весов для систем инференса на CPU и GPU в проектах семейства llama.cpp. Он создан для решения ограничений GGML: слабое описание метаданных, жёсткая структура тензоров и отсутствие стандартизированной поддержки новых архитектур. GGUF предоставляет расширенную модельную спецификацию, чёткую схему метаданных, явные типы квантования и стабильный бинарный контейнер, пригодный для больших и сложных моделей.

Как работает

GGUF представляет собой контейнер с явным заголовком, структурированными метаданными и последовательностью тензоров в различных форматах квантования (FP16, Q4_K, Q5_K, Q8_K и др.). В отличие от GGML, формат описывает:

  • размеры слоёв и точные тензорные формы;
  • маркерные поля для rope, attention, tokenizer и специальных токенов;
  • полные параметры архитектуры: количество голов, размеры MLP, параметры rotary embedding;
  • гибкую схему расширения — новые поля можно добавлять без изменения самого фреймворка.

Инференс не встроен в формат: GGUF используется llama.cpp и другими рантаймами как источник весов. Конвертация выполняется утилитами convert-*, позволяя переносить модели из PyTorch, HF Transformers и других фреймворков.

Где применяется

  • llama.cpp и все его производные (компактный локальный инференс).
  • Web-инференс в браузере (через WebGPU/WASM backends).
  • Мобильные приложения с локальным LLM.
  • Edge-устройства с ограниченной памятью.
  • Сторонние рантаймы, использующие GGUF как стандарт обмена весами.

Практические примеры использования

Современные LLM, распространяемые в локальной форме — LLaMA 3, Phi 3, Mistral, Qwen, Gemma и другие — поставляются в GGUF. Разработчики дистрибутивов (например, TheBloke) готовят несколько квантованных вариантов, оптимизированных под CPU или WebGPU. GGUF также используют мультимодальные модели: Llava, BakLLaVA, Moondream. В ряде локальных ассистентов GGUF стал стандартным способом доставки моделей конечному пользователю.

Ключевые свойства

  • Строгая структура метаданных: тип токенизатора, спецтокены, rope, параметры attention.
  • Поддержка широкого набора квантований, включая K-серии (Q4_K/Q5_K/Q8_K).
  • Расширяемый формат — новые параметры добавляются без изменения спецификаций рантайма.
  • Оптимизирован для последовательного чтения и предвычислений.
  • Унификация форматов для LLM, мультимодальных моделей и embedding-моделей.

Проблемы и ограничения

  • Формат привязан к экосистеме llama.cpp — он не универсален для всех рантаймов.
  • Не поддерживает динамическое хранение операторов — только веса.
  • Качество модели зависит от качества квантования и инструмента конвертации.
  • Ограниченная обратная совместимость: ранние версии GGUF не всегда корректно читаются новыми сборками.

Преимущества и ограничения

  • Плюс: стандартизированная структура метаданных и высокая совместимость с современными LLM.
  • Минус: зависимость от конкретной экосистемы и ограниченная применимость за её пределами.

Связанные термины

  • GGML
  • llama.cpp
  • Квантование модели
  • Q4_K / Q5_K / Q8_K
  • Инференс на CPU

Категория термина

Инференс и производительность