スループット

Throughput

スループットとは

スループット(Throughput)とは、単位時間あたりにシステムが処理できるデータ量やリクエスト数を表す性能指標です。AI推論サービスでは、1秒あたりに処理できる推論リクエスト数(requests per second / RPS)や1秒あたりのトークン生成数(tokens per second / TPS)で計測されます。

表:スループットの要点まとめ
ひとことで言うと単位時間あたりに処理できる件数のこと。
レイテンシとの違いスループットは「1時間に何件さばけるか」、レイテンシは「1件が何秒で返るか」。
注意点まとめて処理するとスループットは上がるがレイテンシは悪化する。

スループットとレイテンシの関係

スループットとレイテンシはトレードオフの関係にあることが多いです。バッチ処理はスループットを向上させますが、個々のリクエストのレイテンシは増加する可能性があります。推論サービスの設計では、SLA(サービスレベル合意)で定められたレイテンシ要件を満たしつつ、最大のスループットを達成することが目標です。

図:スループットとレイテンシの関係
11件ずつ処理レイテンシは良い
▶
2まとめて処理待ってから一括
▶
3スループット向上GPUを有効活用
▶
4レイテンシは悪化待ち時間が増える
▶
5用途で選ぶ対話型か一括処理か

スループット向上の手法

スループットを向上させるための手法には、動的バッチ処理(Triton Inference Serverの Dynamic Batching)、モデルの量子化による推論の高速化、GPU の並行利用(Multi-Instance GPU / MIG)、水平スケーリング(インスタンス数の増加)、効率的なリクエストキューイングなどがあります。

LLMにおけるスループット

大規模言語モデルの推論では、Continuous Batching(リクエストの到着に応じて動的にバッチを構成する手法)がスループットを大幅に向上させます。vLLMのPagedAttentionやTensorRT-LLMのIn-Flight Batchingがこの分野を牽引しています。スループットの計測にはベンチマークツールの利用が推奨されます。