Блог AST-SoftPro
Qwen3.6-27B: сравнение квантований Q4_K_M, Q6_K, Q8_0 и NVFP4
Qwen3.6-27B: какое квантование выбрать для локального запуска
Выбор формата квантования напрямую влияет на качество ответов модели, скорость генерации и потребление памяти. В этой статье мы сравнили основные форматы квантования Qwen3.6-27B — от BF16 до NVFP4 — на реальных бенчмарках.
Что такое квантование
Квантование — это процесс снижения точности весовой модели с 16-битных чисел с плавающей запятой (BF16) до 4-8 бит. Это позволяет уменьшить размер модели в 2-4 раза, что критично для запуска на потребительских видеокартах.
Почему это важно: оригинальная модель Qwen3.6-27B в BF16 занимает 53.8 ГБ. В формате Q4_K_M — всего 16.8 ГБ, что помещается в видеокарту с 16 ГБ видеопамяти.
Бенчмарки точности
Тестирование проводилось на трёх бенчмарках: HumanEval (генерация кода), HellaSwag (понимание контекста) и BFCL (вызов функций).
| Метрика | BF16 (референс) | Q8_0 | Q6_K | Q4_K_M |
|---|---|---|---|---|
| HumanEval | 56.10% | 52.44% | ~56% | 50.61% |
| HellaSwag | 86.00% | 85.00% | ~86% | 84.00% |
| BFCL | 63.25% | 63.00% | ~63% | 63.00% |
| Среднее | 68.45% | 66.81% | ~68% | 65.87% |
| Потеря к BF16 | — | -2.3% | ~0% | -4.1% |
Ключевое наблюдение: функция вызова (BFCL) работает одинаково хорошо на всех уровнях квантования. Основные потери приходятся на генерацию кода.
Ресурсы и скорость
| Формат | Размер файла | VRAM | Пиковая RAM | Скорость | TTFT |
|---|---|---|---|---|---|
| BF16 | 53.8 ГБ | ~54 ГБ | 50.5 ГБ | 15.5 tok/s | 350 мс |
| Q8_0 | 28.6 ГБ | ~29 ГБ | 27.0 ГБ | 18.0 tok/s | 320 мс |
| Q6_K | ~22.5 ГБ | ~23 ГБ | — | ~20 tok/s | — |
| Q4_K_M | 16.8 ГБ | ~17 ГБ | 25.8 ГБ | 22.5 tok/s | 280 мс |
Q4_K_M работает в 2.3 раза быстрее BF16 при потере около 4% точности.
KLD-расхождение (перекрёстная энтропия)
Бенчмарк через llama-perplexity измеряет расхождение распределений вероятностей квантованной модели относительно BF16-референса:
- Q8_0 — минимальное расхождение, Same Top P очень высокий
- Q6_K — perplexity эквивалентен FP16 референсу
- Q4_K_M — небольшое KLD-расхождение, Same Top P остаётся высоким
- Q4 и ниже — заметные потери качества
NVFP4 и MTP: что известно
Qwen3.6-27B использует механизм MTP (Multi-Token Prediction) — предсказание нескольких токенов одновременно. Это усложняет квантование:
| Формат | MTP | Linear-attention |
|---|---|---|
| Intel AutoRound INT4 | Не квантуется (BF16) | in_proj_a, in_proj_b — BF16 |
| hampsonw AWQ INT4 | Все тензоры MTP — BF16 | Все слои ignored (BF16) |
| NVFP4 + MTP | Работает, квантовано | Часть слоев — BF16 |
Важно: ранние рецепты квантования оставляли MTP-тензоры в BF16, считая их чувствительными к потерям. Однако появились рабочие сборки NVFP4 + MTP — они работают немного быстрее Q6_K, но уступают в точности. MTP-квантование пока компромисс: скорость выше, качество ниже.
Практические рекомендации
Выбор формата зависит от вашего оборудования:
- RTX 4090 (24 ГБ) — Q6_K. Perplexity на уровне FP16 при значительно меньшей памяти. Лучший баланс качества и скорости.
- RTX 4080 (16 ГБ) — Q4_K_M. Компромисс с потерей 4% на коде, но без потерь на function calling.
- RTX 5090 (32 ГБ) — Q8_0. Максимальное качество, 97.6% от BF16.
- Mac M4 Max (36 ГБ+) — Q6_K или Q8_0 в зависимости от задач.
Пример запуска через llama.cpp
# Q4_K_M для 16 ГБ VRAM
llama-server -m Qwen3.6-27B-Q4_K_M.gguf \
--ctx-size 32768 \
--gpu-layers 64 \
--threads 8
# Q6_K для 24 ГБ VRAM
llama-server -m Qwen3.6-27B-Q6_K.gguf \
--ctx-size 32768 \
--gpu-layers 64 \
--threads 8
Заключение
Qwen3.6-27B хорошо переносит квантование. Разница между Q6_K и Q8_0 минимальна, а Q4_K_M остаётся рабочим вариантом для бюджетного железа. Если есть возможность — выбирайте Q6_K как оптимальный баланс.