Skip to main content
QUICK REVIEW

[論文レビュー] Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving

Ruoyu Qin, Zheming Li|arXiv (Cornell University)|Jun 24, 2024
Semiconductor materials and devices被引用数 12
ひとこと要約

Mooncake は KVCache中心の分散型 LLM サービングアーキテクチャを KVCache スケジューラと共に提示し、過負荷を意識したスケジューリングを可能にし、実際のワークロード下でのスループットを大幅に向上させ、より多くのリクエスト処理を実現します。

ABSTRACT

Mooncake is the serving platform for Kimi, a leading LLM service provided by Moonshot AI. It features a KVCache-centric disaggregated architecture that separates the prefill and decoding clusters. It also leverages the underutilized CPU, DRAM, and SSD resources of the GPU cluster to implement a disaggregated cache of KVCache. The core of Mooncake is its KVCache-centric scheduler, which balances maximizing overall effective throughput while meeting latency-related Service Level Objectives (SLOs). Unlike traditional studies that assume all requests will be processed, Mooncake faces challenges due to highly overloaded scenarios. To mitigate these, we developed a prediction-based early rejection policy. Experiments show that Mooncake excels in long-context scenarios. Compared to the baseline method, Mooncake can achieve up to a 525% increase in throughput in certain simulated scenarios while adhering to SLOs. Under real workloads, Mooncake's innovative architecture enables Kimi to handle 75% more requests.

研究の動機と目的

  • TTFT および TBT の遅延関連 SLO を尊重しつつ、MaaS のような LLM サービングの全体的な実効スループットを最大化する。
  • 分離されたハードウェア資源(CPU、DRAM、SSD、RDMA)を活用して、GPU近傍にスケーラブルな KVCache プールを構築する。
  • 再利用、バッチ処理、SLO適合のバランスを取る KVCache 中心のスケジューラ(Conductor)を、変動する負荷の下で開発する。
  • 予測ベースの早期拒否ポリシーを用いて過負荷時の計算の無駄を避け、過負荷事象に対処する。
  • MFU を改善し TTFT を低減するため、長文脈のプリフィルに CPP、レイヤー単位のプリフィル、KVCache の複製などのアーキテクチャと仕組みを提案する。

提案手法

  • プリフィルとデコードプールへ GPU クラスター資源を分離し、CPU メモリ、DRAM、SSD、RDMA 転送を横断する KVCache 搭載の分散キャッシュ(Messenger)を実装する。
  • KVCache プレフィックス一致、転送コスト、予測プリフィル時間に基づき TTFT/TBT SLO を満たすようにプレフィル/デコードインスタンスを選択するグローバルスケジューラ(Conductor)を導入する。
  • 長文脈プリフィルのための CPP によるチャンク化パイプライン並列化を用い、TTFT を低減し、KVCache 転送と計算を重ね合わせる。
  • KVCache の読み込み/書き込みを計算と重ね合わせ、VRAM占有を最小化するレイヤー単位プリフィルを実装する。
  • ホットスポット複製と KVCache 転送判断を組み合わせた KVCache 中心のスケジューリングアルゴリズムを展開し、キャッシュ再利用とインスタンス負荷のバランスを取る。
  • 短期負荷予測を用いた過負荷時の早期拒否ポリシーを提案し、無駄な計算を回避してシステム安定性への影響を検討する。

実験結果

リサーチクエスチョン

  • RQ1KVCache 中心の分散アーキテクチャは TTFT および TBT SLO を満たしつつ、LLM サービングのスループットをどのように改善できるか?
  • RQ2再利用、ネットワーク転送、計算のバランスを取るためのスケジューリング方針とキャッシュ管理戦略(複製を含む)は、特に過負荷下でどのように最適化されるか?
  • RQ3チャンク化プリフィルとレイヤー単位プリフィルは MFU を犠牲にせず長文脈入力の TTFT を低減できるか?
  • RQ4予測済み負荷に基づく早期拒否ポリシーは全体的な goodput とリソース利用にどのような影響を与えるか?
  • RQ5KVCache 再利用を支えるオープンソースの実世界リクエストトレース構造とは何で、それは研究にどう貢献できるか?

主な発見

  • Mooncake は SLO を満たしつつ、シミュレーション環境でベースライン手法より最大 525% のスループット向上を達成している。
  • 実際のワークロード下で Mooncake は Kimi が 75% 多くのリクエストを処理できるようにする。
  • 長文-context のシナリオでは KVCache 中心の分散設計とスケジューリングから顕著な恩恵を受ける。
  • 再現性のある再利用分析のため、23,608 エントリと KVCache ブロックハッシュを含む実世界のリクエスト traces を提供する。
  • レイヤー単位プリフィルと CPP は長文-context の入力に対する TTFT を低減し、KVCache 転送を計算と重ね合わせることで MFU を改善する。
  • 短期負荷予測に導かれた早期拒否ポリシーは、過負荷条件下での無駄な計算を抑制する。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。