Всем привет.
В свободное время и под настроение я ваяю маленькие, замысловатые игры на основе d10-кубов механик, похожие на PvP или PvE настолки, которые нередко проходят в автоматическом режиме (ИИ vs ИИ), а иногда получается что-то чуть серьезнее: вроде игры "Жизнь", но на стероидах с экономикой, сражениями и в масштабах солнечной системы (вдохновлялся у Shadow Empire).
Не являясь настоящим программистом и написав за всю жизнь, в лучшем случае, около тысячи строк кода - мне для воплощения своих причудливых идей, естественно, потребовалась помощь психиатров нейросетей, которые, как уже говорят - научились писать вполне рабочий, годный код.
И вот, думаю, а почему бы и да? Вот бы ещё локально всё это запускать, чтоб без ограничений, сюрпризов, да и просто удобней - хороша идея!
А вот тут я быстро осознал, что если советов из разряда "Q4-K-M - это "золотой стандарт", используйте его или лучше" - более-менее в достатке, то каких-то более реальных, практичных сравнений, тестов - очень даже в дефиците. Усугубляется это все экстраполяцией результатов, которые были получены в разных тестах, на разных моделях, в разное время - на другие модели. Ещё хуже, если пытаются наложить инфу по моделям одного поколения на другое поколение (например, предполагаемый KLD (далее подробнее) при сжатии). Но даже если что-то и находится, то можно встретить новый тупик - непонятна достоверность сказанного. И?
Короче, кое-что я таки узнал и посему в течение статьи решил поделиться с читателями опытом своих практических задачек, а не замерами "в попугаях", прогонах в каких-то "условно-практических" тестах или чистой синтетике. Быть может, это кому-то поможет сэкономить время и впечатления.
Лично мне было важно ответить на пару вопросов:
Есть ли смысл использовать квант ниже "джентльменского минимума" в виде Q4?
Если смысл есть, то какой именно квант использовать и насколько будет заметна разница между ними, особенно внутри одного уровня сжатия?
Какая длина контекста вообще нужна для реальных задач?
Всегда ли новые модели - лучше старых?
В сети ответы на такие вещи - конечно есть, отчасти. Но мне попадалась либо фрагментарная/устаревшая информация или основанная, преимущественно, на тестах вроде WikiText-2 для замеров PPL (качество предсказания и понимания языка) или с опорой на какой-нибудь KLD (насколько ответ сжатой модели отличается от ответа эталонной FP16 версии) как демонстрация "лучшести" той или иной версии/кванта LLM.
В конце концов, цифры - это цифры, а практика - это практика, и тот же Open AI почему-то тестирует любителей списывать модели в реальных песочницах и на реальных задачах, а не только через MMLU, GPQA и прочие TAU2. Возможно, что они что-то знают, да?
Собственно задачка зародилась из того, что одна из моих игрушек (HTML для запуска + js) имела баг - экран карты планеты обрезался сверху и снизу, а с обоих краёв всё было ок. В самом прототипе игрушки имелось ~6 тыс. строк кода, раскиданных по ~20 файлам. Хороший повод!
Ну и пора было определиться - кого оставлять, а кого отправлять в утиль. Ведь к тому моменту у меня скопился целый зоопарк: базовые и fine-tune модели, большие и малые, да ещё и от разных поставщиков. И чем они на самом деле отличаются друг от друга, если оставить за скобками красивые описания авторов - неизвестно.
Задание для всех моделей было строго одинаковым, при одинаковых настройках, с параметрами LM Studio/LM Studio Bionic "из коробки", кроме размера контекста, KV Cache - q8 (типовой компромисс, но расходует в 2 раза меньше VRAM), фиксированный seed и temperature - 0.6, системный промт - пустой (для хардкора). Тест состоял из 2-х частей: сначала исправить баг с обрезкой краёв карты и затем, в том же диалоге - почистить генераторы планет и карт от мусора, бесполезного кода и файлов. Если задача выполнена - это успех.
Деталей сохранилось больше по 27b моделям и их квантам, результат для них получился несколько неожиданным, а 9-12b затрону чуть менее подробно.
Большинство, кстати, вообще утверждает, что запускать модели в квантах Q4 - пустая трата времени. А кто-то считает модель "лоботомированной" уже на сжатии Q8 (богатые люди!).
Ну, посмотрим, что можно получить на Q3 и правда ли, что лучше брать менее сжатую модель с меньшим количеством параметров или всё-таки можно рискнуть, если железо поджимает?
Конфиг: Ryzen 5 5600G, 32Gb DDR4, RTX 5060Ti 16Gb.
Что по цифрам (1/2 - это значит, что выполнено только 1 из 2-х заданий):
Модель | Время, мин. | Исп. токенов, тыс. | Инфа с Hugging Face, поставщик | Краткий итог |
Qwen3.5 27b, ud-iq3xxs | 6,5 | 31,2 | Unsloth, заявлено более "умное" сжатие | Успех |
Qwen3.5 27b, q3ks | 12 | 39,4 | Unsloth, заявлено более "умное" сжатие | Успех + единственный, кто ещё и переписал алгоритмы генерации на более быстрые |
Qwen3.5 27b, iq3s | 10 | 40,6 | mradermacher | Успех |
Qwen3.6 27b, ud-iq3xxs | 15 | 45,8 | Unsloth, заявлено более "умное" сжатие | Задача не решена + сломал игру (не запустилась) |
Qwen3.6 27b, q3ks | 19 | 46,5 | mradermacher | Задача не решена + сломал игру (не запустилась) |
Qwen3.6 27b, iq3xs | 21 | 44,4 | mradermacher | Успех |
Qwen3.6 27b, iq3s | 11,5 | 41,4 | mradermacher | Успех |
Qwen3.6 27b, iq3m | 1/2: 5,5 | 25,6 | mradermacher | Задача не решена + сломал игру еще на 1-м этапе (не запустилась) |
Qwen3.6 27b, iq3m, finetune "Fable-Fus-711" | 1/2: 29+ | ~50+ | Заявлена как первая файнтюн модель, которая "вошла в закрытый клуб интеллектуалов, где находятся Open AI, Claude, Gemini" | На одну только 1-ю часть задания потратила 9 мин. (успешно), досрочная остановка на 20-й минуте 2-й части задания |
Qwen3.6 27b, 4bpw, finetune от ggufbench | 1/2: 6,5 | 28,2+ | Заявлено фантастически умное сжатие с KLD как у IQ4XS | Задача не решена + сломал игру еще на 1-м этапе (не запустилась) |
Qwen3.5 9b, q6 | 10,5 (средне) | 64,7 | Условный референс | Успех |
Qwen3.5 9b - q6, finetune "qwythos" | Медленно | ~65-70 | Заявлено +30% к общим знаниям и математике + до 1 млн. контекста с качеством Claude Mythos/Fable | Успех |
Qwen3.5 9b - q6, finetune "deep-Seek-V4-Flash" | Медленно | ~75-80 | Заявлено размышления по структуре и логике в стиле DeepSeek V4 | Условно-успешно: задача решена не с первого раза (сначала сломал игру, не запустилась) |
Qwen3.5 9b - q6, finetune "defiant fable" | Быстро | 48,5 | "...в 7 из 7 бенчмарков превосходит оригинальный Qwen 3.5 9/27b, а кое-где и Qwen 3.6 27b..." | Успех |
Gemma-4 12b QAT, UD-q4kxl | Средне | ~50-60 | Unsloth, заявлено более "умное" сжатие | Успех |
Gemma-4 12b, q5ks | Медленно | ~50-60+ | Условный референс | Задача не решена + сломал игру (не запустилась) |
Отдельно упомяну MTP (speculative decoding). В теории эта технология должна повышать скорость генерации токенов в 1,5-2 раза, но видимо только в режиме "болталки", т.к. в моём случае модель была примерно на 15% медленнее, чем таже самая, но без MTP.
Что можно добавить к результатам в таблице выше?
Гемма-4 12b - боль.
Я искренне болел за Гемму-4, которая нравилась мне как-то сразу, заочно, но результат сильно разочаровал. При большем количестве параметров (требует больше VRAM изначально) и более щадящем сжатии - модель не справилась с тестом и требовала ощутимо больше контекстной памяти (ещё больше VRAM!).
Контекстное окно.
А что значит больше контекста? Это более частые его "перезагрузки", когда он переполняется и потом немилосердно кастрируется, а модели приходится вспоминать оригинальную задачку и "думать" почти что с нуля. Справедливости ради, обычно - это никак не влияет на результат, но сильно замедляет процесс, т.к. "на всё про всё" уходит минут 5 на 1 запрос, хотя qwen3.6 научился исцеляться от этого недуга сильно шустрее, чем 3.5.
Вообще, уровень потребления контекста - вполне похож на косвенный признак интеллекта модели. Например, можно же знать таблицу умножения наизусть и ответить сразу, а можно складывать в столбик или вообще суммировать каждую цифру в уме, что потребует больше рассуждений (thinking mode). Модель знает, а не угадывает.
Fine-tune.
Большая часть fine-tune моделей - это откровенный хлам: 2-е из 3-х моделей оказались ничуть не умнее базовой (при том, что популярность и количество загрузок - приличное), а их усиленный мыслительный процесс только зря сжигал запас VRAM. Исключением стал "defiant fable" - он действительно быстрее и эффективнее, чем референс. Хотя я гонял его позднее на создании "змейки" в один проход и в кодинге: у него был стабильно впечатляющий визуал с горсткой свистелок-перделок, но чуть хуже сама структура кода и комменты к нему + почти любой fine-tune очень часто сам по себе слегка нестабильный, непостоянный.
Единственное, на мой взгляд, разумное использование fine-tune в LLM - это какая-то очень специфическая задача: когда очень нужно, чтобы модель заговорила на каком-то конкретном языке или если вам до дрожи в коленях нравятся жёсткие хорроры, написанные умопомрачительным литературным английским (такие есть) или требуется автономный RP-персонаж с характером садиста или убийцы, где базовая модель просто откажется с вами разговаривать.
А вот для чисто картиночных моделей (вроде Stable Diffusion XL) fine-tune - это вообще желательный маст-хэв, хотя это уже совсем другая песня.
Кванты.
Тут всё получилось максимально нестабильно и даже немного неожиданно. До тестов у меня была простая, популярная логика: больше цифра = выше качество - q8 > q6 > q4 > q3 > q2, ну и внутри +/- тоже самое, но с буквенным обозначением - q4kl > q4km > q4ks | iq4m > iq4s > iq4xs > iq4xxs, где приставка i (i-matrix) - почти гарантированно означает, что iq4s окажется лучше любого "классического" кванта при меньшем размере (больше токенов и свободной VRAM). И это, вероятно, корректно, но лишь если использовать модели хотя бы в сжатии до того самого q4, включительно - особой разницы тогда и правда не будет, кроме мелких различий. Но если имеются суровые ограничения по железу и приходится залезать в мир экстрима, который начинается от q3, то тут всё становится о-о-очень индивидуально.
Например, передовые "умные алгоритмы" UD от Unsloth для qwen3.5 27b и Gemma-4 12b - оказались великолепны, что видно при сравнении их с квантами от mradermacher, который, вероятно, всегда использует некий стандартный алгоритм сжатия. Так, его iq3s оказался хуже, чем версия от Unsloth iq3xxs, хотя номинально она должна быть на 2 ступеньки качественнее! Оказалось, что недостаточно просто скачать первые попавшиеся веса в желаемом сжатии - нужно еще и поглядывать на автора и число скачиваний и даже это не будет панацеей.
Но вместе с этим для qwen3.6 те же чудесные алгоритмы Unsloth дали сбой - магия закончилась и модель оказалась наглухо лоботомированной, а середнячковый mradermacher выдал может и не самые идеальные, но стабильные, работоспособные веса.
Впрочем, разница на практике при таком сжатии между qwen3.5 - qwen3.6 - оказалась просто незаметна, кроме того, что модель стала занимать больше VRAM и потеряла в скорости, разумеется.
Ну и особым сюрпризом оказалось то, что "старший" i-matrix квант не всегда гарантирует лучшее качество - это больше напоминает русскую рулетку с непредсказуемым результатом и здесь крайне рекомендуется провести нудное, но необходимое сравнение с другой версией кванта на ваших конкретных задачах, а не на попугаях или красивых тестах.
Что-то вроде заключения.
Проверять нужно абсолютно всё и, повторюсь, исключительно на своих практических задачах. Единственные относительно стабильные ориентиры - это базовые правила (q8 > q6, i4x > q4) и количество загрузок ну и с оговорками, но можно верить официальным тестам от разработчиков.
Зачем вообще так заморачиваться с выбором квантов? Потому что даже +500-1000 мб к размеру весов при большом контексте - это от 14 до 28 тыс. токенов, которые могут быть крайне важны для комфортной работы + банальная скорость.
Могу ли я ответить на свои собственные вопросы теперь? Пожалуй, да.
Есть ли смысл использовать квант ниже Q4? - да, жизнь есть и на IQ3!
Если смысл есть, то какой именно квант использовать и насколько будет заметна разница между ними? - да, есть и существенная + разные авторы дадут очень разное качество.
Какая длина контекста вообще нужна для реальных задач? - чтобы написать и поддерживать пошаговую стратегическую игру под управлением ИИ с войной и экономикой - достаточно контекста в 50к токенов. Чтобы написать приложение, которое будет вытягивать id3-теги из локальной mp3 библиотеки + искать/загружать через стороннее API всё недостающие + искать/загружать тексты всех песен + синхронизация базы треков (новые, старые, удаленные) - лучше иметь хотя бы 70к токенов.
Всегда ли новые модели - лучше старых? - как минимум для qwen3.5\3.6 практика показывает, что может стать даже хуже.
Итого: техническая спецификация (Q8 > Q4) работает только в рамках одной модели и одного поставщика квантов. И как только вы меняете модель или автора GGUF-сборки — держите в голове, что всё может просто сломаться и вести себя совсем не так, как ожидалось, а единственный надежный тестер — это ваш личный проект.
Такие дела.
Спасибо за внимание и понимание.
UPD #1
По запросу Bardakan`а добавил ещё одну таблицу с некоторыми размерам моделей в памяти, все слои во VRAM (в Win10 можно заполнять VRAM вплоть до 15 Гб - этого хватает для стабильной работы без сбоев и OOM + хватит еще на пару вкладов в браузере).
Для сравнения Qwen3.5 27b, ud-iq3xxs, 11,5 Гб полностью в RAM - это ~10-13 т/с, т.е. вдвое+ медленнее.
Модель и размер файла | Мин. контекст 12к (мин.конфиг, ИМХО) | Оптим. контекст | Макс. контекст | Скорость |
Qwen3.5 27b, ud-iq3xxs, 11,5 Гб | 12,93 Гб (KV Cache: FP16) | 14,9 Гб (KV Cache: FP16) - 43 тыс. токенов | 14,9 Гб (KV Cache: q8/q8) - 92 тыс. токенов | 30 т/с |
Qwen3.6 27b, ud-iq3xxs, 12 Гб | Почти как Qwen3.5 27b, ud-iq3xxs, но чуть хуже | |||
Qwen3.6 27b, iq3s, 12,4 Гб | 13,52 Гб (KV Cache: FP16) | 14,9 Гб (KV Cache: FP16) - 33 тыс. токенов | 14,9 Гб (KV Cache: q8/q8) - 74 тыс. токенов | 13,5 т/с |
Qwen3.6 27b, iq3m, finetune "Fable-Fus-711", 14,1 Гб | Ориентир Qwen3.6 27b, iq3s, но хуже (меньший запас контекста), ~40 тыс. токенов - максимум при KV Cache: q8/q8 | |||
Qwen3.6 27b, 4bpw, finetune от ggufbench, 13,5 Гб | ||||
Qwen3.5 9b, q6, 7,46 Гб | 8.4 Гб (KV Cache: FP16) | 14,9 Гб (KV Cache: FP16) - 166 тыс. токенов | 14,9 Гб (KV Cache: q8/q8) - 262 тыс. токенов | 52 т/с |
Qwen3.5 9b - q6, finetune "qwythos", 7,36 Гб | Практически как Qwen3.5 9b, q6 | |||
Qwen3.5 9b - q6, finetune "deep-Seek-V4-Flash", 7,36 Гб | ||||
Qwen3.5 9b - q6, finetune "defiant fable", 8,56 Гб | 9.6 Гб (KV Cache: FP16) | 14,9 Гб (KV Cache: FP16) - 120 тыс. токенов | 14,9 Гб (KV Cache: q8/q8) - 235 тыс. токенов | 45,5 т/с |
Gemma-4 12b QAT, UD-q4kxl, 6,72 Гб | 8,3 Гб (KV Cache: FP16) | 14,9 Гб (KV Cache: FP16) - 58 тыс. токенов | 14,9 Гб (KV Cache: q8/q8) - 109 тыс. токенов | ~49 т/с |
Gemma-4 12b, q5ks, 8,2 Гб | 9,8 Гб (KV Cache: FP16) | 14,9 Гб (KV Cache: FP16) - 48 тыс. токенов | 14,9 Гб (KV Cache: q8/q8) - 90 тыс. токенов | ~41,5 т/с |

