サイト内検索

LLMアプリケーションのベンチマーク測定 第2話 GenAI-Perfの使い方

今回の内容

第1話では生成AIアプリケーションのベンチマークとして、GenAI-Perfの出力する各指標について解説しました。

 

第2話では実際のGenAI-Perfツールの使い方について解説します。

 

[LLMアプリケーションのベンチマーク測定]
第1話 GenAI-Perfとは?
第2話 GenAI-Perfの使い方
第3話 NVIDIA NIM™とvLLMのベンチマーク測定

GenAI-Perfのオプション

GenAI-Perfには多くのコマンドラインオプションが存在するため、ここでは代表的なオプションについて説明いたします。詳細は、Performance Analyzer->GenAI-Perf->Command Line Optionsを参照ください。

 

--model <list>
 測定対象となるAIモデルを指定します。(LoRAアダプターを使用しない場合は、単一のモデルを指定します。)

--tokenizer <str>
 プロンプトやLLM応答のトークン数を算出するためのトーカナイザーをHugging Face Hub上の名前で指定します。例:meta-llama/Meta-Llama-3-8B-Instruct

--service-kind {triton, openai}
 推論サーバーがTriton Inference Serverの場合は triton 、OpenAI互換APIを持つサーバーの場合は openai を指定します。

--endpoint-type {chat, completions}
 --server-kindにopenaiを指定する場合、エンドポイント形式 chat または completions を指定します。

--url <url>
 推論サーバーのURLを指定します。

--concurrency <int>
 同時に問い合わせを実行する数を指定します。LLMアプリケーションが同時にサービスするエンドユーザー数に相当します。

--measurement-interval <int>
 計測時間をミリ秒単位で指定します。この時間内に完了した問い合わせが各指標算出の対象となります。

--output-tokens-mean <int>
 出力トークン数の平均値

--output-tokens-stddev <int>
 出力トークン数の標準偏

 

プロンプトにHugging Faceデータセットを使用する場合に有効なオプション

 

--input-dataset {openorca, cnn_dailymail}
 プロンプトとして、Hugging Faceデータセットを利用する場合、openorca または cnn_dailymail を指定します。このオプションを指定しない場合は、合成データをプロンプトに用います。

--num-prompts <int>
 固有のプロンプト数

 

プロンプトに合成データを使用する場合に有効なオプション

 

--num-prompts <int>
 固有のプロンプト数

--synthetic-input-tokens-mean <int>
 トークン数の平均値

--synthetic-input-tokens-stddev <int>
 トークン数の標準偏差

--random-seed <int>
 乱数生成のシード値

 

ユーザーが用意したプロンプトを使用する場合

 

--input-file <path>
 JSONファイルを指定します。

GenAI-Perf出力の見かた

GenAI-PerfでNIMのベンチマークを測定した際に出力される結果の見方を解説します。

1列目のTime to First Token、Inter Token Latency、(End-to-End)Request Latencyの3指標はLLMへの問い合わせ毎に算出され、その平均値、最小値、最大値、99パーセンタイル、95パーセンタイル、90パーセンタイル、75パーセンタイル、50パーセンタイル、25パーセンタイルが出力されます。パーセンタイルはデータを小さい順に並べたとき、どこに位置するかを示します。99パーセンタイルは小さい方から99%に位置する値であり、50パーセンタイルは中央値です。

Num Output TokenとNum Input TokenはGenAI-Perfツールを使用する際に想定されるシナリオによってユーザーが設定するパラメータになります。今回はこちらを参考にInput/Outputを200/200として結果を出力しました。

Metric avg min max p99 p95 p90 p75 p50 p25
Time To First Token (ns) 178859359 73838932 217734212 217338545 216559510 215989391 185805802 183952658 177839897
Inter Token Latency (ns) 28186524 26284341 30353671 30254216 29861613 29690036 29065006 27994706 27230244
Request Latency (ns) 5344653932 5165773417 5619168861 5619164284 5619095892 5618754623 5540800702 5285519846 5170483894
Num Output Token 184 174 191 190 189 188 186 185 183
Num Input Token 200 180 217 216 212 212 207 200 194

Output Token ThroughputとRequest Throughputは測定するたびにそれぞれ1つの値が出力されます。

Metric Value
Output Token Throughput (per sec) 344.74
Request Throughput (per sec) 1.87

次回、NVIDIA NIM™とvLLMのベンチマークの測定!

本記事ではGenAI-Perfツールのオプションや出力結果の見方についてご紹介しましたが、いかがでしたでしょうか。

次回はGenAI-Perfツールを使用し、NVIDIA NIM™とvLLMのベンチマークを測定します。

AI導入をご検討の方は、ぜひお問い合わせください

AI導入に向けて、弊社ではハードウェアのNVIDIA GPUカードやGPUワークステーションの選定やサポート、また顔認証、導線分析、骨格検知のアルゴリズム、さらに学習環境構築サービスなどを取り揃えています。お困りの際は、ぜひお問い合わせください。