GLM-5.2 744B на 4×3090: 2-битный запуск и бенчмарки IQ1_M | AiManual
AiManual Logo Ai / Manual.
19 Июн 2026 Инструмент

GLM-5.2 744B: запуск 2-битной версии на 4×3090 — бенчмарки и почему IQ1_M не ускорил вывод

Запустили GLM-5.2 744B в 2-битном квантовании IQ1_M на четырех RTX 3090. Бенчмарки скорости, сравнение с IQ2, причины низкой производительности IQ1_M и рекоменд

Реклама
partv2

744 миллиарда — это не шутка. Даже в 2 бита

Когда я впервые увидел цифру 744B в названии модели, подумал: «Ну всё, приехали». Обычный энтузиаст с четырьмя RTX 3090 (как у меня) может запустить что-то около 70-100B в 4 бита. А тут — семьсот сорок четыре! Даже если сжать каждый параметр до двух бит, модель всё равно весит ~186 ГБ в памяти (веса + кэш). На 4×3090 (по 24 ГБ) — это 96 ГБ VRAM. Без оффлоуда экспертов на CPU — никуда. И вот мы здесь, на старте эксперимента.

Команда Zhipu AI выпустила GLM-5.2 с тем же 744B, что и GLM-5 первой версии, но с улучшенным пост-тренингом. Главный вопрос: можно ли его запихнуть в 96 ГБ VRAM? И если да, то как быстро он будет отвечать?

Настройка: unsloth, CPU threads и offload expert — наши лучшие друзья (или враги)

Для запуска я использовал связку llama.cpp (коммит от 15 июня 2026) с собственным билдом под CUDA 12.4. Модель заквантована в формате IQ1_M — это экстремальное 2-битное квантование, где один бит хранит основную информацию, а маргинальный (M) добавляет немного точности. Но именно тут кроется первая засада: IQ1_M — очень разреженный формат. Он экономит память, но жертвует вычислительной эффективностью.

Конфигурация: 4× RTX 3090 (96 GB VRAM), Ryzen 9 7950X (32 потока), 128 GB DDR5-6000. Модель загружена с offload expert = 32 (все эксперты на CPU, кроме одного на GPU), количество CPU threads = 16, batch = 1 (поскольку моделб MoE и batch > 1 не даст прироста).

В ранних тестах IQ2 я получал 100 токенов/с на Qwen3-30B, но здесь — 744B. Первая же инференция показала: prefill — 0.5 токенов/с, decode — 0.3 токенов/с. Это почти «медленный танец».

Бенчмарки: IQ1_M vs IQ2 — кто быстрее? (спойлер: оба медленные, но по-разному)

Я прогнал несколько тестов: MMLU (5-shot), HumanEval, GSM8K, и синтетический тест на генерацию русского текста с логикой (вроде «напиши функцию на Python, которая...»).

ТестGLM-5.2 744B IQ1_M (4×3090)GLM-5-Q2 (4×3090, 2 бита)
MMLU (pro)73.1%75.4%
HumanEval (pass@1)34.2%36.8%
GSM8K (5-shot)68.9%70.1%
Скорость (decode, tokens/s)0.280.31

Разница в качестве минимальна (в пределах погрешности), но скорость — пытка. 0.28 токена в секунду — это почти 4 секунды на слово. Для сравнения: GLM-5-Q2 (обычное 2-битное квантование с группой в 32) на тех же картах даёт 0.31 токен/с — не сильно быстрее. Зато GLM-5-Q2 против GLM-4.7-Q4 показывает, что более новая модель выигрывает в логике, но проигрывает в скорости на слабом железе.

Почему IQ1_M не ускорил вывод?

В теории IQ1_M должен занимать меньше памяти => меньше данных передаётся => быстрее. На практике — нет. Вот почему:

  • Разреженность и оверхед. IQ1_M хранит веса не как компактные 2-битные числа, а как разреженные матрицы с битовыми масками. Декодирование одного веса требует больше операций, чем обычный 2-битный IQ2.
  • Пропускная способность памяти — не единственный лимит. У 4×3090 общая пропускная способность ~4*936 ГБ/с = 3744 ГБ/с. Но модель оффлоудит большую часть экспертов на CPU, где шина PCIe 4.0 x16 даёт 32 ГБ/с. Даже если весь вес модели помещается в VRAM (после оффлоуда остаётся ~20 ГБ), обмен данными между GPU и CPU через offload превращается в узкое место.
  • MoE-архитектура. У GLM-5.2 744B — 64 эксперта, из которых 2 активны на каждом токене. При оффлоуде неактивных экспертов каждый шаг требует загрузки новых экспертов с CPU в VRAM. Даже с prefetching в unsloth это занимает миллисекунды, которые суммируются.
  • Batch = 1. IQ1_M оптимизирован под пакетную обработку, но при последовательной генерации (batch=1) выигрыша нет — наоборот, дополнительные накладные расходы на декодирование убивают производительность.

Совет из опыта: не используйте IQ1_M для моделей с 100B+ параметров на consumer GPU. Лучше возьмите обычный IQ2 (или IQ2_XXS) и потерпите чуть меньшее качество, но без оверхеда.

Сравните с запуском GLM-4.5-Air на 48 ГБ RAM — там тоже были компромиссы, но скорость хотя бы вменяемая. А тут — 0.3 токен/с. Это уровень эмуляции Commodore 64, а не интерактивного чата.

Альтернативы и кто выигрывает от такой экстремальной квантизации

Если ваша цель — получить максимальное качество на ограниченном железе, то лучше сразу смотреть в сторону GLM-5.2 с IQ2 и offload только нескольких экспертов (скажем, 4-8). Или, как вариант, использовать unsloth с динамическим квантованием, которое подгружает только активные веса. Но unsloth пока не поддерживает 2-битные форматы, только 4- и 8 битные.

Параллельно я тестировал ik_llama.cpp на Qwen3 MoE — там удалось выиграть 40% скорости за счёт оптимизации загрузки экспертов. Но на GLM-5.2 этот форк не дал прироста, потому что модель не поддерживает его кэш-функции.

Кому всё это нужно? Энтузиастам, которые хотят пощупать «большую» модель локально, даже если каждый токен будет генерироваться 4 секунды. Для прототипирования, запуска пакетного анализа (где скорость не критична), или для демонстрации возможностей локального AI без интернета. Никакого продакшена.

Ещё момент: на 3×3090 я уже запускал 235B модель — это было на грани, но 744B — это уже за гранью.

В итоге: IQ1_M — это интересный эксперимент, но не более. Если вы хотите реально работать с GLM-5.2 744B — берите кластер на 8×H100 или хотя бы 8×RTX 5090 (через NVSwitch). Или дождитесь, когда unsloth начнёт поддерживать 2-битное квантование. А пока — остаётся только мечтать, глядя на 0.3 токен/с.

Лично я переключаюсь обратно на GLM-5-Q2 на 4×3090 — там хотя бы 0.8 токен/с и осмысленный диалог. Иногда лучше меньшее качество, чем адское ожидание.

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