Градиент.

Квантизация в 4 бита без боли: чем Q4_K_M отличается от AWQ

Когда модель перестаёт влезать в память, первое, что предлагают, — «сожми в 4 бита». За этим советом скрываются как минимум три разные схемы, и разница между ними больше, чем между 4 и 8 битами.

Три схемы, которые обычно путают

  • GPTQ — послойная квантизация по калибровочному набору, веса пересчитываются с учётом ошибки предыдущих слоёв.
  • AWQ — ищет каналы, важные для активаций, и защищает их от огрубления; на практике лучше держит длинный контекст.
  • GGUF-семейство (Q4_K_M и соседи) — блочная квантизация с разной разрядностью для разных тензоров; отсюда и суффиксы в имени файла.

Что я мерил

Одна и та же модель на 8B, три прогона по 200 задач: короткий ответ, длинный контекст и код. Смотрел не только на попадание в ответ, но и на то, как часто модель начинает «плыть» — повторяться или терять формат.

Модель 8B, 200 задач, одна карта
СхемаПамятьТок/сПовторы
bf1616.1 ГБ420.4%
Q4_K_M5.2 ГБ711.1%
AWQ 4 бита5.4 ГБ880.7%

Разница в качестве между Q4_K_M и AWQ на коротких задачах утонула в шуме: обе схемы теряли примерно одинаково. Расхождение начинается на длинном контексте — там AWQ заметно реже срывается в повторы.

Практический вывод

Если модель нужна для диалога с большим контекстом, берите AWQ и не экономьте на калибровке. Если это разовый локальный запуск «посмотреть», GGUF удобнее: один файл, понятные суффиксы, работает везде. И главное: перед квантизацией соберите свой набор задач — он у вас всё равно будет лучше любого усреднённого бенчмарка.

Кирилл Астахов

ML-инженер, собираю и гоняю модели в проде. Пишу о том, что проверил руками: инференс, обучение, оценка качества. Замечания и вопросы — на hello@p.my01.ru.