← 概念解説に戻る

Concept Fable

連続バッチ処理

先に結論:連続バッチ処理は、モデルの実行中に複数リクエストの token を動的にまとめてスケジュールする。一部のシーケンスが終了すると、新規リクエストはバッチ全体の終了を待たずに、まだ実行中の batch に入ることができる。

Continuous Batching · 推論最適化

まず物語を読む。ここでは急いで定義を示さず、まず問題そのものを立ち上がらせる。

寓話

麺屋の鍋はもう全員が食べ終わるのを待ってから新しい麺を茹でない

埠頭の麺屋には大きな鍋が一つある。昔は店員が十杯分の麺を揃えてから鍋に投入し、茹で上がったらまとめて引き上げ、次の客が揃うまで待っていた。

客が少ないときはこれで整っていた。後に小さな碗だけを求める者、肉と卵を追加する者、早く食べる者、まだスープを待つ者が現れた。大鍋はしばしば半分空で、門口には長い列ができた。

店主はまず十碗に達しなければ鍋を開かないと定め、さらに遅刻した客に番号札を渡した。一見公平に見えるが、実際には一杯の速い麺も遅い麺に引きずられることになった。

ある店員はすべての客の麺を無理やり同時に引き上げようとし、結果としてあるものは生煮え、あるものは糊のようになった。バッチとは異なる進捗を平らに均すことではない。

新しい料理人は段取りを変えた。鍋には常に麺が入っており、どの丼が茹で上がれば引き上げ、空いた場所にすぐ次の客の麺を入れる。各丼は自分の火加減のまま、ただ同じ鍋を共有する。

彼はさらに、近い火加減の麺をまとめ、早く出る注文には小さな枠を残し、長く煮る注文には後ろの位置を割り当てた。鍋はもう最も遅い人を待たず、列ももう批次全体の終了を待たなかった。

まもなく、麺屋は単位時間あたりの提供数が増え、客の最初の一口までの待ち時間も安定した。最も難しいのは麺を茹でることではなく、長さも進捗も異なる注文を同じリソース上で流すことだった。

店主は理解した。旧来のバッチ処理は整った隊伍に向くが、実際の埠頭は常に不揃いだ。新しいリクエストを稼働中のバッチに継続的に詰め込んでこそ、高価な大鍋を空回りさせずに済む。後に麺屋は二つの数だけを見るようになった。鍋の稼働率と客の待ち時間である。この両方を同時に守れるスケジューリングこそ、高並行サービスに真に適したスケジューリングだ。新しい店員は後に理解した。鍋の中の麺は一つに混ざり合っているのではない。どの椀にも自分の投入時刻、火加減、取り出し位置がある。真の技量は、不揃いな注文に熱い鍋を共有させつつ、互いに足を引っ張らないようにすることだ。店主は後に店員に、列の最後尾だけでなく鍋の表面を見るよう訓練した。どこに一枠空いたか、どこに短い注文を詰めるのが適切か、どこが鍋全体を遅らせるか、数息のうちに判断しなければならない。夜市が開き、客がより細かく来るようになって、この段取りの価値が現れた。

明らかにする

この物語が語るのは:連続バッチ処理

連続バッチ処理は、モデルの実行中に複数リクエストの token を動的にまとめてスケジュールする。一部のシーケンスが終了すると、新規リクエストはバッチ全体の終了を待たずに、まだ実行中の batch に入ることができる。

こうすることで GPU 利用率とスループットを高められ、特にリクエスト長の差が大きい LLM サービスに適している。ただしスケジューリング戦略で個々のリクエストの待ち時間を制御しないと、全体のスループットは上がってもユーザー体験が悪化しうる。

メタファーのマッピング

  • 大鍋:GPU batch execution
  • 十杯そろってから鍋に入れる:静的バッチ処理
  • 速い面が遅い面に引きずられる:異なる系列長による head-of-line blocking
  • 空席にはすぐ新しい面を入れる:continuous batching
  • 各椀は自分の火加減で進む:各リクエストが独立した decode progress を持つ
  • 鍋の利用率:GPU utilization と tokens/sec
  • 客の待ち時間:latency と TTFT
  • 最後の洞察:Continuous Batching はバッチを継続的に流動させ、リクエストを固定バッチに縛るのではなく、スケジューリングでスループットを高める

Andy(任旭)判断

この概念の実戦的価値は、「賢く見えるAI機能」を納品可能、検収可能、ガバナンス可能な作業単位に分解する手助けをすることです。

Dynamic batchingvLLMスケジューラthroughputlatencyserving optimization

関連する識別

この概念は隣接概念と混用されやすいので、対比ページを続けて見ることをおすすめする。

京ICP备2026014272号