Как запустить большую MoE-модель на одной видеокарте
Как запустить большую MoE-модель на одной видеокарте

Как запустить большую MoE-модель на одной видеокарте

Крупную MoE-модель можно запустить на одной видеокарте, если выгружать неактивных экспертов в системную RAM: активными остаются только нужные слои, а остальное лежит в памяти. Именно эту задачу решает MoMoE — открытый (MIT) форк проекта Strata, который расширяет подход Strata с одной модели на многие mixture-of-experts модели. Оригинальный Strata запускал Qwen3.8-Flash-Next на одной видеокарте плюс системная RAM, MoMoE добавляет поддержку других MoE-моделей.

Что такое MoMoE и какую задачу он решает

MoMoE — это open-source форк Strata, который запускает MoE-модели на одной GPU с использованием системной RAM. В MoE-архитектуре на каждый токен работает лишь часть экспертов, поэтому не всю модель нужно держать в видеопамяти: авторы проекта используют это, чтобы влезть в одну карту вместо нескольких.

Ключевые свойства:

  • лицензия MIT, код открыт;
  • база — Strata, которая запускала Qwen3.8-Flash-Next на одной GPU + RAM;
  • MoMoE переносит тот же принцип на «многие другие» MoE-модели;
  • работает на Linux/NVIDIA и на Apple Silicon.

Это не универсальный раннер для любых LLM, а инструмент под конкретный класс моделей — mixture-of-experts. Для плотных моделей смысла в нём нет.

На каком железе это проверено

Автор тестировал MoMoE только на своей технике — список конкретный и полезен как ориентир по совместимости:

  • Linux, 64 ГБ RAM, AMD 5950X, видеокарты 3060 и 4070 Ti;
  • NVIDIA DGX Spark;
  • Jetson Orin Nano;
  • Mac Studio M1 Ultra;
  • Mac Mini M1 с 8 ГБ;
  • MacBook Air M4 с 32 ГБ.

Разброс большой: от 8 ГБ на Mac Mini до DGX Spark. Это подтверждает, что проект рассчитан на сценарий «одна карта плюс оперативка», а не на серверный кластер. Но список — это личный парк автора, а не гарантия совместимости с любым железом.

Чем отличается от llama.cpp

MoMoE позиционируется как альтернатива llama.cpp для MoE-моделей, и автор приводит собственные бенчмарки MoMoE против llama.cpp. В исходных материалах фигурирует замер на Ornith-1.5-122B — то есть на модели масштаба 122B, которую обычно не поднять на одной потребительской карте без выгрузки части весов.

Практический вывод: llama.cpp — универсальный раннер под широкий спектр моделей и квантований, а MoMoE — узкий инструмент под MoE с выгрузкой в RAM. Если ваша модель не mixture-of-experts, разница в подходе вам не поможет. Если это крупная MoE, а видеопамяти не хватает — это как раз тот случай.

Больше разборов по ИИ и автоматизации — в канале @il_chum

Как начать

Старт стандартный для GitHub-проекта: забрать репозиторий форка и собрать под свою платформу. Пошагово это выглядит так:

  1. Проверьте, что ваша модель — MoE (mixture-of-experts). Для плотных моделей инструмент не нужен.
  2. Убедитесь, что платформа в списке: Linux/NVIDIA или Apple Silicon.
  3. Оцените бюджет памяти: видеопамять карты плюс системная RAM — именно эта сумма должна вмещать модель.
  4. Соберите проект из репозитория форка (исходный код — Strata).
  5. Прогоните короткий тест на своей модели и сравните с llama.cpp на той же задаче.

Перед скачиванием весов полезно посчитать требования к памяти: методика есть в разборе сколько VRAM нужно для локальной LLM. А если выбираете между локальным запуском и облаком — смотрите локальная LLM или облачная.

Что может пойти не так

Главный риск — совместимость: бенчмарки сняты только на железе автора, на другой связке GPU/драйвер/платформа поведение может отличаться. Второй момент — скорость: выгрузка в системную RAM дешевле по памяти, но медленнее, чем держать всё в VRAM, и на разных моделях просадка будет разной. Третий — узкая специализация: проект заточен под MoE, и ждать от него универсальности llama.cpp не стоит.

Частые вопросы

Можно ли запустить MoE-модель на одной видеокарте? Да, если выгружать неактивных экспертов в системную RAM — на этом принципе работает MoMoE, форк Strata с лицензией MIT.

MoMoE работает на Windows? В исходных материалах указаны Linux/NVIDIA и Apple Silicon; про Windows данных нет.

Чем MoMoE лучше llama.cpp? Это не «лучше вообще», а другой подход: MoMoE нацелен на крупные MoE-модели с выгрузкой в RAM, тогда как llama.cpp — универсальный раннер. Автор приводит собственные бенчмарки MoMoE против llama.cpp, включая замер на Ornith-1.5-122B.


Больше разборов по ИИ и автоматизации — в канале: @il_chum