AI推論ベンチマーク指標

なぜ指標が重要か

LLM推論の最適化では、「速い」の意味が複数あります。大会のスコアが総throughputだけなら高concurrencyに寄せる戦略が強くなります。一方で、実サービスの会話体験ではTTFTやTPOTが重要になります。

メモ上の議論でも、「高concurrencyで総throughputは上がるが、1リクエストあたりのtoken生成速度が落ちる」という懸念が出ています。

基本指標

指標読み方意味
Throughputスループット単位時間あたりの処理量。tokens/sやrequests/sで表す
TTFTTime To First Tokenrequest開始から最初のtokenが返るまでの時間
TPOTTime Per Output Token出力token 1個あたりにかかる時間
ITLInter-Token Latencytoken間の待ち時間。TPOTと近い意味で使われることがある
Latencyレイテンシrequest全体の応答時間
p50/p95/p99percentile中央値、遅い5%、遅い1%を見る指標
ISLInput Sequence Length入力token数
OSLOutput Sequence Length出力token数
Concurrency並行数同時に処理するrequest数

ベンチマークで固定すべき条件

条件理由
ISL/OSL分布prefill/decodeの負荷比が変わる
concurrencythroughputとlatencyのtrade-offが変わる
request count少なすぎると揺らぎが大きい
warmupCUDA graph、cache、JITなどの初回コストを分離する
streaming有無TTFTやITLの測り方が変わる
sampling設定出力長やEOSで結果が変わる
ignore_eos固定長出力ベンチでは便利だが、現実の出力分布から外れる可能性がある

Dynamo/AIPerf

Dynamoのbenchmarks/README.mdでは、Dynamo deploymentの測定にAIPerfを使う例が示されています。例では、--concurrency--request-count--streamingなどを指定してprofileし、concurrency sweepでPareto分析を行う流れです。

大会でDynamo/AIPerfがそのまま使われるかは未確定ですが、指標の考え方としては有用です。

最小の比較表

実験結果は最低限この形で残します。

experimentchangeconcurrencyISLOSLTTFT p50TPOT p50output tok/sreq/serror ratenotes
baselinenone

参考文献