第6章 主要なメトリクスを使用した Red Hat AI Inference Server の利点の検証
AI Inference Server でサービングされる LLM モデルのパフォーマンスを評価するには、次のメトリクスを使用します。
- Time to first token (TTFT): 要求が送信されてから応答の最初のトークンが受信されるまでの時間。
- Time per output token (TPOT): 最初のトークンの後に各トークンの生成にかかる平均時間。
- レイテンシー: 完全な応答の生成に必要な合計時間。
- スループット: モデルがすべてのユーザーとリクエストを合わせた全体で同時に生成できる出力トークンの合計数。
AI Inference Server およびその他の推論サーバーがこれらのメトリクスに従ってどのように動作するかを示すベンチマークテストを実行するには、以下の手順を実行します。
前提条件
- AI Inference Server コンテナーイメージ
- GitHub アカウント
- Python 3.9 以降
手順
ホストシステムで、AI Inference Server を起動し、モデルをサービングします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 別のターミナルタブで、ベンチマークツールの依存関係をインストールします。
pip install vllm pandas datasets
$ pip install vllm pandas datasets
Copy to Clipboard Copied! Toggle word wrap Toggle overflow vLLM Git repository のクローンを作成します。
git clone https://github.com/vllm-project/vllm.git
$ git clone https://github.com/vllm-project/vllm.git
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./vllm/benchmarks/benchmark_serving.py
スクリプトを実行します。python vllm/benchmarks/benchmark_serving.py --backend vllm --model RedHatAI/Llama-3.2-1B-Instruct-FP8 --num-prompts 100 --dataset-name random --random-input 1024 --random-output 512 --port 8000
$ python vllm/benchmarks/benchmark_serving.py --backend vllm --model RedHatAI/Llama-3.2-1B-Instruct-FP8 --num-prompts 100 --dataset-name random --random-input 1024 --random-output 512 --port 8000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
結果は、主要なサーバーメトリクスをもとにした AI Inference Server のパフォーマンスを示しています。
このベンチマークのパラメーターを変更して、再度実行してみてください。バックエンドとしての vllm
が他のオプションとどのように比較されるかに注目してください。スループットは一貫して高くなり、レイテンシーは低くなるはずです。
-
--backend
の他のオプションは、tgi
、lmdeploy
、deepspeed-mii
、openai
、openai-chat
です。 -
--dataset-name
の他のオプションはsharegpt
、burstgpt
、sonnet
、random
、hf
です。
関連情報
- vLLM ドキュメント
- LLM Inference Performance Engineering: Best Practices、Mosaic AI Research 著。スループットやレイテンシーなどのメトリクスを解説しています。