Инструменты12 июля 2026 г., 17:45 МСК🤖 Auto

Colibri: Запуск GLM-5.2 (744B) на ПК с 25 ГБ ОЗУ через потоковую передачу экспертов

Проект Colibri представил движок на чистом C для запуска 744-миллиардной MoE-модели GLM-5.2 на потребительском оборудовании. Ключевая инновация — потоковая загрузка 21 504 экспертов с диска при использовании всего ~10 ГБ оперативной памяти.

Баннер новости 3402

Архитектура: Потоковая передача экспертов (Expert Streaming)

Основная проблема запуска моделей уровня 744B параметров на CPU — нехватка памяти. Colibri решает её через разделение модели на две части:

  • Плотная часть (Resident): ~17B параметров (включая attention, общие эксперты и эмбеддинги) хранятся в ОЗУ в квантованном виде int4. Это занимает всего 9.9 ГБ памяти.
  • Маршрутизируемые эксперты (On-Disk): Оставшиеся ~727B параметров распределены по 21 504 экспертам (75 слоев MoE × 256 экспертов + голова MTP). Они хранятся на диске (~370 ГБ) и загружаются потоково по мере необходимости. Для ускорения используется LRU-кэш на уровне слоя и опциональное «горячее» хранилище.

Производительность и оптимизации

Движок написан на чистом C (один файл glm.c, ~2400 строк) без зависимостей от BLAS или Python во время выполнения. Реализованы специфичные для GLM-5.2 оптимизации:

  • MLA Attention: Сжатый KV-кэш (576 float/токен вместо 32 768), что уменьшает объем данных в 57 раз.
  • Speculative Decoding (MTP): Нативная поддержка много-токенного прогнозирования. При использовании головы MTP в int8 скорость составляет 2.2–2.8 токена за один проход (принятие черновиков 39–59%).
  • Grammar-forced drafts: Возможность принудительного генерирования токенов на основе грамматики (GBNF) для JSON или структурированного вывода, что повышает эффективность до ~1.0 принятия черновиков.
  • DSA Sparse Attention: Реализация «молниеносного индексатора» GLM-5.2, выбирающего топ-2048 ключей на слой.

Сравнение метрик (WSL2, 12 ядер, 25 ГБ RAM, NVMe)

Метрика Значение
Размер модели на диске (int4) ~370 ГБ
Занимаемая ОЗУ (резидентная часть) 9.9 ГБ
Время загрузки ~30 секунд
Пиковое потребление RSS ~20 ГБ (автоматически ограничено)
Стоимость чтения диска (холодный старт) ~11 ГБ/токен (ограничение ~0.05–0.1 tok/s)
Скорость с MTP (теплый кэш) 2.2–2.8 токена/forward

Практическое применение и ограничения

Colibri демонстрирует, что запуск frontier-моделей возможен на оборудовании дешевле одного GPU H100. Однако производительность сильно зависит от скорости дисковой подсистемы. При холодном старте (отсутствие кэша экспертов в ОЗУ) скорость ограничена пропускной способностью NVMe (~1 ГБ/с случайного чтения).

Разработчики предупреждают: хотя чтение не изнашивает SSD, интенсивная работа может вызывать перегрев дисков и свопинг, если система исчерпает ОЗУ. Для стабильной работы рекомендуется использовать SSD с хорошим терморегулированием и следить за доступной памятью через флаг --ram.

Модель GLM-5.2 в формате int4 доступна на Hugging Face, а конвертер из FP8 в int4 позволяет скачивать чанки по 5 ГБ, не требуя 756 ГБ свободного места на диске одновременно.

Источник: Github ↗