MoE модель GLM-5.2 (от 744B до 2.8T параметров) - на локальной машине!

Colibri — это легкий движок на чистом Cи, позволяющий запускать гигантскую открытую модель GLM-5.2 (с архитектурой Mixture-of-Experts на 744 миллиарда параметров) на обычном компьютере всего с 25 ГБ оперативной памяти и без мощной видеокарты.

Главные особенности технологии

  • Потоковая передача данных (Streaming): Движок объединяет оперативную память и быстрый NVMe SSD в единую систему, подгружая и выгружая экспертные модули модели по мере необходимости.
  • Сжатие KV-кэша: Использование алгоритма MLA (Multi-head Latent Attention) сокращает размер контекста в 57 раз, что делает возможным запуск на 25 ГБ RAM.
  • Код: Проект написан на чистом C без тяжелых зависимостей, имеет встроенный веб-интерфейс и API, совместимый с OpenAI.

Ограничения производительности

  • Скорость генерации: Узким местом является скорость чтения данных с диска (пропускная способность NVMe-накопителя). Скорость работы составляет около 0,05–0,1 токена в секунду. Ответ на сложный вопрос может занимать несколько часов.
  • Требования к диску: Для комфортной работы критически важна высокая скорость случайного чтения с NVMe-накопителя (желательно стандарта PCIe 4.0 или 5.0).

Для локального развертывания Colibri и запуска GLM-5.2 на домашнем оборудовании потребуется выполнить сборку исполняемого файла из исходного кода и правильно настроить дисковый кэш. Кроме того, на GitHub можно скачать и готовые релизы.

Локальный запуск движка

./colibri --model ./glm52_weights.bin --threads 8 --mmap --cache ./ssd_cache.tmp

Параметры:

  • --mmap: Флаг принудительного использования виртуальной памяти ядра. Позволяет операционной системе эффективно использовать 744-миллиардную MoE-модель прямо с NVMe-накопителя.
  • --cache: Путь к временному файлу кэша. Этот файл обязательно должен находиться на вашем самом быстром системном PCIe SSD (не на жестком диске HDD).
  • --threads: Количество физических ядер процессора (не потоков Hyper-Threading), выделенных под инференс.

Собственный локальный API-сервер

Colibri имеет встроенный минималистичный веб-сервер, совместимый с форматом OpenAI API. Для его активации добавьте флаг запуска:

./colibri --model ./glm52_weights.bin --port 8080 --host 0.0.0.0

После этого вы можете подключить модель к своим локальным интерфейсам например, Open WebUI.

P.S.

На просторах интернета, пока, видел только забугорные обзоры и тесты. Сам не тестировал, нет 24 GB+ ОЗУ. Да и AI я интересуюсь постольку-поскольку, предпочитаю реальный искусственному. Но справедливости ради скажу, изучать (как инструмент) надо.

Не, ну формально никто не обманул, действительно можно запустить glm 5.2 на локальной машине и оно даже будет работать, формально никто не обманул, но есть одно но…

Это мне напоминает машину тьюринга, которая, в теории, может решить любую задачу, главное, чтобы было достаточно ленты и времени

Первый токен пришел чуть больше, чем через минуту, а так, скорость порядка 14 токенов в минуту

В open-webui я просто не дождался получения 1 токена ответа
Время обработки вопроса и генерации ответа 13 минут



Во время парсинга сообщения загрузка процессора 100% во время вывода под 50% и система упирается в производительность дисковой подсистемы (ну тут все как заявлено) и у меня она держалась в среднем в районе 2 ГиБ/с