Форматы квантизации LLM: GGUF, AWQ, GPTQ, FP8 и NF4

Автоматический перевод

Эта статья была автоматически переведена с оригинальной английской версии.

GGUF, AWQ, GPTQ, FP8 и NF4 — это не пять взаимозаменяемых файловых форматов. GGUF — это контейнер модели и формат метаданных, который обычно используется в llama.cpp. AWQ и GPTQ — методы квантизации после обучения. FP8 — числовой формат, поддерживаемый определёнными ускорителями и serving-ядрами. NF4 — четырёхбитный тип данных, разработанный для весов с нормальным распределением и часто используемый при обучении с QLoRA.

Сначала выберите рантайм и оборудование. Затем выберите представление, которое поддерживается закреплённым рантаймом для нужной архитектуры. Прежде чем принимать меньшие файлы модели, сравните качество на задачах, потребление памяти, время до первого токена, throughput и степень параллелизма.

Последняя проверка: 2026-09-08. В сравнении учитываются совместимость с рантаймом, аппаратные ядра, обучение и serving, история исходной модели и конвертации, память, латентность и измеренное падение качества.

Таблица выбора

ЦельС чего начатьЧто проверить перед использованием
Локальный инференс на CPU, Metal или переносимом llama.cppGGUF с документированной квантизациейПоддержку архитектуры, chat template, поведение с контекстом, параметры квантизации и ревизию исходников.
Инференс на GPU с калиброванной квантизацией весовAWQ или GPTQServing-движок, GPU, разрядность, размер группы, ядра и архитектуру модели.
Serving на поддерживаемом GPU для дата-центровFP8Возможности оборудования, реализацию в рантайме, режим калибровки и качество end-to-end.
Параметрически эффективное обучение с замороженными 4-битными весамиNF4 через bitsandbytesАрифметическую точность, память для обучения и способ деплоя: с адаптером или объединёнными весами.
Простой прототип на Transformersbitsandbytes в 8- или 4-битном режимеПоддержку бэкенда и соответствие прототипного пути продакшен-серверу.

GGUF не задаёт одну конкретную квантизацию

Расширение .gguf показывает, как упакованы тензоры и метаданные, но не задаёт точность каждого тензора. Такие имена, как Q4_K_M, обозначают рецепты квантизации llama.cpp; эти рецепты могут по-разному обрабатывать группы тензоров. Фиксируйте исходный чекпоинт, версию конвертера, команду квантизации и хэши файлов. При калибровке используются репрезентативные входные данные для выбора параметров квантизации. Если при конвертации применялись такие данные, фиксируйте и датасет.

Для AWQ и GPTQ нужен совместимый serving-путь

Файлы моделей AWQ и GPTQ обычно используют Safetensors и настройки, описывающие метод квантизации. Модель может успешно скачаться, но перейти на медленное ядро или завершиться с ошибкой из-за неподдерживаемой архитектуры. Перед выбором файлов модели проверьте актуальную матрицу поддержки для Transformers, vLLM или конкретной версии сервера.

FP8 и NF4 решают разные задачи

FP8 особенно привлекателен, когда ускоритель и serving-стек эффективно его поддерживают. NF4 в первую очередь используется для хранения замороженных весов модели при обучении небольших адаптеров в сценариях наподобие QLoRA. В bitsandbytes compute dtype задаёт точность арифметики; она может отличаться от точности сохранённых четырёхбитных весов. Дополнительная nested quantization также сжимает константы, используемые для представления этих весов. Ни одна из этих маркировок не гарантирует одинаковые качество, скорость или потребление памяти для разных моделей и типов оборудования.

Чеклист оценки

  • сравнивайте один и тот же исходный чекпоинт и набор промптов
  • включайте запросы с длинным контекстом и конкурентной обработкой
  • измеряйте корректность JSON Schema и tool call наряду с perplexity
  • фиксируйте пиковое потребление памяти устройства и хоста
  • проверяйте время до первого токена и throughput генерации
  • анализируйте редкие или критичные срезы качества
  • храните вместе с файлами модели лицензию, ревизию исходников, конвертер, рецепт и хэш

Дополнительные материалы

Ссылки