Всем привет.

В свободное время и под настроение я ваяю маленькие, замысловатые игры на основе d10-кубов механик, похожие на PvP или PvE настолки, которые нередко проходят в автоматическом режиме (ИИ vs ИИ), а иногда получается что-то чуть серьезнее: вроде игры "Жизнь", но на стероидах с экономикой, сражениями и в масштабах солнечной системы (вдохновлялся у Shadow Empire).

Не являясь настоящим программистом и написав за всю жизнь, в лучшем случае, около тысячи строк кода - мне для воплощения своих причудливых идей, естественно, потребовалась помощь психиатров нейросетей, которые, как уже говорят - научились писать вполне рабочий, годный код.

И вот, думаю, а почему бы и да? Вот бы ещё локально всё это запускать, чтоб без ограничений, сюрпризов, да и просто удобней - хороша идея!

А вот тут я быстро осознал, что если советов из разряда "Q4-K-M - это "золотой стандарт", используйте его или лучше" - более-менее в достатке, то каких-то более реальных, практичных сравнений, тестов - очень даже в дефиците. Усугубляется это все экстраполяцией результатов, которые были получены в разных тестах, на разных моделях, в разное время - на другие модели. Ещё хуже, если пытаются наложить инфу по моделям одного поколения на другое поколение (например, предполагаемый KLD (далее подробнее) при сжатии). Но даже если что-то и находится, то можно встретить новый тупик - непонятна достоверность сказанного. И?


Короче, кое-что я таки узнал и посему в течение статьи решил поделиться с читателями опытом своих практических задачек, а не замерами "в попугаях", прогонах в каких-то "условно-практических" тестах или чистой синтетике. Быть может, это кому-то поможет сэкономить время и впечатления.

Лично мне было важно ответить на пару вопросов:

  1. Есть ли смысл использовать квант ниже "джентльменского минимума" в виде Q4?

  2. Если смысл есть, то какой именно квант использовать и насколько будет заметна разница между ними, особенно внутри одного уровня сжатия?

  3. Какая длина контекста вообще нужна для реальных задач?

  4. Всегда ли новые модели - лучше старых?

В сети ответы на такие вещи - конечно есть, отчасти. Но мне попадалась либо фрагментарная/устаревшая информация или основанная, преимущественно, на тестах вроде 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 тыс. токенов, которые могут быть крайне важны для комфортной работы + банальная скорость.

Могу ли я ответить на свои собственные вопросы теперь? Пожалуй, да.

  1. Есть ли смысл использовать квант ниже Q4? - да, жизнь есть и на IQ3!

  2. Если смысл есть, то какой именно квант использовать и насколько будет заметна разница между ними? - да, есть и существенная + разные авторы дадут очень разное качество.

  3. Какая длина контекста вообще нужна для реальных задач? - чтобы написать и поддерживать пошаговую стратегическую игру под управлением ИИ с войной и экономикой - достаточно контекста в 50к токенов. Чтобы написать приложение, которое будет вытягивать id3-теги из локальной mp3 библиотеки + искать/загружать через стороннее API всё недостающие + искать/загружать тексты всех песен + синхронизация базы треков (новые, старые, удаленные) - лучше иметь хотя бы 70к токенов.

  4. Всегда ли новые модели - лучше старых? - как минимум для 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 т/с

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Был ли смысл/польза в этой статье?
53.33%Да8
26.67%Возможно, да4
20%Нет3
0%Полная чухня. Чтоб я тебя здесь больше не видел0
Проголосовали 15 пользователей. Воздержался 1 пользователь.