Перейти к содержанию
Публикация AiManual

Qwen 3.8 на 16 ГБ VRAM: три кванта на AtCoder и что даёт thinking effort

Автор прогнал Swift 1.5 IQ2_XS, Flash Next IQ3_S и 27B IQ3_S из семейства Qwen 3.8 на 14 свежих задачах AtCoder в четырёх режимах thinking effort. Повышение уси

Коротко

Что будет в материале

  1. 01

    Что проверяли и какой получился главный вывод

  2. 02

    Методика: 14 задач AtCoder, LiveCodeBench и 11 часов прогона

  3. 03

    Три кванта Qwen 3.8: Swift 1.5 IQ2_XS, Flash Next IQ3_S и 27B IQ3_S

  4. 04

    Thinking effort: none, low, medium, xhigh - что реально меняется

Что проверяли и какой получился главный вывод

Три варианта Qwen 3.8 в агрессивном квантовании прогнали на видеокарте 5060 Ti с 16 ГБ VRAM через мини-бенчмарк из 14 задач AtCoder и четыре режима thinking effort: none, low, medium и xhigh. Главный результат: рост усилий почти не увеличивает число решённых задач. Все три модели выходят на плато в пределах ±2 задач от собственного результата при low, и ни одна не улучшается монотонно на пути low → medium → xhigh. Полный разбор автор выложил в посте на r/LocalLLaMA.

Прирост усилий оплачивается другим. Растёт число упоров в лимит thinking budget (в тесте 32k токенов) и время работы: от low к xhigh прогон удлиняется на 33-57%. Дополнительные thinking-токены уходят на задачи, которые модель не решила бы всё равно.

Расклад по моделям такой. Flash Next IQ3_S дал лучший баланс скорости и точности и при medium решил 11 задач. Swift 1.5 IQ2_XS быстрее, но менее аккуратен, его пик - 10 задач при xhigh. 27B IQ3_S держит ровные 10 задач на всех уровнях, зато работает очень медленно. Режим none оказался единственным стабильно худшим: только там появились DNF (4 случая, все у Flash и Swift) и заметно выросло число ошибок ERR.

Оговорка сразу: тест ограничен. 14 задач, один прогон, случайность в поведении моделей. Числа показывают тенденцию, а не финальный рейтинг квантов, и переносить их на любые другие задачи без проверки не стоит.

Методика: 14 задач AtCoder, LiveCodeBench и 11 часов прогона

Стенд автор собрал сам: мини-бенчмарк на задачах AtCoder, а основой для тестового харнесса стал LiveCodeBench. В набор попали только задачи, опубликованные за последние 30 дней. Такой отбор нужен, чтобы условия не оказались в обучающей выборке моделей. Итог - 14 задач разной сложности.

Все тесты шли с одинаковым ограничением: thinking budget 32k токенов. Это важно для чтения цифр, потому что при другом лимите картина по CAP и числу решений может быть иной. Полный прогон всех комбинаций занял почти 11 часов.

Железо и софт: 5060 Ti 16 ГБ, AMD 7945HX, Arch Linux

  • CPU: AMD 7945HX;
  • RAM: 64 ГБ DDR5 5200;
  • GPU: 5060 Ti 16 ГБ;
  • ОС: Arch Linux;
  • llama.cpp: build 11149, контекст 140k;
  • Strata: 0.1.38, контекст 128k.

Рантаймы распределились так: Swift 1.5 IQ2_XS GSQ-RCO и Flash Next IQ3_S GSQ-RCO работали под Strata, 27B IQ3_S GSQ-RCO - под llama.cpp. Разные движки сами по себе дают разную скорость, поэтому сравнивать модели строго «в лоб» по времени здесь можно лишь с поправкой на эту разницу.

Три кванта Qwen 3.8: Swift 1.5 IQ2_XS, Flash Next IQ3_S и 27B IQ3_S

В тесте встретились три разных ответа на один вопрос: как уложить Qwen 3.8 в карту с 16 ГБ. Swift 1.5 IQ2_XS GSQ-RCO - самая агрессивно упакованная версия из трёх, Flash Next IQ3_S GSQ-RCO - средний вариант, 27B IQ3_S GSQ-RCO - старшая модель в кванте IQ3. Все три запускались на одной и той же видеокарте с 16 ГБ VRAM.

Размер файла - не единственный фактор, который решает исход. Сильное квантование бьёт по качеству непредсказуемо: компактная модель может как просесть, так и удержаться. Мы разбирали эту механику в материале про IQ3_XXS Qwen3.8-Flash против Q8_0 27B и выбор конфигурации под своё железо, и вывод оттуда простой: конкретный квант под конкретную задачу приходится проверять, готового победителя на все случаи нет.

Сравнение шло не на общих бенчмарках, а на задачах AtCoder, то есть на соревновательном программировании с автоматической проверкой. Для локального запуска это полезнее общих рейтингов: видно, доводит ли модель код до работающего решения и укладывается ли в лимит токенов.

Thinking effort: none, low, medium, xhigh - что реально меняется

Главная интрига теста касалась режимов усилий. Ожидание простое: больше thinking - больше решённых задач. Цифры его не подтверждают.

МодельЛучший результатCAP: low → medium → xhigh
Flash Next IQ3_S11 задач при medium4 → 3 → 5
Swift 1.5 IQ2_XS10 задач при xhigh3 → 3 → 4
27B IQ3_S10 задач на всех уровнях3 → 4 → 4

Смотрите на строку Flash: максимум приходится на medium, а не на xhigh. Swift, наоборот, выходит на пик только при xhigh, но при medium у него 3 ошибки ERR. 27B не реагирует на усилия вообще: 10 задач при любом уровне. Ни одна из трёх моделей не улучшается монотонно, а разброс между режимами укладывается в ±2 задачи от результата при low.

Второй эффект заметнее первого: повышение усилий в основном покупает упоры в лимит. Flash прошёл путь 4 → 3 → 5 CAP, Swift 3 → 3 → 4, 27B 3 → 4 → 4. Модель дольше думает, чаще упирается в потолок 32k и тратит на это время, а новых решений почти не приносит.

О том, как режим thinking меняет поведение разных моделей, мы писали в разборе теста 9 локальных моделей на одном промпте: время, tok/s и влияние thinking-режима.

Почему режим none - единственный стабильно худший

Отключать thinking на задачах по коду в этом тесте оказалось плохой идеей. Все 4 случая DNF пришлись на режим none, причём только у Flash и Swift. Число ошибок ERR там же подскочило: у 27B с 0 до 2, у Flash с 0 до 2, у Swift с 0 до 4.

Механика сбоя видна по характеру ответов: без thinking-канала модели либо пропускают блок кода, либо пишут неверный код. Для задач с автоматической проверкой это гарантированный провал, потому что проверяющая система получает либо пустой ответ, либо решение с ошибкой.

CAP, ERR и DNF: как читать типы сбоев

Автор теста размечал прогоны тремя метками, и путать их не стоит:

  • CAP - модель упёрлась в лимит 32k токенов thinking budget и не довела рассуждение до ответа;
  • ERR - ошибка выполнения или неверный формат ответа;
  • DNF - задача не доведена до решения.

Рост CAP при повышении усилий легко принять за прогресс: модель думает дольше и как будто старается сильнее. По факту это потерянное время, потому что решения нет. Если время для вас критично, режимы xhigh дают самый дорогой способ задачу не решить.

Скорость и время работы: сколько стоит рост thinking effort

Переход с low на xhigh увеличивает время работы на 33-57%. Это плата за дополнительные thinking-токены, которые, как видно из таблицы выше, редко превращаются в решённые задачи.

Между моделями разница тоже ощутимая. Swift 1.5 IQ2_XS - самый быстрый вариант из трёх и самый неаккуратный: автор прямо пишет, что готов использовать его, когда скорость важнее точности. 27B IQ3_S надёжен и ровен, однако очень медленный, и автор не видит причин запускать его, ведь Flash решает больше задач и работает быстрее.

Flash Next IQ3_S оказался компромиссом по скорости и точности: при medium усилии он решил на одну задачу больше, чем 27B, и сделал это быстрее.

Значений tok/s в тесте нет, автор их не приводит. Если нужны цифры скорости под ваше железо, их придётся измерять самостоятельно: на 16 ГБ VRAM результат сильно зависит от кванта, размера контекста и настроек рантайма.

Практические выводы: какой квант и какой режим выбрать на 16 ГБ VRAM

Если сжать тест до одной строки: Flash Next IQ3_S плюс medium thinking effort - рабочая связка для задач на код на карте с 16 ГБ VRAM. Остальные варианты имеют смысл под конкретные приоритеты.

Кому подойдёт Flash IQ3_S

Сценарий: локальные задачи на код, где нужен баланс скорости и точности, а не абсолютный максимум качества. При medium Flash решил 11 задач из 14, это лучший результат в тесте и на одну задачу больше, чем у 27B. Добавьте к этому наблюдение автора из повседневной работы: на кванте Q3 Flash кажется ему умнее 27B и иногда выдаёт соображения, которые 27B пропустил.

Родственный сюжет - сравнение Swift-1.5-Qwen3.8-Flash-Next с базовой Flash Next на бенчмарке Aider, где Swift дал примерно то же качество при ~40% токенов и времени. Детали и разбор цифр, механики «переразмышлений» и потерь на C++ стоит держать в голове, если выбираете между версиями Flash: квантование и железо там другие, но логика та же, подбирать вариант под свою задачу полезнее, чем гнаться за старшей моделью.

Когда имеет смысл Swift 1.5 IQ2_XS

Сценарий: скорость важнее точности. Черновые прогоны, быстрые проверки гипотез, задачи, где ошибку видно сразу и её дёшево исправить. Swift быстрее остальных и чаще ошибается, а его пик в 10 задач держится на режиме xhigh с повышенным риском упереться в лимит токенов.

Отдельная ветка того же семейства - дообученная Swift 1.5 Qwen3.8 27B от UkisAI с акцентом на экономию токенов. Мы разбирали разницу IQ4_XS и Q4_K_S от Unsloth, поведение режимов low и high thinking и кейс со скриптом для Directory Opus. Опыт там единичный, за воспроизводимый бенчмарк его выдавать не стоит, но как ориентир по расходу токенов он полезен.

Стоит ли запускать 27B IQ3_S на 16 ГБ VRAM

27B IQ3_S даёт ровные 10 задач при всех уровнях усилий, включая low, и меньше проваливается в режиме none, чем Swift. Предсказуемость у него выше. Платите вы за это временем: модель очень медленная, а Flash при medium решает 11 задач быстрее. Автор теста не видит причин использовать 27B, и с его цифрами спорить сложно.

Исключение - ситуации, где важна стабильность поведения и время не критично: ночные прогоны, пакетная обработка, отладка пайплайна, в котором вы готовы ждать. В интерактивной работе на 16 ГБ VRAM 27B проигрывает Flash по совокупности скорости и точности.

Режим работы, который автор выбрал для себя: держать medium thinking effort и переключаться на xhigh, если medium застрял. Для простых задач он допускает отключение thinking, но на задачах по коду режим none в этом тесте стабильно проигрывал.

Ограничения теста и что проверять дальше

Слабые места теста автор называет сам. Выборка маленькая: 14 задач и один прогон на каждую комбинацию модели и режима. Поведение моделей содержит случайность, поэтому разница в одну-две задачи может быть шумом, а не свойством кванта. Плато в пределах ±2 задач у всех трёх моделей легко объясняется той же малой выборкой.

Второе ограничение - фиксированный thinking budget 32k токенов. Возможно, на более сложных задачах с заметно большим лимитом картина изменится, как раз такой прогон автор и планирует. Третье: тест привязан к конкретным квантам, двум рантаймам (Strata и llama.cpp) и одной конфигурации железа, так что переносить выводы на другие системы без проверки не стоит. Исходный отчёт автора тоже стоит читать с этой поправкой.

Что имеет смысл проверить, если тема для вас актуальна:

  1. Больше задач, чем 14, и несколько прогонов каждой, чтобы отделить эффект модели от случайности.
  2. Другие типы задач, не только соревновательное программирование.
  3. Другой лимит thinking budget, особенно в сторону увеличения.
  4. Другие кванты того же семейства и другие значения контекста.

Практический итог без лишней категоричности: на 16 ГБ VRAM связка Flash Next IQ3_S с medium thinking effort выглядит самым разумным стартом для задач на код. Режим none для кода лучше не включать, а xhigh доставать точечно, когда medium застрял, помня про рост времени на 33-57%.

Подписаться на канал