kvcache-ai/Mooncake
Mooncake is the serving platform for Kimi, a leading LLM service provided by Moonshot AI.
解決する課題
Mooncakeは、KV (Key-Value) キャッシュとモデルデータがクラスター間で管理・移動される方法を最適化することで、大規模なLLM推論とトレーニングにおけるパフォーマンスのボトルネックに対処します。これにより、計算負荷の高いタスク(prefillやdecodingなど)を分離して個別にスケーリングできる「分離型」アーキテクチャを実現し、同時に高性能な分散キャッシュプールを共有することで冗長な計算を回避します。
仕組み
Mooncakeは、vLLMやSGLangのような推論エンジンの下位に位置するインフラストラクチャ層として機能します。主に2つのコンポーネントで構成されています。1つは、異種ネットワーク(RDMA、TCPなど)やハードウェアアクセラレータ間での低レイテンシかつ高帯域幅なデータ移動を処理する Transfer Engine (TE) です。もう1つは、DRAMとSSD間でキャッシュされたKV状態を管理する分散ストレージエンジンである Mooncake Store です。コンテンツアドレス指定ストレージとトポロジー認識ルーティングを使用することで、異なる推論インスタンスがキャッシュデータを効率的に共有および再利用できるようになります。
対象ユーザー
このプロジェクトは、大規模なLLMサービングシステムを構築するMLエンジニアやインフラチーム向けに設計されています。特に、高スループット、長文脈サポート、または分離された推論パイプライン(prefillノードとdecodeノードの分離など)を必要とするモデルをデプロイするチームに最適です。
ハイライト
- 高性能データ転送: 複数のRDMA NICを活用し、大規模な帯域幅(8x400 Gbpsネットワークで最大190 GB/s)を実現します。
- エコシステム統合: vLLM、SGLang、TensorRT-LLM、LMDeployなどの主要なサービングフレームワークと深く統合されています。
- ハードウェア非依存: CUDA、ROCm、NPU、MUSA、EFAを含む幅広いアクセラレータとインターコネクトをサポートしています。
- マルチティアキャッシュ: DRAMとNVMe/SSD間で階層的なキャッシュ戦略を実装し、容量と再利用率を最大化します。
- 本番環境での実績: Kimi LLMサービスを支えており、既存のサービスレベル目標 (SLO) 内でリクエスト処理能力を大幅に向上させています。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト