Что сравнивали и зачем: две квантизации под 16 ГБ VRAM
Суть теста в одной строке: две квантизации моделей класса 27B поместили в 16 ГБ VRAM и прогнали на одинаковых задачах. Qwen3.8 27B IQ3_XXS весит 10.18 ГиБ, Bonsai Ternary PQ2 - 6.42 ГиБ. Разница почти 4 ГиБ, и на карте с 16 ГБ это не абстракция: столько остаётся под KV-кэш, длину контекста и рабочие буферы.
Формально обе модели справились одинаково: 4 задачи из 4, 20 проверок из 20. А вот по скорости и расходу токенов разрыв трёхкратный. Qwen завершил весь набор за 8:00, Bonsai - за 24:09. Выходных токенов: 27 197 против 84 176. Автор теста опубликовал цифры в обсуждении на r/LocalLLaMA и сразу оговаривает: это несколько задач по генерации UI на одном железе, а не научное измерение.
Практический смысл сравнения простой. При 16 ГБ VRAM выбор квантизации решает, получите вы отзывчивую модель или подождёте лишние минуты на том же результате. Разница между 8 и 24 минутами в интерактивной работе видна сразу.
Почему размер файла не равен качеству
Квантизация сжимает веса, снижая точность представления чисел. Логично ожидать, что файл 6.42 ГиБ проиграет файлу 10.18 ГиБ. В этом тесте такого не произошло: Bonsai Ternary PQ2 выполнил те же 4 задачи и прошёл те же 20 фиксированных проверок, что и Qwen IQ3_XXS.
Объяснение простое и неполное одновременно. Набор задач узкий: генерация UI. Фиксированные assertions проверяют конкретные условия, а не общее качество модели. Меньшая по размеру квантизация проходит такие проверки, потому что объём знаний и рассуждений, нужный для разметки и структуры интерфейса, у модели сохраняется. На reasoning, длинном коде или работе с фактами картина может оказаться другой, и автор теста её не проверял.
Отдельная деталь: визуально автору больше нравятся результаты IQ3_XXS. Это субъективная оценка без метрик, и держать её стоит в голове отдельно от формальных 20/20.
Условия теста: железо, софт и задачи
Что известно про условия:
- GPU с 16 ГБ VRAM, одна и та же для обеих квантизаций;
- движок llama.cpp;
- 4 задачи по генерации UI;
- 20 фиксированных проверок результата;
- Qwen IQ3_XXS запускался с MTP, Bonsai PQ2 - с modified N-gram.
Последний пункт меняет всё. Модели стартовали в разных режимах speculative decoding, а это напрямую влияет на скорость. Конфигурацию llama.cpp (длина контекста, размер батча, флаги выгрузки слоёв) автор не раскрыл, а она тоже меняет и скорость, и потребление памяти.
Скорость и время работы агента: Qwen быстрее в 3 раза
Главные цифры раздела: 8:00 против 24:09. Qwen IQ3_XXS прошёл набор задач в 3.02 раза быстрее. Больше 16 минут разницы на четырёх задачах - заметная величина, если вы запускаете агента в цикле.
Скорость декодирования: 83.59 против 64.91 tok/s
Взвешенная скорость декодирования у Qwen IQ3_XXS - 83.59 tok/s, у Bonsai PQ2 - 64.91 tok/s. Разница около 29%. Это скорость генерации токенов, и она определяет, насколько быстро текст появляется на экране.
29% сами по себе не дают трёхкратного отставания. Оставшуюся часть разрыва даёт объём генерации: Bonsai выдал в 3.10 раза больше токенов. Время работы агента складывается из двух множителей, скорости и количества токенов, и здесь они сложились против Bonsai.
Почему Bonsai работал дольше: токены и speculative decoding
Две причины отставания:
- Объём генерации. 84 176 выходных токенов против 27 197.
- Ниже speculative acceptance. 39.76% с modified N-gram против 65.22% с MTP.
Автор теста добавляет третью причину: у Bonsai, судя по всему, нет MTP, и это дополнительно замедляет генерацию. Формулировка «судя по всему» здесь ключевая, строгой проверки не было. Возможно, MTP недоступен для конкретной сборки или версии модели.
Расход выходных токенов: 27 197 против 84 176
Qwen IQ3_XXS использовал 27 197 выходных токенов, Bonsai PQ2 - 84 176. Это в 3.10 раза меньше при одинаковом формальном результате. Больше токенов означает больше шагов генерации, больше времени на GPU и больше энергии.
Что такое length stop и почему это важно
Length stop - остановка генерации из-за достижения лимита длины, а не потому, что модель сама выдала стоп-токен. В тесте у Bonsai PQ2 такая остановка одна, у Qwen IQ3_XXS - ноль. Компакций (уплотнений контекста) не было ни у одной: 0 против 0.
Одна остановка по длине на четырёх задачах ничего не доказывает. Она лишь намекает, что модель может дольше договаривать мысль и хуже попадать в естественное завершение. Называть это дефектом модели оснований нет.
Влияние на стоимость и энергопотребление
При локальном запуске счёт за токены не приходит. Платите временем GPU, электричеством и износом. Трёхкратный объём генерации означает примерно трёхкратное время занятости ускорителя на тех же задачах, если скорость декодирования сопоставима. Здесь она ниже, поэтому итоговое время выросло ещё сильнее.
Если та же модель работает через облачный API с оплатой за токены, соотношение 84 176 / 27 197 ≈ 3.10 превращается в прямые деньги. Конкретные цены зависят от провайдера, в этом тесте их нет.
Speculative decoding: MTP против modified N-gram
Speculative decoding ускоряет генерацию так: черновая модель предлагает несколько токенов, основная проверяет их пачкой и принимает совпавшие. Чем больше принято, тем меньше проходов основной модели.
Что такое speculative acceptance и почему 65.22% лучше 39.76%
Speculative acceptance - доля предложенных токенов, которые основная модель приняла. У Qwen IQ3_XXS с MTP это 65.22%, примерно две трети. У Bonsai PQ2 с modified N-gram - 39.76%, около трети. Более высокое принятие даёт больше сгенерированных токенов за один проход и поднимает итоговую скорость.
Разница 65.22% против 39.76% объясняет часть отставания Bonsai, но не всё. Сравнивать численно сами методы MTP и modified N-gram по одной паре значений нельзя: результат зависит от модели, сборки и текста задач.
Почему у Bonsai нет MTP и что это меняет
В тесте Bonsai запускался с modified N-gram, и автор предполагает, что MTP для него просто недоступен. Это наблюдение, а не проверенный факт. Если MTP действительно нет, у Bonsai меньше доступных механизмов ускорения, и часть разрыва создают условия запуска, а не степень сжатия весов.
Инструкций по включению MTP для Bonsai в исходном тесте нет. Для Qwen3.8 27B с MTP выбор между oQ3e, oQ4e, oQ6e и oQ8e на Apple M5 Max разбирается в отдельном материале, где те же идеи проверены на MLX и единой памяти.
Качество результата: 4/4 задачи и 20/20 проверок у обеих
Формальный итог одинаков: Qwen IQ3_XXS - 4/4 задачи и 20/20 проверок, Bonsai PQ2 - 4/4 и 20/20. На этом наборе задач разница в размере файла не превратилась в разницу результата.
Что проверяли: 4 задачи по генерации UI
Задачи относились к генерации интерфейсов. Это узкий класс: разметка, структура, элементы управления. Проверки фиксированные, то есть оценивают выполнение заранее заданных условий, а не общее качество ответов. Переносить 20/20 на рефакторинг кода, работу с документами или многошаговые рассуждения нельзя: там разница между 3-битной и 2-битной квантизациями может проявиться.
Похожий сюжет уже разбирался на другом наборе: Ternary-Bonsai-27B (2-bit) набрал 7.9% в Terminal-Bench 2.0 против 9.2% у Qwen3.5-9B, а 1-битная версия ушла в бесконечную генерацию. Детали и контекст - в разборе теста на 8 ГБ VRAM.
Субъективная визуальная оценка: почему автор выбрал IQ3_XXS
Автор пишет прямо: «Visually I prefer the IQ3_XXS results, but see for yourself». Визуально ему больше нравятся результаты IQ3_XXS, но проверять он предлагает самому. Это субъективное суждение без метрик качества и без слепого сравнения. Как ориентир оно годится, как доказательство превосходства нет.
Косвенный контекст с другой стороны: в независимом прогоне Bonsai 2 на базе Qwen3.8 результат составил около 91,5% на композитном наборе, и методику этого замера разбирают отдельно, включая оговорку, что цифру нельзя сравнивать с отчётами других провайдеров напрямую.
Ограничения теста: почему нельзя делать далеко идущие выводы
Ограничения честно перечислены самим автором: тест не научный, задач несколько, железо одно. Ниже то, что из этого следует практически.
Один запуск и отсутствие статистики
Каждая квантизация прогонялась один раз. Погрешность не оценивалась, разброс между прогонами неизвестен. Скорость декодирования и число токенов на одинаковых задачах обычно колеблются, поэтому трёхкратный разрыв стоит воспринимать как порядок величины, а не как точное значение.
Влияние конфигурации llama.cpp и MTP
Главный методологический перекос: Qwen работал с MTP, Bonsai - с modified N-gram. Часть разрыва в скорости создаёт выбор механизма декодирования. Конфигурация llama.cpp (длина контекста, батч, выгрузка слоёв) не раскрыта, а она влияет и на память, и на скорость.
Есть и внешняя точка отсчёта: в тесте на RTX 5090 Ternary Bonsai 2 27B весом 7,2 ГБ выдала 106 396 токенов за 17,5 минуты при флагах -ngl 999, -fa on и контексте 262 144 токена. Цифры и разбор по ссылке. Показательно, что там большая часть бюджета токенов ушла в reasoning, что согласуется с общей картиной: сильноквантованная модель склонна генерировать длиннее.
Практический вывод: что выбрать под 16 ГБ VRAM
Если задача интерактивная и время имеет значение, Qwen3.8 27B IQ3_XXS выглядит предпочтительнее: 8:00 против 24:09, 27 197 токенов против 84 176, скорость декодирования выше, speculative acceptance выше. Формальный результат при этом одинаковый: 4/4 и 20/20.
Кому подойдёт Qwen3.8 27B IQ3_XXS
Сценарии: работа с агентом в цикле, задачи с ограничением по времени, генерация, где важен отклик. Квантизация занимает 10.18 ГиБ из 16 ГБ, то есть около 5.8 ГиБ остаётся под KV-кэш и контекст. Запас меньше, чем у Bonsai, но при 83.59 tok/s и 8 минутах на набор задач он рабочий. Ограничение тоже есть: чем длиннее контекст, тем сильнее ужимается этот запас, и часть слоёв может уйти на CPU.
Кому подойдёт Bonsai Ternary PQ2
Сценарии: когда критичен размер. 6.42 ГиБ против 10.18 ГиБ - почти 4 ГиБ, которые можно отдать под длинный контекст, вторую модель или другой процесс на той же карте. Формальное качество: те же 4/4 и 20/20. Цена: 24:09 на набор задач против 8:00 и 84 176 токенов против 27 197. Если скорость не критична, вариант рабочий.
Как провести собственный тест на 16 ГБ VRAM
Порядок действий для своей проверки:
- Возьмите 3–5 задач из своего реального сценария, а не синтетические примеры.
- Запустите обе квантизации в одной конфигурации llama.cpp: одинаковые контекст, батч, флаги выгрузки слоёв и режим speculative decoding.
- Зафиксируйте размер файла, время работы агента, число выходных токенов, скорость декодирования и speculative acceptance.
- Оцените результат формально и визуально, вслепую, если получится.
- Повторите прогоны, чтобы отделить систематическую разницу от случайного разброса.
Ключевой момент: сравнивать квантизации стоит в одном режиме speculative decoding. Если у одной модели MTP есть, а у другой нет, вы измеряете условия запуска в сумме со сжатием весов. Без MTP разница между 10.18 ГиБ и 6.42 ГиБ по скорости может выглядеть иначе, чем в этом тесте.