Движок colibrì запускает модель GLM-5.2 на 744 млрд параметров на обычном компьютере с 25 ГБ RAM. Вся магия — в архитектуре Mixture-of-Experts: за один токен активируется только ~40 млрд параметров. Из них ~11 ГБ меняются постоянно (маршрутизируемые эксперты), а плотная часть (attention, shared experts, эмбеддинги) живёт в памяти в int4 и занимает около 9.9 ГБ. Остальные 21 504 эксперта (~370 ГБ) хранятся на диске и подгружаются по запросу с LRU-кешем, опциональным hot-store и страничным кешем ОС в качестве халявного L2.
Движок — один C-файл (c/glm.c, ~1300 строк), без BLAS, Python на рантайме или GPU. Он полностью воспроизводит forward GLM-5.2 и проверен токен-в-токен против transformers. Использует MLA attention со сжатым KV-кешем (576 floats на токен вместо 32 768). Есть сигмоидный роутер в стиле DeepSeek-V3, shared expert, а также родное спекулятивное декодирование MTP — голова модели (слой 78) предсказывает токены, которые основной проход проверяет за один батч. Голова обязана быть в int8: в int4 приём упал бы до 0–4%, а в int8 приемлемость 39–59%, что даёт 2.2–2.8 токена за forward.
На холодном кеше каждый подтверждённый черновик подгружает лишних экспертов (с ~660 до ~1100 загрузок на токен), так что MTP может замедлять — для этого есть адаптивный защитник и флаг DRAFT=0. Остальное: int8-активации с AVX2 maddubs (int8 matmul быстрее в 1.4–2.5 раза, int4 — в 1.8), MLA weight absorption для декода, асинхронное упреждающее чтение экспертов, собственный BPE-токенизатор на C (GPT-2-style, 320k merges). Размер кеша экспертов подстраивается под MemAvailable, чтобы не запускать OOM-killer.
Конвертер FP8→int4 скачивает веса шардами по ~5 ГБ и не требует хранить все 756 ГБ FP8 одновременно. На машине автора (WSL2, 12 ядер, 25 ГБ RAM, NVMe через VHDX) холодный декод выдаёт ~0.05–0.1 tok/s (прочитано ~11 ГБ с диска за токен). Сообществом измерены: на Intel Core Ultra 7 270K Plus (24 нити, WSL2, 24 ГБ RAM) — 0.07 tok/s; с флагом --topp 0.7 — 0.11 tok/s; на Apple M5 Max (18 ядер, 128 ГБ unified) — 1.06 tok/s. Автор подчёркивает: на машинах с 24 ГБ RAM узкое место не диск, а авто-ограничение кеша (всего 2 слота на слой).
Движок умеет запоминать, какие эксперты вы используете (.coli_usage), и при старте автоматически «пинит» горячие в свободной RAM — буквально ускоряется с каждым сеансом. Требования: Linux (или WSL2), gcc с OpenMP, AVX2, ≥16 ГБ RAM, модель на локальном NVMe (ext4, не через сетевую файловую систему). Веса GLM-5.2 int4 уже выложены на Hugging Face. Автор проекта — один человек, всё писалось и тестировалось на 12-ядерном ноутбуке с 25 ГБ RAM, и он очень просит присылать замеры с более мощного железа и запускать бенчмарки качества (MMLU/HellaSwag/ARC), чтобы оценить потери от int4-квантования.