Суть прорыва: единое детерминированное ядро
Лаборатория Cursor Research открыла исходный код Mixture-of-Kittens (MoK) — оптимизированного тренировочного мегаядра, лежащего в основе их моделей Composer. Главная инновация заключается в том, что MoK сливает все шаги коммуникации (dispatch/combine) и вычислений (GEMM) в один детерминированный процесс. Это решает главную проблему современных MoE-моделей, где слой маршрутизации может занимать более 50% времени обучения.
Решение уже используется для обучения Composer в масштабах десятков тысяч GPU. Код доступен на GitHub под лицензией Apache-2.0, но имеет жесткие аппаратные требования.
Технические особенности: Pull, Push и Ring Buffer
Команда Cursor провела глубокий анализ узких мест NVLink-домена в стойках NVL72. Вместо стандартных push-транзакций, которые оставляют каналы пустыми, MoK использует гибридный подход:
- Pull-based dispatch: Позволяет использовать до 29% больше пропускной способности NVLink при дисбалансе экспертов. Сигнализация завершения сократилась с 103 мкс до 18 мкс (ускорение в 5.8 раза).
- Push-based combine: Используется для обратного прохода, чтобы минимизировать накладные расходы.
- Ring Token Buffer: Фиксированный кольцевой буфер (несколько сотен МБ) убирает CPU из цикла синхронизации. Это исключает потерю токенов и полностью устраняет задержки на согласование размеров буферов между CPU и GPU.
Сравнение производительности
Бенчмарки проводились в стойке NVL72 (64 GPU) с использованием форматов Kimi K2.7 Code, GLM-5.2, Qwen3.5-397B-A17B и DeepSeek-V4-Pro. MoK демонстрирует значительное превосходство над NCCL+PyTorch, DeepEP и HybridEP+Megatron.
| Метрика / Режим | Ускорение (MoK vs Best Baseline) | Примечание |
|---|---|---|
| MXFP8 Forward | 2.37x | Максимальное ускорение на уровне слоя |
| MXFP8 Backward | 1.78x | Обратный проход с квантованием |
| BF16 Forward | 1.92x | Стандартная точность |
| BF16 Backward | 1.58x | Стандартная точность |
| End-to-End (512 GPU) | 1.41x | Рост с 760.9 до 1,070.2 токенов/сек/GPU |
Системные требования и применимость
Несмотря на открытость кода, MoK не является универсальным решением для всех. Архитектура требует:
- GPU: NVIDIA Blackwell (SM100/SM103), то есть стойки GB200 NVL72 или GB300 NVL72.
- Софт: Python 3.12+, PyTorch 2.10+, CUDA Toolkit 13.0+.
- Память: Использование PyTorch symmetric memory для меж-GPU буферов.
Это ограничивает круг потенциальных пользователей фронтьер-лабораториями, крупными облачными провайдерами GPU и национальными вычислительными центрами. Обычные исследовательские группы с 8 GPU или даже одним узлом не смогут запустить этот стек.
Источник: MarkTechPost ↗
