kvcache-ai/Mooncake

Mooncake is the serving platform for Kimi, a leading LLM service provided by Moonshot AI.

解決する課題

Mooncakeは、大規模なLLMサービングにおける非効率性、特にKVキャッシュによって引き起こされるボトルネックに対処します。GPUクラスター内でのハードウェアリソース(CPU、DRAM、SSD)の利用率不足の問題や、推論および学習中にネットワークを介して大量のデータ(KVキャッシュやモデルの重みなど)を移動させる際に発生する高レイテンシの問題を解決します。

仕組み

Mooncakeは、prefill(プリフィル)クラスターとdecode(デコード)クラスターを分離する、KVキャッシュ中心の分散アーキテクチャを実装しています。データと実行を管理するために、主に以下の3つのコンポーネントを使用します:

  • Transfer Engine (TE): トポロジーを認識したルーティングと帯域幅の集約を備え、異なるストレージタイプ(DRAM、VRAM、NVMe)およびネットワークプロトコル(RDMA、TCP、AWS EFAなど)間でテンソルを移動させるための統一インターフェースを提供する、高性能データ転送フレームワーク。
  • Mooncake Store: マルチティア階層(DRAMおよびSSD/NVMe)とゼロコピーデータ転送を利用して、クラスター間で再利用可能なKVキャッシュとモデルの重みを管理する、分散キーバリューストレージエンジン。
  • Mooncake EP & PG: 障害耐性のある分散実行のためのツール。特にMixture-of-Experts (MoE) モデル向けに設計されており、失敗したランクを回避してルーティングし、サービス全体を再起動することなくプロセスを復旧することを可能にします。

対象ユーザー

大規模なLLM推論および学習インフラの開発者や運用者、特にマルチノードGPUクラスターにおいてスループットの最大化とレイテンシの低減を必要とし、vLLM、SGLang、TensorRT-LLMなどのフレームワークを使用しているユーザーを対象としています。

ハイライト

  • 高帯域幅転送: 8x400 Gbps RoCEネットワークにおいて最大190 GB/sを実現し、標準的なTCPよりも大幅に高速です。
  • 分散ストレージ: KVキャッシュのストレージを推論エンジンからデカップリングし、エンジンの再起動とは独立したストレージノードの弾力的なスケーリングを可能にします。
  • マルチティアキャッシング: DRAMとSSD/NVMeの階層をサポートし、総キャッシュ容量を増加させます。
  • 耐故障性MoE: 失敗したランクを検知してバイパスし、サービスの可用性を維持できるエキスパート並列推論を可能にします。
  • 幅広いエコシステム統合: vLLM、SGLang、TensorRT-LLMと深く統合されており、効率的なKVキャッシュおよび重みの転送を実現します。