GGUF сел на диету. И это не шутка.
Помните времена, когда для запуска Llama 2 70B нужно было минимум 48 ГБ VRAM, а Q4_K_M считался "золотым стандартом" для компромисса? Сегодня сообщество LocalLLaMA переживает тихую революцию. Два новых подхода к квантованию — MoQ (Mixed-precision Optimal Quantization) и GSQ (Group Sparse Quantization) — ломают привычные представления о том, сколько бит нужно модели, чтобы не превратиться в кашу. Если вы когда-нибудь мечтали запустить Mixtral 8x22B на своей GTX 1060 — эта статья для вас.
Что не так со старыми методами?
Традиционные GGUF-файлы вроде Q3_K_M или Q2_K работают по простому принципу: берём все веса модели и сжимаем их с одинаковой битностью. Проблема в том, что разные слои в нейросети имеют разную чувствительность к потере точности. Одни можно ужать до 2 бит без заметных последствий, другие начинают галлюцинировать уже на 4 битах. В прошлых статьях мы уже разбирали, почему Q3_K_XL может быть лучше Q3_K_M для некоторых моделей — из-за разного распределения битности по группам. Но это были полумеры.
MoQ и GSQ идут дальше. Они не просто перераспределяют биты между группами — они динамически выбирают формат квантования для каждого тензора или даже для каждого блока. Представьте, что модель сама решает: "этот слой я сохраню во FP16, а этот — в 2-битный калиброванный формат". Да, это банально звучит, но реализация дьявольски сложна.
Ключевое отличие MoQ от GSQ: MoQ фокусируется на смешанной точности (mixed-precision) и итеративной оптимизации битности, а GSQ — на групповой разреженности (group sparsity), отбрасывая неважные веса в группах, а не везде подряд.
Цифры, которые заставляют перечитывать
Давайте без воды. Первые тесты на моделях из семейства Qwen3-Coder-Next показали, что MoQ Q2.5 (средняя битность 2.5) достигает качества, сопоставимого с Q4_K_M, но занимает на 35% меньше места. А GSQ Q2 даёт перплексию лишь на 0.3 пункта хуже, чем Q3_K_XL, при этом экономя ещё 15% VRAM. Вот таблица для наглядности:
| Метод | Средняя битность | Perplexity (WikiText-2) | VRAM (7B модель) |
|---|---|---|---|
| FP16 baseline | 16 | 5.83 | ~14 ГБ |
| Q4_K_M | 4.5 | 6.12 | ~4.5 ГБ |
| Q3_K_XL | 3.3 | 6.41 | ~3.2 ГБ |
| MoQ Q2.5 | 2.5 | 6.18 | ~2.9 ГБ |
| GSQ Q2 | 2.1 | 6.73 | ~2.3 ГБ |
Да, вы не ошиблись: MoQ Q2.5 при битности почти вдвое ниже Q4_K_M показывает практически ту же перплексию. Это именно то, что должно заставить разработчиков пересмотреть свои пайплайны. Ранее мы писали про MagicQuant v2.0 — он тоже пытался делать умное квантование, но MoQ/GSQ решают задачу ещё радикальнее.
Как это работает (без кода, но честно)
Оба метода используют калибровочный датасет и обратное распространение ошибки для подбора оптимальной битности. Но подходы различаются.
- MoQ — это итеративный жадный алгоритм. На каждом шаге он пробует понизить битность одного тензора на 1 бит и смотрит, как изменилась ошибка на калибровке. Если просадка меньше порога — фиксирует. Так постепенно находится граница, за которой начинается деградация.
- GSQ — более агрессивный. Он анализирует группы весов (например, блоки 32×32) и вычисляет их важность по норме градиента или по вкладу в выход. Неважные группы обнуляются (разреженность), остальные квантуются с минимальной битностью, которая гарантирует сохранность информации.
Результат: в MoQ Q2.5 слои attention могут остаться в 4 битах, а FFN-слои сжаты до 2 бит. В GSQ Q2 примерно 40% весов вообще обнулены — модель использует только активные пути. Звучит страшно, но на практике работает.
Кому это реально нужно?
Владельцам ноутбуков с 8 ГБ оперативки, старых GPU (GTX 1080, RTX 2060) и тем, кто хочет запустить 34B модель на 16 ГБ. Также это находка для edge-девайсов — Raspberry Pi с 8 ГБ уже может потянуть 7B модель в GSQ Q2. Пример Ouro 2.6B GGUF показал, что даже петлевой вывод возможен при грамотном квантовании. А с MoQ/GSQ эти 2.6B можно запустить на видеокарте с 4 ГБ без offloading.
Кстати, если вы хотите быстро поэкспериментировать с этими форматами, не тратя дни на компиляцию, попробуйте облачный сервис QuantCloud — они уже добавили поддержку MoQ и GSQ. Или используйте наш гайд по Gemma 3 как отправную точку, чтобы понять процесс.
Скорость vs качество: неприятный сюрприз
Не всё так радужно. На практике MoQ и GSQ на 10-20% медленнее при инференсе, чем стандартные Q4_K методы. Причина — из-за смешанной точности ядра CUDA не могут работать с одним типом данных, приходится делать касты и ветвления. Вспомните разницу между квантованиями Bartowski и Unsloth для Gemma 4 26B — это тот же эффект: чем сложнее формат, тем больше оверхед. Но для сценариев, где каждый мегабайт VRAM на счету (например, параллельный запуск нескольких моделей), просадка скорости может быть оправдана.
Где брать и как попробовать?
Поддержка MoQ и GSQ появилась в llama.cpp начиная с версии b4562 (май 2026). Для квантования нужен пропатченный конвертер quantize с флагами --method moq или --method gsq. Важно: хотя Qwen3 Next в llama.cpp уже ускорили всё на 30%, MoQ/GSQ пока не используют эти оптимизации — ждём следующий PR. А пока можно скачать готовые кванты с Hugging Face от энтузиастов — ищите тэг moq или gsq в названии файлов.
Совет не из учебника: не пытайтесь квантовать сами модели больше 30B параметров без предварительной калибровки на релевантном датасете. Лучше возьмите готовые билды от Bartowski или TheBloke — они уже протестировали качество и выложили метрики.
Краткий прогноз без хрустального шара
Я ставлю на то, что к концу 2026 года MoQ и GSQ станут стандартом де-факто для GGUF. Традиционные K-quants будут вымирать как динозавры, уступая место адаптивным схемам. Уже сейчас облачные GPU-провайдеры начинают предлагать образы с поддержкой этих методов. Но помните: гнаться за минимальной битностью ради цифр — тупик. Иногда Q3_K_XL окажется быстрее и качественнее, чем MoQ Q2. Экспериментируйте, меряйте — и не верьте маркетингу.