kvcache-ai/Mooncake

Mooncake — это платформа для обслуживания Kimi, ведущего сервиса LLM от Moonshot AI.

Инференс⭐ 6 622C++последний релиз: v0.3.13.post1
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Mooncake — это платформа для обслуживания LLM с архитектурой, ориентированной на KVCache, которая позволяет разделять этапы префилла и декрилла, а также кэшировать KV-состояния между узлами.

Зачем нужен

Инструмент решает проблему неэффективного использования GPU при обработке длинных контекстов и пиковых нагрузок, обеспечивая распределенное хранение и передачу KVCache. Это позволяет увеличить пропускную способность (throughput) и снизить задержки, так как тяжелые вычисления по префиллу можно выполнять на отдельных узлах, а декрилл — на других, с общим доступом к кэшу.

Что можно реализовать

  • Масштабирование сервисов LLM (например, Kimi) для обработки на 75% больше запросов при соблюдении SLO.
  • Интеграция с vLLM для кросс-инстансного шаринга KVCache, что повышает эффективность использования памяти.
  • Ускорение распределенного RL-обучения (например, для моделей на 1T параметров) за счет zero-copy RDMA-передачи весов между тысячами GPU.
  • Разделение сервисов для мультимодальных моделей (например, LightX2V), где энкодер и трансформер работают на разных узлах.
  • Глобальное кэширование эмбеддингов (ViT) в SGLang для избежания избыточных вычислений на GPU.

Ключевые возможности

  • Поддержка широкого спектра аппаратных платформ: CUDA (включая версии 12.9, 13.0/13.1), NPU, MUSA и EFA.
  • Высокая скорость передачи данных: использование RDMA для передачи весов и KVCache с нулевым копированием (zero-copy).
  • Официальная интеграция в экосистемы vLLM, SGLang, PyTorch и TorchSpec.
  • Архитектура Disaggregated Serving, позволяющая гибко распределять нагрузку между узлами префилла и декрилла.
  • Поддержка сложных сценариев, таких как speculative decoding и распределенное обучение с использованием Mooncake Store.

👤 Кому подойдёт: инженеры по машинному обучению, разработчики инфраструктуры LLM, исследователи, работающие с распределенным обучением и обслуживанием больших моделей

Релизы

v0.3.13minor
🕐 26 дн назад · релиз на GitHub ↗

Релиз Mooncake v0.3.13: улучшение производительности RDMA и TENT, исправления хранилища, поддержка NPU и устранение уязвимостей.

  • Added: Добавлена поддержка NPU через новый workflow сборки и оптимизация размера wheel-пакетов.
  • Added: Улучшена работа RDMA: внедрена маршрутизация QP через UDP и балансировка LAG.
  • Added: Расширены возможности TENT: улучшен QoS, добавлен spray-режим и выбор транспорта.
  • Fixed: Исправлены критические ошибки Store: авто-восстановление SSD, переполнение счетчиков и гонки потоков.
  • Fixed: Устранены уязвимости Go в libetcd_wrapper.so и ошибки компиляции в MACA/TransferEngine.
v0.3.12.post1minor
🕐 1 мес назад · релиз на GitHub ↗

Исправления Store, безопасность libetcd, поддержка AMD ROCm, оптимизация NPU и новые возможности TransferEngine.

  • Fixed: Устранена уязвимость в библиотеке libetcd_wrapper.so (Go).
  • Added: Добавлена регистрация HIP dmabuf для AMD GPU (ROCm).
  • Added: В TransferEngine добавлены правила выбора транспорта и устройства, а также скелет ProgressWorker.
  • Fixed: Исправлена авто-восстановление SSD Offload после перезапуска мастера и ошибки пустого offload.
  • Added: В Python API добавлена поддержка параметра location для register_memory.