Предыстория

Qwen3.8 27B GGUF квантизации, доступные от Unsloth на Hugging Face. На выбор — 8-бит Q8_0 (29 ГБ), 4-бит Q4_K_M (17 ГБ), 2-бит UD-Q2_K_XL (10.7 ГБ) и самый компактный 1-бит UD-IQ1_S (6.2 ГБ).
Ранее исследовалась модель Qwen3.6 27B, которая хорошо генерировала SVG пеликанов даже при 12 ГБ и сохраняла большую часть знаний вплоть до 16 ГБ. При этом в Reddit часто жалуются, что даже 8-бит квантизации дают худшие результаты — пользователи интересуются, почему локальная LLM кажется тупее, чем она есть. Есть ли основания для этих жалоб?
Измерить различия в предсказании токенов (KL-divergence, top-1 предсказания) легко, но это не показывает, становится ли модель хуже в решении задач. Некоторый шум может быть несущественен для решения задач — квантизированная модель выдаёт ответ того же качества, просто перефразированный. В других случаях один отличающийся токен может быть логической ошибкой или даже обрывом выходных данных.
Поэтому фокус на прямом измерении результатов на популярных бенчмарках — GPQA Diamond, следование инструкциям IFBench, программирование Terminal-Bench 2.1. Сначала для проверки официальных результатов полной модели BF16, а потом для оценки влияния квантизации.
На запуск моделей с llama.cpp потрачено около 3 000 долларов на GPU Modal, используя сборку от 16 августа 2026, так как более старые сборки не работают для этой модели. В принципе, можно было бы запустить на ноутбуке, но в отличие от генерации пеликанов эти бенчмарки требуют много времени.
Независимо от квантизации модели используется F16 KV-cache, весящий около 2.3 ГБ на 32k токенов.
Использовались квантизации от Unsloth: v2 для 2-, 4- и 8-бит моделей и v3 для 1-бит моделей. Unsloth заменили v2 файлы 19 августа 2026, поэтому точные файлы, использованные в большинстве тестов, больше недоступны.
Коротко: если выбрать 4-бит квантизацию Q4_K_M (17 ГБ), на этих бенчмарках разницы не заметить. При этом уровень усилия имеет значение (по умолчанию xhigh) — выбор коварен, так как это может привести к перемыслению.
Однократные тесты
Простейшие — однократные тесты: в этом случае научный уровень GPQA Diamond и следование инструкциям IFBench. Каждый выполнен на трёх уровнях рассуждений: low, medium и дефолтный xhigh.
GPQA Diamond
Прежде всего, удалось воспроизвести официальные результаты. Запуск бенчмарков сложен; существует множество скрытых настроек и предположений, способных кардинально изменить результаты. Здесь с первой попытки результаты совпали с заявленными Qwen.
Во-вторых, помимо шума (доверительные интервалы Wilson 95%, весьма консервативные для вариативности запусков), разницы вплоть до 4-бит практически нет; только 2-бит показывает немного ниже.
При этом уровень думания серьёзно повлиял на оценку. Лучшие результаты при xhigh потребовали около 8k токенов рассуждений.
IFBench
Здесь, к большому удивлению, разницы между моделями вообще нет, вплоть до приличной 2-бит версии весом менее 11 ГБ. Однако контекст намного ниже — около 4k токенов.
Агентное программирование и Terminal-Bench 2.1
Как это работает для программирования? Terminal-Bench 2.1 — стандартный агентский бенчмарк с 89 задачами. Здесь используется 3-часовой timeout, уровень усилия xhigh, резервируется 98k контекста.
Не только измерение BF16 воспроизводит заявленный результат, но и Q4_K_M тоже — с удивлением. Случайно пропустил запуск Q8_0; однако здесь безопасно интерполировать значения между 4-бит и полной моделью. Запуск был бы дорогостоящим и ненужным (и превысил бы бюджет неформального поста блога). Проблемы начинаются только при 2-бит UD-Q2_K_XL. Заметное падение, но всё ещё на уровне Opus 4.7 или Gemini 3.1 Pro. Далеко не от фронтира, но также — далеко не бесполезно.
Результаты — одно, но как сам процесс? Нужны ли меньшим моделям больше turns, токенов или времени на решение?
На одинаково решённых задачах UD-Q2_K_XL требует столько же turns, что и BF16, но пишет примерно на четверть больше токенов. Количество turns остаётся примерно одинаковым.
Обрыв на 1-бите
Качество обрушивается на 1-бите. Как и с знаниями, ущерб от квантизации нелинейный: сначала никаких измеримых изменений, потом небольшой спад, и наконец коллапс.
Пока 2-бит квантизации работают в какой-то степени, даже лучшая 1-бит модель бесполезна для этих бенчмарков:
Как видно, оценки находятся на уровне случайного угадывания, самая маленькая модель ниже этого порога. И более долгое рассуждение делает хуже: при xhigh оценки падают ниже low, так как модель чаще рассуждает до исчерпания бюджета токенов и возвращает пустой ответ.
Конечно, Unsloth хвастаются:
Мы также создали более малые UD-1bit кванты, где UD-IQ1_S весит 6.2 ГБ (без MTP) и сохраняет около 72% точности top-1% при сжатии на 89%.
Но в этом случае оставшиеся 28% имеют большое значение. Это совпадает с опытом другого пользователя — Qwen3.8 27B 1-bit мозговой урон квант на r/LocalLLaMA.
Затраты
Запуск этих бенчмарков дорог. Запуск бенчмарков через API дорогостоящ, как известно из предыдущих бенчмарков. Запуск на арендованном GPU намного дороже.
Используется Modal, так как легко запустить из CLI, включая из агентов. Другие схемы могут иметь разные цены. Конечно, расчёт меняется, если у вас есть собственные устройства.
Требуется много экспериментов, чтобы найти оптимальный способ запуска моделей. Обычно вместо использования Multi-Token Prediction (MTP), работающей хорошо для одного потока, использую несколько параллельных потоков. Ключевое ограничение — достаточно ли памяти на GPU для модели и необходимых KV кэшей.
Использовались NVIDIA L40S (тот же чип Ada Lovelace, что и RTX 4090, но памяти в два раза больше: 48 ГБ), H100 (80 ГБ) и H200 (141 ГБ). Хочется поделиться затратами, чтобы дать примерную оценку, если вы хотите запустить бенчмарки сами.
Для сравнения, DeepSeek V4 Flash 0731, модель в 284B, стоит около $0.1/Mtok для вывода у дешевейших провайдеров на OpenRouter. Не уверен, сколько этой разницы от эффективности запуска моделей в масштабе, стратегии ценообразования или популярности.
Заключение
При локальном запуске экспериментов обычно выбирают лучшую модель, которая помещается в памяти GPU вместе с необходимым контекстом. Для большинства задач Q4_K_M от Unsloth должно быть достаточно без заметной разницы; для более простых задач UD-Q2_K_XL более чем подходит. Поскольку пользователи сообщают, что KV-кэши более восприимчивы к квантизации, можно протестировать и это.
Но в целом квантизацию нужно принимать, а не опасаться.
А какой ваш опыт? Присоединяйтесь к обсуждению на r/LocalLLaMA, Hacker News или LinkedIn.