Mooncake: それが何であるか、解決する問題、そして注目を集めている理由
Mooncake: それが何であるか、解決する問題、そして注目を集めている理由
解決する課題
Mooncake は、プレフィルとデコードのクラスターを分離する(PD ディスアグリゲーション)ことで、従来の LLM サービングの非効率性に対処します。分散型 KVCache プールを作成することで、CPU、DRAM、SSD といったハードウェアリソースの未活用という問題を解決し、特に従来の手法がレイテンシの Service Level Objectives(SLO)を満たすのが難しい長コンテキストシナリオにおいて、スループットの向上とメモリ効率の改善を実現します。
仕組み
Mooncake は、KVCache を中心としたアーキテクチャを実装し、主に以下の 3 つのコンポーネントで構成されています。
- Transfer Engine (TE): テンソルをさまざまなストレージやネットワーク環境間で転送するための統一インターフェースを提供する高性能データ転送フレームワークです。RDMA、トポロジー認識ルーティング、マルチ NIC 帯域幅集約を利用し、標準的な TCP よりもはるかに高速なデータ転送を実現します。
- Mooncake Store: Transfer Engine 上に構築された分散型キー・バリューキャッシュストレージエンジンです。マルチティア階層(DRAM と SSD/NVMe)を用いてクラスター全体で再利用可能な KV キャッシュとモデル重みを管理し、エンジンの再起動に依存しない弾力的なストレージを提供します。
- Mooncake EP と Process Group (PG): 大規模な Mixture-of-Experts(MoE)推論をサポートするためにシステムを拡張し、障害耐性のあるエキスパート並列ディスパッチと、ランク障害からサービス全体を再起動せずに回復できる PyTorch 互換の分散プロセスグループバックエンドを提供します。
対象ユーザー
Mooncake は、Kimi のような大規模 LLM サービスの開発者・運用者や、vLLM、SGLang、TensorRT-LLM などの推論エンジンのメンテナンス担当者を対象としています。高トラフィックかつ長コンテキストの AI アプリケーションにおいて、スループットとリソース利用率の最大化が求められるケースに最適です。
ハイライト
- 高性能転送: 8×400 Gbps RoCE ネットワークで最大 190 GB/s の帯域幅を実現し、TCP よりも大幅に高速です。
- PD ディスアグリゲーション: プレフィルとデコードを分離し、リソース使用率とスループットを最適化します。
- マルチティアストレージ: DRAM と SSD/NVMe を活用した大規模で弾力的な KVCache プールを提供します。
- 障害耐性 MoE: エキスパート並列推論をサポートし、障害が発生したランクを迂回してサービス可用性を維持します。
- 広範なエコシステム統合: vLLM、SGLang、TensorRT-LLM、PyTorch エコシステムに統合されています。
Sources
- undefinedkvcache-ai/Mooncake