第1章 主要な vLLM サーバー引数
お使いのハードウェアで AI Inference Server を実行するように設定するための引数は主に 4 つあります。
-
--tensor-parallel-size
: モデルは、ホスト GPU 全体に分散されます。 -
--GPU-memory-utilization
: モデルの重み、アクティベーション、および KV キャッシュのアクセラレーターメモリー使用率を調整します。0.0 から 1.0 までの割合として計測され、デフォルトは 0.9 です。たとえば、この値を 0.8 に設定すると、AI Inference Server による GPU メモリー消費を 80% に制限できます。デプロイメントで安定して使える最大値を使用し、スループットを最大化します。 -
--max-model-len
: トークンで測定される、モデルの最大コンテキスト長を制限します。モデルのデフォルトのコンテキストが長すぎる場合のメモリーの問題を回避するには、これを設定します。 -
--max-num-batched-tokens
: トークンで測定される、ステップごとに処理するトークンの最大バッチサイズを制限します。この値を大きくするとスループットが向上しますが、出力トークンのレイテンシーに影響を及ぼす可能性があります。
たとえば、Red Hat AI Inference Server コンテナーを実行し、vLLM を使用してモデルを提供するには、次のコマンドを実行し、必要に応じてサーバー引数を変更します。
podman run --rm -it --device nvidia.com/gpu=all \ --shm-size=4GB -p 8000:8000 \ --env "HUGGING_FACE_HUB_TOKEN=$HF_TOKEN" \ --env "HF_HUB_OFFLINE=0" \ --env=VLLM_NO_USAGE_STATS=1 \ -v ./rhaiis-cache:/opt/app-root/src/.cache \ --security-opt=label=disable \ registry.redhat.io/rhaiis/vllm-cuda-rhel9:3.0.0 \ --model RedHatAI/Llama-3.2-1B-Instruct-FP8
$ podman run --rm -it --device nvidia.com/gpu=all \
--shm-size=4GB -p 8000:8000 \
--env "HUGGING_FACE_HUB_TOKEN=$HF_TOKEN" \
--env "HF_HUB_OFFLINE=0" \
--env=VLLM_NO_USAGE_STATS=1 \
-v ./rhaiis-cache:/opt/app-root/src/.cache \
--security-opt=label=disable \
registry.redhat.io/rhaiis/vllm-cuda-rhel9:3.0.0 \
--model RedHatAI/Llama-3.2-1B-Instruct-FP8
--max-model-len 16384 \
--gpu-memory-utilization 0.8 \
--max-num-batched-tokens 2048 \
--tensor-parallel-size 2