メインコンテンツへスキップ
EXBANK
Draft / 編集レビュー前この用語はAI補助で初稿生成中です。事実確認・編集監修が完了するまで検索エンジンには公開されません。誤りを見つけたらこちらから連絡してください。
用語集一覧へ
— Glossary

Continuous Batching(連続バッチング)CB

読み: コンティニュアスバッチング
TL;DR — 短い定義

Continuous Batching は、LLM サービングでリクエストごとに完了したスロットを即座に新リクエストで埋めるバッチ手法です。静的バッチに比べてスループットが10倍以上向上し、レイテンシも安定します。

詳細解説

Continuous Batching(連続バッチング、コンティニュアスバッチング、Iteration-level Scheduling や In-flight Batching とも呼ばれる)は、Yu ら(Seoul National University)が2022年の OSDI で発表した Orca システムで提案された LLM サービング手法で、生成長がバラバラなリクエスト群を効率的にバッチ処理する仕組みです。従来の静的バッチング(static batching)では、バッチ内で最も長いリクエストが完了するまで次のバッチを開始できず、短いリクエストの分の GPU が遊んでしまいパディングコストも生じました。Continuous Batching では、デコードの各イテレーション(1トークン生成)ごとにスケジューラがバッチ構成を再評価し、完了したリクエストのスロットを待機キューの新リクエストで即座に埋めることで、GPU の利用率を常に高く保ちます。これにより、vLLM が公開した実測ではスループットが Hugging Face Transformers 比で最大23倍、TGI 比でも数倍向上し、p99 レイテンシも短縮されます。実装には、可変長バッチに対応した Attention カーネル、Prefill(プロンプト処理)と Decode(生成)の分離スケジューリング、KV Cache の動的確保(PagedAttention 等)が必要です。vLLM・Hugging Face TGI・NVIDIA TensorRT-LLM・SGLang など、現在の主要 LLM サービング基盤すべてが採用する事実上の標準技術です。

実装例 / 使い方

  • 01vLLM の標準機能でスループットが従来比23倍になった事例があります
  • 02Hugging Face TGI・SGLang・TensorRT-LLM が標準採用しています
  • 03PagedAttention と組み合わせてGPU使用率を最大化します
IMPLEMENT

Continuous Batching(連続バッチング)を、実際に活用する

用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。

営業時間 平日10-18時 / 通常24時間以内に返信