Запуск LLM и ИИ-агентов на домашнем оборудовании становится всё популярнее — растут цены на подписки на облачные ИИ-сервисы, а пользователи всё чаще задумываются о конфиденциальности данных. Стойку уровня Nvidia NVL72 могут позволить себе единицы, поэтому энтузиастам приходится искать способы уместить огромные модели в скромный объём памяти. Именно такую задачу решил итальянский инженер Винченцо (известный в сети как JustVugg): он создал движок Colibrì, который запускает модель GLM-5.2744 миллиарда параметров, около 1,5 ТБ на диске — на обычном процессоре, 25 ГБ ОЗУ и виртуальном NVMe-накопителе со скоростью 1 ГБ/с.

Источник изображения - Getty ImagesИсточник изображения - Getty Images

реклама кормит Уточку 🦆

Сразу стоит оговорить главный недостаток: на конфигурации автора Colibrì выдаёт в среднем 0,05–0,1 токена в секунду. При таком темпе ответ на простой вопрос может формироваться часами, поэтому для повседневного общения с ботом решение не годится. Более мощные локальные сборки показывают заметно лучший результат, но даже они пока далеки от 20–30 токенов в секунду, необходимых для комфортного диалога в реальном времени.

Тем не менее сама GLM-5.2 — это модель типа Mixture-of-Experts (MoE) от китайской лаборатории Z.ai (Zhipu AI), по уровню возможностей приближающаяся к топовым разработкам Anthropic, OpenAI и других компаний и способная стабильно работать с контекстом до миллиона токенов. По словам автора, его ограниченное тестирование показало на удивление высокое качество ответов — при том что для работы модели требуется лишь малая часть вычислительных ресурсов, обычно нужных проектам такого масштаба.

реклама кормит Уточку 🦆

Как MoE-архитектура помогает уместить сотни миллиардов параметров в 25 ГБ

Принцип, лежащий в основе Colibrì, проще всего объяснить на устройстве самой модели. GLM-5.2 состоит из «плотной» части — слоёв внимания, общих экспертов и эмбеддингов, это около 17 миллиардов параметров, — и роя из 21 504 маршрутизируемых экспертов, распределённых по 75 слоям. Для каждого токена запроса модель активирует не всю сеть целиком, а лишь порядка 40 миллиардов параметров — меньше 6% от общего числа. Остальные эксперты в этот момент простаивают, и именно эту особенность архитектуры и использует Colibrì: вместо того чтобы держать всю модель в памяти объединённых в кластер GPU, как это обычно бывает, движок подгружает и выгружает с диска только тех экспертов, которые нужны для конкретного токена.

реклама кормит Уточку 🦆

Ключевые технические решения Colibrì

  • Плотная часть модели в int4-квантовании (около 9,9 ГБ) постоянно находится в оперативной памяти, а маршрутизируемые эксперты (суммарно около 370 ГБ) хранятся на диске и подгружаются через посистемный LRU-кэш
  • Движок написан на чистом Си одним файлом объёмом около 2400 строк, без внешних зависимостей
  • Используется сжатое MLA-внимание, уменьшающее размер кэша ключей-значений более чем в 50 раз
  • Применяется спекулятивное декодирование через встроенный в GLM-5.2 механизм multi-token-prediction, позволяющий в отдельных случаях получать сразу по 2–3 токена за один проход
  • Объём кэша автоматически подстраивается под доступный объём оперативной памяти
реклама кормит Уточку 🦆

Если предположить, что постоянная подгрузка и выгрузка данных для каждого токена сильно бьёт по производительности накопителя и пропускной способности памяти — так и есть. В такой схеме первым узким местом обычно становится скорость NVMe-накопителя, но конкретное «бутылочное горлышко» зависит от конфигурации: нарастили пропускную способность хранилища — упёрлись в объём ОЗУ, решили эту проблему — не хватает ядер CPU, и так далее.

Colibrì пока остаётся доказательством концепции: поддержки видеокарт в проекте нет, хотя даже при её появлении передача данных между диском и GPU почти наверняка станет главным ограничением. Тем не менее с момента публикации репозиторий уже набрал заметную популярность в сообществе разработчиков — тысячи звёзд на GitHub и активное обсуждение на Hacker News. Автор продолжает собирать бенчмарки от пользователей и вносит исправления в код, а готовая квантованная версия GLM-5.2 для запуска через Colibrì уже доступна на Hugging Face. Не исключено, что со временем подобные разработки позволят запускать по-настоящему мощные нейросети на обычном потребительском «железе» — пусть пока и без претензий на комфортную скорость.