← 最新の論文
📊 statistics

Throughput-Optimal Scheduling Algorithms for LLM Inference and AI Agents

本論文はLLM推論の数学的キューイング基礎を確立し、作業保存型スケジューリングアルゴリズムが個々のワークロードおよびAIエージェントワークロードの両方において最大スループットを達成することを証明するとともに、実システムを評価してOrcaおよびSarathi-Serveの最適性を確認し、FasterTransformerおよびバニラvLLMの不安定性に警鐘を鳴らす。

原著者: J. G. Dai, Tianze Deng, Yueying Li, Tianyi Peng

公開日 2026-05-19
📖 1 分で読めます☕ さくっと読める

原著者: J. G. Dai, Tianze Deng, Yueying Li, Tianyi Peng

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

あなたはカスタムロボットを製造する高速工場の運営者だと想像してください。この工場では、すべての注文(「リクエスト」)が 2 つの明確な段階を経て処理されます。

  1. セットアップ段階(プリフィル): 設計図を読み、必要な部品をすべて集めます。これは多くの計算能力(コンピュート)を必要とする重労働ですが、一度にすべて行われます。
  2. 組み立て段階(デコード): ロボットを組み立て始め、部品を一つずつ追加していきます。これはステップバイステップで行われる、より遅く、メモリを多く消費する作業です。

あなたの工場には、複数の注文を同時に処理できる巨大で超高速なロボットアーム(GPU)があります。しかし、このアームには限界があります。つまり、グリッパーに一度に保持できる部品の総重量には上限があるのです(トークン予算)。

あなたが提供した論文は、工場が停止することなく詰まることなく、最大数のロボットを生産できるように、注文をどのように整理するかについての数学的研究です。

以下に、彼らの発見を簡単な比喩を用いて解説します。

1. 黄金律:「アームを放置しないこと」

この論文で最も重要な発見は、**「ワーク・コンサービング(作業維持)」**と呼ばれる概念です。

ロボットアームが部品を掴む準備ができていると想像してください。

  • 悪い方法: アームに「セットアップ」部品を掴ませるのを許すのは、「セットアップ」注文しか待っていない場合だけです。「組み立て」注文が待っていても、アームに空きがあっても無視します。あるいは、「組み立て」部品を掴ませるのを許すのは、「組み立て」注文しか待っていない場合だけです。
    • 結果: アームは半分空のまま、特定の種類の注文を待つことになります。一方、もう一方の種類の注文は山積みになります。工場は遅延するか、クラッシュします。
  • 良い方法(ワーク・コンサービング): アームに空きがあれば、利用可能な何でもで埋めます。同じバッチにセットアップ部品と組み立て部品を混ぜます。作業がある限り、アームを放置することはありません。

論文の主張: この「バケツを埋める」ルールに従うアルゴリズム(OrcaSarathi-Serveなど)は、数学的に最も効率的であることが証明されています。システムが崩壊することなく、処理可能な最大量の作業をこなすことができます。

2. 「古い」対「新しい」工場マネージャー

著者は、4 つの人気の「マネージャー」(スケジューリングアルゴリズム)が黄金律に従っているかどうかをテストしました。

  • FasterTransformer & Vanilla vLLM(厳格なマネージャー): これらのマネージャーはあまりにも選り好みします。
    • FasterTransformer は「組み立て」部品しか掴みません。「組み立て」注文がない場合、アームが空であっても、並んでいる「セットアップ」注文を無視します。
    • Vanilla vLLM は「セットアップ」部品しか掴みません。「セットアップ」注文がない場合、「組み立て」注文を無視します。
    • 判定: これらは最適ではありません。高負荷下では、工場が詰まり、不安定になります。
  • Orca & Sarathi-Serve(柔軟なマネージャー): これらのマネージャーは 2 種類の作業を混ぜます。合うものを何でもアームに詰め込みます。
    • 判定: これらは最適です。工場を最大速度でスムーズに稼働させ続けます。

3. 「AI エージェント」工場(複雑なワークフロー)

時には、1 つの注文が単一のロボットではなく、協力して働くロボットチーム全体であることもあります。

  • DAG(有向非巡回グラフ): 注文 A がステーション 1、次にステーション 2、そしてステーション 3 へ行き、決して戻らないようなワークフローを想像してください。
    • 発見: ワークフローが直線的(ループなし)である限り、「アームを放置しない」というルールはすべてのステーションで完璧に機能します。
  • フォーク・ジョイン: 注文 A が 3 つのサブタスクに分割され、それぞれが 3 つの異なるステーションへ行き、最終ステップを行う前にすべてが完了しなければならないと想像してください。
    • 発見: 「アームを放置しない」というルールはここでも機能します。
  • サイクル(罠): 注文 A がステーション 1 からステーション 2 へ行き、注文 B がステーション 2 からステーション 1 へ戻るような状況を想像してください。彼らは円を描いて互いを追いかけています。
    • 発見: ここでは、「アームを放置しない」というルールは失敗する可能性があります。マネージャーが最善を尽くしても、円形の交通は解消されない渋滞を引き起こす可能性があります。論文は、工場にこのような円形のループがある場合、「バケツを埋める」だけのマネージャーではなく、はるかに賢く慎重なマネージャーが必要であることを示しています。

4. 「バケツのサイズ」の驚き

工場にはもう一つの制限があります。それはバッチサイズです。これは、部品の重さに関係なく、アームが保持できる注文の最大数です。

  • 驚き: 著者は、アームを重量制限(トークン予算)の絶対最大値まで埋めることが、実際には悪いアイデアである場合があることを発見しました。
  • 比喩: 100 ポンド(約 45 キログラム)まで入るバケツがあると想像してください。そこには 100 個の小さな小石(セットアップ)と 100 個の重いレンガ(組み立て)があります。
    • もしレンガでバケツを 100 ポンドまで埋めようとすると、5 個しか入らないかもしれません。その重い荷物を運ぶのに時間がかかります。
    • しかし、50 ポンド(より軽い荷重)で止めるなら、もっと速く運べるかもしれません。そうすれば、1 時間あたりの移動回数を増やせます。
  • 発見: 特定の状況では、処理速度を高く保つために、バケツが満杯になる前に止めることが最も効率的な戦略です。つまり、注文の組み合わせが渋滞を引き起こすのにちょうど良い場合、工場規則(バッチサイズ制限)が厳しすぎると、「良いマネージャー(ワーク・コンサービング)」さえも失敗する可能性があります。

まとめ

この論文が私たちに伝えることは以下の通りです。

  1. 作業を混ぜる: セットアップと組み立てのタスクを分離しないでください。GPU を忙しく保つために、同じバッチに混ぜてください。
  2. Orca と Sarathi-Serve が勝者です: これらは「混ぜて埋める」ルールに従うため、ほとんどの状況で最も安定し、効率的な選択肢となります。
  3. ループに注意: AI エージェントがサーバー間でタスクを循環させて送受信する場合、単純な「バケツを埋める」ルールは機能しないかもしれません。特別な交通整理が必要です。
  4. 満杯が常に最善とは限らない: 個々のタスクの大きさによっては、バッチを少し空けておく方が、満杯にするよりも賢明な場合があります。

このすべての数学の目的は、何百万人もの人が同時に質問を投げかけたときにクラッシュしない AI システムをエンジニアが構築できるよう支援することです。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →