【れんぞくバッチしょり】

連続バッチ処理(LLM推論) とは?

最終更新:
💡 みんなの終了を待たず、次の処理を仲間入り

LLMの推論で、生成の反復ごとに処理するリクエストの組み合わせを更新できるバッチ処理。完了したリクエストを外し、待機する別のリクエストを加えるなどして、推論サーバーの資源を効率よく使う。

📌 このページのポイント
生成の区切りで、仲間を入れ替えるAが続行、Bが完了、Cが待機している例今回の反復A:生成を続けるB:生成を完了Bを外す → Cを追加次の反復A:続きの生成C:新しく参加追加できるかは、メモリや設定にもよる
バッチのメンバーを反復の区切りで更新する例。図の箱は物理的なGPUの席や固定の区画ではありません。
ひよこ ひよこ
LLMで、何をまとめるの?
ペンギン先生 ペンギン先生
複数の利用者などから届いた推論リクエストをまとめて処理するよ。文章生成では処理を繰り返してトークンを生成し、リクエストによって終了するタイミングが違うんだ。
ひよこ ひよこ
固定したバッチだと、どうなる?
ペンギン先生 ペンギン先生
同じ組み合わせの終了を待ってから次のバッチへ進む方式では、短い生成が終わっても待機中のリクエストを加えられない。残っている生成の計算は続くので、GPU全体が何もしていないという意味ではないよ。
ひよこ ひよこ
連続バッチなら、途中で加われる?
ペンギン先生 ペンギン先生
反復の区切りで、終了したものを外し、新しいものを加えられるよ。レストランで、全員の食事が終わるまで待たず、空いた席へ次の人を案内するイメージだね。実際に加えるかは、メモリや設定、待機中の仕事によるんだ。
ひよこ ひよこ
必ず何倍も、速くなる?
ペンギン先生 ペンギン先生
倍率は決まっていないよ。同時リクエストの数や入出力の長さ、モデル、ハードウェアなどで変わる。スループットを改善する狙いはあるけれど、1件の応答時間が必ず短くなるとも、資源を常に使い切るとも限らないんだ。
ひよこ ひよこ
vLLMのPagedAttentionと、同じ?
ペンギン先生 ペンギン先生
別の役割だよ。連続バッチは処理するリクエストの組み合わせを管理し、PagedAttentionは注意機構で使うKVキャッシュのメモリを管理する。vLLMは両方を案内している。導入時は処理件数だけでなく、待ち時間やメモリの条件も確かめよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「連続バッチ処理」って出てきたら「LLMの生成途中でも、処理する仲間を入れ替えられる仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Continuous batching」 = 連続バッチ処理
💬 Continuousは継続的、batchingはまとめて処理すること。2022年のOrca論文は、生成の反復単位でスケジュールする方法を説明しているよ。

参考資料

← 用語集にもどる