Проблема: «Просто квантуй» — бесполезный совет
Квантование — это не единый процесс, а набор из четырех независимых решений. Ошибочное представление о том, что INT4 всегда ускоряет модель в 2.7 раза, игнорирует контекст: память против вычислений. Главная проблема LLM-инференса — перемещение байтов, а не их обработка. Квантование решает задачу уменьшения объема передаваемых данных, но результат сильно зависит от того, какие именно операнды сжимаются.
1. Нотация: WxAy определяет стратегию
Нотация W<bits>A<bits> (Weights/Activations) критически важна. W4A16 (квантование только весов) уменьшает объем данных в 4 раза, что идеально для ограниченных по памяти сценариев (decode phase), но не дает ускорения от аппаратных тензорных ядер, так как умножение все равно происходит в 16 битах. W8A8 или W4A4 задействуют специализированные пути GPU, обеспечивая пиковую математическую производительность, но требуют более сложной калибровки (например, SmoothQuant для W8A8).
2. Форматы: FP8 против 4-битных стандартов
FP8 становится новым стандартом «безопасного выбора». Исследования показывают, что падение точности на MMLU-Pro составляет всего 0.4 пункта по сравнению с BF16, что статистически незначимо. Однако 4-битные форматы (NVFP4, MXFP4) предлагают радикальное сжатие, но имеют разные механизмы хранения масштаба.
| Параметр | MXFP4 | NVFP4 |
|---|---|---|
| Размер блока | 32 значения | 16 значений |
| Тип масштаба | Только степень двойки | Дробное значение |
| Эффективный битрейт | 4.25 бит/значение | 4.5 бит/значение |
| Точность аппроксимации | Ниже (грубее) | Выше (ближе к локальному диапазону) |
3. Оценка: Почему бенчмарки врут?
Цифры ускорения часто берутся в условиях, не отражающих реальность. Ускорение от квантования весов (W4A16) максимально при малых батчах (memory-bound), но теряет смысл при больших батчах, когда система упирается в вычислительную мощность (compute-bound). Утверждения об «отсутствии потери точности» часто не имеют под собой опубликованных доказательств, кроме случаев с FP8.
4. Емкость: Память как лимитирующий фактор
Как и в случае с KV-кэшем, квантование позволяет упаковать больше контекста в ту же память. Разница между 4.25 и 4.5 битами на значение кажется малой, но при огромных объемах весов моделей это определяет, сколько параллельных запросов можно обслужить без свопинга в CPU-память.
Итог
Выбор метода квантования должен начинаться не с вопроса «какой формат лучше», а с анализа: 1) какая часть конвейера является узким местом (память или вычисления), 2) какой формат поддерживает ваше железо нативно, и 3) допустимая потеря точности для конкретной задачи.
Источник: Towards AI pub ↗
