SLO-Aware Compute Resource Allocation for Prefill-Decode Disaggregated LLM Inference

本論文は、LLM 推論におけるプリフィル・デコード分離アーキテクチャの最適リソース配分を、総スループットや SLO 制約、および入力・出力長を考慮した理論モデルと実証ベンチマークを組み合わせることで導出する手法を提案し、その有効性を示しています。

Luchang Li, Dongfang Li, Bozhao Gong, Yu Zhang

公開日 2026-03-06
📖 1 分で読めます🧠 じっくり読む

Each language version is independently generated for its own context, not a direct translation.

🍽️ 物語:AI 厨房の「注文」と「料理」

AI が文章を生成するプロセスは、大きく分けて 2 つのステップがあります。

  1. プレフィル(Prefill): ユーザーが入力した文章(注文)を読み込み、文脈を理解する段階。
  2. デコード(Decode): 理解した文脈に基づいて、単語を一つずつ出力していく(料理を盛り付けていく)段階。

🚫 従来の問題点:「一人のシェフ」のジレンマ

昔は、この 2 つの作業を**同じ GPU(シェフ)**が順番に行っていました。

  • プレフィルは「注文を聞いてメモを取る」作業で、計算が激しいですが、メモを取るだけなので時間は短いです。
  • デコードは「料理を作る」作業で、メモを見るだけで計算は軽いですが、一つずつ丁寧に作るため、時間がかかります。

これらを同じシェフがやると、「メモを取る作業(プレフィル)」と「料理を作る作業(デコード)」が混ざり合い、お互いに邪魔をし合います。

  • 注文が殺到すると、料理を作るシェフが待たされて、料理が出るのが遅くなります(ユーザーが待たされる)。
  • 逆に、料理を作るのに集中させると、新しい注文の受け付けが遅くなります。
  • 結果: 「最初の言葉が出るまでの時間(TTFT)」と「1 単語が出るまでの時間(TPOT)」の両方を同時に最適化するのが難しく、リソースの無駄も生まれます。

✅ 解決策:「プレフィル厨房」と「デコード厨房」の分離

そこで登場するのが、この論文で提案されている**「P/D 分離(プレフィル・デコードの分離)」**という仕組みです。

  • プレフィル厨房:注文を聞いてメモを取る専門のシェフたち。
  • デコード厨房:料理を作る専門のシェフたち。
  • 両者は別々の部屋にあり、メモ(KV キャッシュ)だけを渡して連携します。

これにより、それぞれの厨房を独立して最適化できます。しかし、**「いったい、プレフィル厨房に何人のシェフを配置し、デコード厨房に何人を配置すればいいの?」**という新しい問題が生まれました。

  • プレフィル厨房が多すぎると、料理を作る厨房が待たされて、全体が遅くなります。
  • デコード厨房が多すぎると、注文を受ける厨房が待たされて、新しい注文が入りません。
  • 業界の課題: 「どれくらい配置すればいいか」を計算する明確なルールがなかったのです。

🔍 この論文の提案:魔法の計算式と実験

この論文は、「理論(計算)」と「実測(実験)」を組み合わせたハイブリッドな方法で、最適な人数(リソース数)を導き出すことを提案しています。

1. 理論的な計算(レシピの設計図)

まず、ユーザーが求めている「1 分間に何人の注文を処理したいか(スループット)」や「注文の長さ(入力)」と「料理の長さ(出力)」から、必要な厨房の比率を計算する式を作りました。

  • : 必要なプレフィル厨房の数必要なデコード厨房の数 を求める公式。
  • しかし、この式には**「1 人のシェフが 1 秒間にどれくらい処理できるか(スループット)」**という値が必要です。これが環境によって変わるため、単純な計算だけでは不十分でした。

2. 理論の補強:「待ち行列」の法則(プレフィル編)

「最初の言葉が出るまでの時間(TTFT)」を厳守するためには、プレフィル厨房の混雑具合を計算する必要があります。

  • アナロジー: 銀行の窓口やスーパーのレジのような**「待ち行列(キュー)」**です。
  • 注文が来ても、シェフが忙しすぎると「待つ時間」が発生します。
  • 論文では、**「M/M/1 という待ち行列の数学モデル」**を使って、「ユーザーが許容する待ち時間(TTFT)」から逆算して、「実際に使えるプレフィル厨房の処理能力」を計算しました。
    • : 「2 秒以内に最初の言葉を出してほしい」という要望があれば、厨房をフル稼働させず、少し余裕を持たせて運用する必要がある、という計算ができるようになります。

3. 実測による補強:「料理の速度」の把握(デコード編)

料理を作る段階(デコード)では、「1 単語が出るまでの時間(TPOT)」が重要です。

  • アナロジー: シェフが一度に何皿の料理を同時に作れるか(バッチサイズ)。
  • 一度に大量に作れば効率は良いですが、1 皿あたりの完成が遅くなります。
  • そこで、実際に実験して**「TPOT の制限を守りながら、最大で何皿同時に作れるか」**を見極め、その時の処理能力を測定しました。

🎯 結果:完璧なバランスの厨房

この 2 つの方法(理論計算+実測データ)を組み合わせることで、**「ユーザーの要望(スループット、待ち時間)」を満たしつつ、最もコスト効率の良い厨房の人数(GPU 数)」**を正確に予測できました。

  • 実験結果: 実際の AI 運用シナリオで、この方法で計算した人数(例:プレフィル厨房 3 部屋、デコード厨房 4 部屋)で運用したところ、「待ち時間」と「処理速度」の両方の目標を完璧に達成しました。
  • 対比: 適当に人数を決めた場合(例:プレフィル 3、デコード 3)では、料理を作る厨房がボトルネックになり、目標の処理速度に届きませんでした。

💡 まとめ

この論文は、「AI 厨房をどう運営すれば、ユーザーを待たせず、かつ無駄なシェフを雇わずに済むか」という難問に対して、「数学的な待ち行列の理論」と「実際の料理速度の実験」を掛け合わせることで、最適なスタッフ配置を導き出す方法を提案したものです。

これにより、企業は AI 導入時のコストを最適化し、ユーザーには快適な体験を提供できるようになります。