Как Krasis позволяет запустить Ornith-397B на одном GPU
Разработчик представил Krasis - рантайм для MoE-моделей, который запускает Ornith-397B на одном RTX PRO 6000 Blackwell с 96 ГБ видеопамяти. Результат: 2 354 токена в секунду на префилле и 20-24 токена в секунду на декоде. Это первая система, которая умещает 397 миллиардов параметров в один потребительский GPU без катастрофической потери скорости.
Ключ к результату - динамическое управление резидентностью экспертов. Около 43% маршрутизируемых экспертов постоянно находятся в VRAM, остальные подгружаются из системной памяти по мере необходимости. Для работы требуется 256 ГБ RAM - конфигурация, достижимая на обычных материнских платах с DDR5.
Рантайм также использует адаптивную обрезку холодной массы, которая пропускает низкоранговые пути с потерей всего 1,8% вероятностной массы. На качестве генерации это практически не сказывается. Если вы экспериментировали с запуском MoE-моделей через llama.cpp и unified memory, то знаете, насколько критичен каждый гигабайт - разбор стратегии VRAM-кэша для 204 ГБ моделей показывает, как комбинация флагов и regex-правил даёт 340 tok/s на префилле, но Krasis идёт дальше, встраивая управление памятью в сам рантайм.
Требования к железу: 256 ГБ RAM и RTX PRO 6000
Конфигурация выглядит так: GPU с 96 ГБ VRAM и 256 ГБ системной оперативной памяти. Материнские платы с четырьмя слотами DDR5 поддерживают модули по 64 ГБ - четыре планки дают необходимый объём. Это потребительский сегмент, а не серверный.
256 ГБ нужны не для активных вычислений, а как буфер для хранения экспертов, которые не поместились в видеопамять. При полной загрузке Ornith-397B весит около 794 ГБ в FP16. Без динамической выгрузки понадобилось бы минимум четыре таких GPU. Krasis сокращает требования до одного ускорителя и оперативной памяти, которая уже стоит на полке.
Системная RAM работает как холодное хранилище. Когда роутер модели выбирает эксперта, отсутствующего в VRAM, Krasis подгружает его через PCIe. Задержка неизбежна, но частота обращений к «холодным» экспертам низкая - 43% маршрутизируемых экспертов покрывают большую часть запросов. Это напоминает стратегию из материала о стриминг-инференсе MoE-моделей, где ключевой вопрос - какую скорость можно выжать при подгрузке параметров через PCIe.
Производительность: префилл и декод в цифрах
2 354 токена в секунду на префилле - это обработка входного промпта. Модель «проглатывает» контекст практически мгновенно: промпт на 10 000 токенов обрабатывается за 4,2 секунды. Декод - генерация ответа - идёт на скорости 20-24 токена в секунду. Разрыв объясняется фундаментальным различием фаз: префилл обрабатывает все токены параллельно и упирается в вычислительную мощность GPU, тогда как декод генерирует токен за токеном последовательно и ограничен пропускной способностью памяти.
20-24 токена в секунду - комфортная скорость для чтения в реальном времени. Человек читает примерно 15-20 токенов в секунду на английском языке, так что задержка незаметна. Для сравнения: запуск Ornith-397B на RTX 5090 с 32 ГБ VRAM даёт около 7,9 токена в секунду - вдвое медленнее, но модель работает на карте за полторы тысячи долларов, а не за шесть тысяч.
Динамическая выгрузка экспертов: как уместить 397B параметров в 96 ГБ VRAM
Mixture-of-Experts модели хранят не один набор весов, а множество независимых «экспертов» - специализированных подсетей. Для каждого токена активируется лишь небольшая часть из них. Ornith-397B содержит сотни экспертов, но в каждый момент времени используются единицы. Проблема в том, что при стандартном инференсе все эксперты загружаются в VRAM - и 96 ГБ не хватает.
Krasis решает проблему на уровне рантайма. Вместо полной загрузки он держит в видеопамяти только тех экспертов, которые активируются чаще всего. Статистика использования подчиняется степенному закону: несколько экспертов обслуживают львиную долю токенов, а остальные вызываются эпизодически. Распределение использования экспертов в MoE-моделях подтверждает эту закономерность - даже в моделях с 2B активных параметров небольшая группа экспертов доминирует.
Резидентность экспертов: почему 43% - оптимально
43% маршрутизируемых экспертов в VRAM - эмпирически найденный баланс. Если оставить меньше, частота промахов и подгрузок через PCIe растёт, скорость декода падает. Если оставить больше, не хватает памяти под KV-кэш и промежуточные тензоры.
Механизм работает так: Krasis профилирует активации экспертов на лету и определяет «горячую» группу. Эти 43% закрепляются в видеопамяти. Остальные 57% лежат в системной RAM и загружаются по требованию. Подгрузка идёт асинхронно - пока GPU вычисляет текущий токен, следующий эксперт уже передаётся по PCIe. Перекрытие вычислений и передач данных скрывает значительную часть задержки.
Адаптивная обрезка холодной массы: снижение накладных расходов без потери качества
Холодная масса в MoE - это веса экспертов, которые активируются редко и с низкой уверенностью. Роутер модели назначает каждому эксперту вес, определяющий его вклад в выходной вектор. Эксперты с весом ниже порога вносят пренебрежимо малый вклад, но их вычисление всё равно расходует память и время.
Krasis применяет адаптивную обрезку: для каждого токена система оценивает распределение весов и отсекает низкоранговые пути, суммарная вероятностная масса которых не превышает 1,8%. Это не фиксированный порог, а динамический - в зависимости от контекста модель может сохранить больше или меньше путей. Потеря 1,8% вероятностной массы означает, что предсказание следующего токена опирается на 98,2% исходного распределения. На практике это незаметно: перплексия вырастает на доли процента, а галлюцинации не учащаются.
Обрезка снижает количество активируемых экспертов на каждом шаге, что прямо уменьшает объём данных, передаваемых из RAM в VRAM. Это критично для декода, где каждый токен требует нового набора экспертов.
Масштабируемость: от RTX 5090 до RTX PRO 6000
Krasis не привязан к флагманскому GPU. Рантайм масштабируется вниз, позволяя запускать Ornith-397B на картах с меньшим объёмом памяти. Цена - снижение скорости, но модель остаётся работоспособной.
| GPU | VRAM | Модель | Префилл | Декод |
|---|---|---|---|---|
| RTX PRO 6000 Blackwell | 96 ГБ | Ornith-397B | 2 354 tok/s | 20-24 tok/s |
| RTX 5090 | 32 ГБ | Ornith-397B | не указан | ~7,9 tok/s |
| RTX 5090 | 32 ГБ | 35B-класс MoE | не указан | ~117 tok/s |
Разрыв между 7,9 и 24 токенами в секунду - это разница в объёме VRAM. 32 ГБ вмещают меньше экспертов, чаще происходят подгрузки, PCIe становится узким местом. Но сам факт, что 397B модель запускается на карте за $1 500, меняет экономику инференса. Исследователь может прототипировать на локальной машине, не арендуя облачный кластер.
35B MoE на RTX 5090: ~117 tok/s декода
С моделями меньшего размера Krasis показывает скорость, пригодную для интерактивных приложений. 35-миллиардная MoE-модель на RTX 5090 выдаёт около 117 токенов в секунду на декоде - это быстрее, чем читает человек. Чат-боты, ассистенты кода, системы суммаризации работают без ощутимой задержки.
35B MoE с 2-3B активных параметров - это сегмент, который заполняет разрыв между лёгкими моделями и гигантами. Такие модели уже показывают качество, сравнимое с плотными 7-9B, но требуют меньше памяти для инференса. Krasis делает их ещё доступнее.
Практические выводы: когда стоит использовать Krasis
Krasis решает конкретную задачу: запуск больших MoE-моделей на одном GPU там, где раньше требовался кластер. Сценарии, где это оправдано:
- Исследования и прототипирование. Проверить гипотезу на Ornith-397B можно на локальной машине, не дожидаясь очереди в облаке.
- Обработка больших промптов. 2 354 tok/s на префилле означает, что модель «проглатывает» длинные документы за секунды - анализ контрактов, научных статей, кодовых баз.
- Пакетная обработка. Если latency некритична, можно генерировать ответы для сотен запросов последовательно, используя одно GPU.
Ограничения тоже есть. 256 ГБ RAM - это верхняя планка для потребительских плат, апгрейд обойдётся в $500-800. Скорость декода в 20-24 tok/s достаточна для чтения, но не для real-time приложений вроде голосовых ассистентов. Технология новая, возможны баги и нестабильность на нестандартных конфигурациях.
Если вы работаете с меньшими MoE-моделями, присмотритесь к альтернативам. Session-Adaptive Orthogonal Distillation сжимает 744B до 100 ГБ и запускается на 8 ГБ VRAM - другой подход с другими компромиссами. Для тех, кто экспериментирует с экстремальным квантованием, Falcon3-10B в 1.58 бита на RTX 5070 даёт 97.5 tok/s - но это плотная модель, а не MoE.
Krasis меняет правила игры для MoE-инференса. Один GPU вместо кластера, 397B параметров на домашней машине, скорость, достаточная для реальной работы. Это не теоретический концепт, а работающий рантайм с измеримыми результатами.