スループット

Throughput

スループットとは

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

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

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

スループット向上の手法

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

LLMにおけるスループット

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