vLLM のサーバー引数


Red Hat AI Inference Server 3.2

Red Hat AI Inference Server を実行するためのサーバー引数

Red Hat AI Documentation Team

概要

Red Hat AI Inference Server の設定および実行方法を説明します。

はじめに

Red Hat AI Inference Server は、推論サービング用に OpenAI 互換 API サーバーを提供します。引数を使用して、サーバーの動作を制御できます。

第1章 主要な vLLM サーバー引数

お使いのハードウェアで AI Inference Server を実行するように設定するための引数は主に 4 つあります。

  1. --tensor-parallel-size: モデルは、ホスト GPU 全体に分散されます。
  2. --gpu-memory-utilization: モデルの重み、アクティベーション、および KV キャッシュのアクセラレーターメモリー使用率を調整します。0.0 から 1.0 までの割合として計測され、デフォルトは 0.9 です。たとえば、この値を 0.8 に設定すると、AI Inference Server による GPU メモリー消費を 80% に制限できます。デプロイメントで安定して使える最大値を使用し、スループットを最大化します。
  3. --max-model-len: トークンで測定される、モデルの最大コンテキスト長を制限します。モデルのデフォルトのコンテキストが長すぎる場合のメモリーの問題を回避するには、これを設定します。
  4. --max-num-batched-tokens: トークンで測定される、ステップごとに処理するトークンの最大バッチサイズを制限します。この値を大きくするとスループットが向上しますが、出力トークンのレイテンシーに影響を及ぼす可能性があります。

たとえば、Red Hat AI Inference Server コンテナーを実行し、vLLM を使用してモデルを提供するには、次のコマンドを実行し、必要に応じてサーバー引数を変更します。

$ podman run --rm -it \
--device nvidia.com/gpu=all \
--security-opt=label=disable \
--shm-size=4GB -p 8000:8000 \
--userns=keep-id:uid=1001 \
--env "HUGGING_FACE_HUB_TOKEN=$HF_TOKEN" \
--env "HF_HUB_OFFLINE=0" \
-v ./rhaiis-cache:/opt/app-root/src/.cache \
registry.redhat.io/rhaiis/vllm-cuda-rhel9:3.2 \
--model RedHatAI/Llama-3.2-1B-Instruct-FP8 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.8 \
--max-model-len 16384 \
--max-num-batched-tokens 2048 \
Copy to Clipboard Toggle word wrap

第2章 vLLM サーバーの使用

$ vllm [-h] [-v] {chat,complete,serve,bench,collect-env,run-batch}
Copy to Clipboard Toggle word wrap
chat
実行中の API サーバーを介してチャット補完を生成します。
complete
実行中の API サーバーを介して、指定されたプロンプトに基づいて、テキスト補完を生成します。
serve
vLLM OpenAI Compatible API サーバーを起動します。
bench
vLLM bench サブコマンド。
collect-env
環境情報の収集を開始します。
run-batch
バッチプロンプトを実行し、結果をファイルに書き込みます。

2.1. vllm serve の引数

vllm serve を実行すると、ローカルサーバーが起動し、言語モデルを読み込み、サービングします。

2.1.1. JSON CLI 引数

  • --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}'
  • --json-arg.key1 value1 --json-arg.key2.key3 value2

さらに、リスト要素は + を使用して個別に渡すことができます。

  • --json-arg '{"key4": ["value3", "value4", "value5"]}'
  • --json-arg.key4+ value3 --json-arg.key4+='value4,value5'

2.1.2. オプション

2.1.2.1. --headless

ヘッドレスモードで実行します。詳細は、マルチノードデータ並列のドキュメントを参照してください。

デフォルト: False

2.1.2.2. --api-server-count, -asc

実行する API サーバープロセスの数。

デフォルト: 1

2.1.2.3. --config

設定ファイルから CLI オプションを読み取ります。https://docs.vllm.ai/en/latest/configuration/serve_args.html のオプションを含む YAML である必要があります。

デフォルト: None

2.1.2.4. --disable-log-stats

統計のログ記録を無効にします。

デフォルト: False

2.1.2.5. --enable-log-requests, --no-enable-log-requests

ログ要求を有効にします。

デフォルト: False

2.1.2.6. --disable-log-requests, --no-disable-log-requests
重要

この引数は非推奨です。

ログ要求を無効にします。

デフォルト: True

2.1.3. フロントエンド

OpenAI 互換フロントエンドサーバーの引数。

2.1.3.1. --host

ホスト名。

デフォルト: None

2.1.3.2. --port

ポート番号

デフォルト: 8000

2.1.3.3. --uds

Unix ドメインソケットパス。設定されている場合、ホストおよびポート引数は無視されます。

デフォルト: None

2.1.3.4. --uvicorn-log-level

使用可能な選択肢: criticaldebugerrorinfotracewarning

uvicorn のログレベル。

デフォルト: info

2.1.3.5. --disable-uvicorn-access-log, --no-disable-uvicorn-access-log

uvicorn アクセスログを無効にします。

デフォルト: False

2.1.3.6. --allow-credentials, --no-allow-credentials

認証情報を許可します。

デフォルト: False

2.1.3.7. --allowed-origins

使用可能なオリジン。

デフォルト: ['*']

2.1.3.8. --allowed-methods

使用可能なメソッド。

デフォルト: ['*']

2.1.3.9. --allowed-headers

使用可能なヘッダー。

デフォルト: ['*']

2.1.3.10. --api-key

指定すると、サーバーはこのキーの 1 つをヘッダーに提示する必要があります。

デフォルト: None

2.1.3.11. --lora-modules

LoRA モジュール設定は、'name=path' 形式、JSON 形式、または JSON リスト形式のいずれかです。例 (古い形式): 'name=path'、例 (新しい形式): {"name": "name", "path": "lora_path", "base_model_name": "id"}

デフォルト: None

2.1.3.12. --chat-template

チャットテンプレートへのファイルパス、または指定されたモデルの単一行形式のテンプレート。

デフォルト: None

2.1.3.13. --chat-template-content-format

使用可能な選択肢: autoopenaistring

チャットテンプレート内でメッセージコンテンツをレンダリングする形式。

  • "string" は、コンテンツを文字列としてレンダリングします。例: "Hello World"
  • "openai" は、OpenAI スキーマに似たディクショナリーのリストとしてコンテンツをレンダリングします。例: [{"type": "text", "text": "Hello world!"}]

デフォルト: auto

2.1.3.14. --trust-request-chat-template、--no-trust-request-chat-template

リクエストで渡されたチャットテンプレートを信頼するかどうか。False の場合、サーバーは常に --chat-template で指定されたチャットテンプレートまたはトークナイザーのチャットテンプレートを使用します。

デフォルト: False

2.1.3.15. --response-role

request.add_generation_prompt=true の場合に返されるロール名。

デフォルト: assistant

2.1.3.16. --ssl-keyfile

SSL キーファイルへのファイルパス。

デフォルト: None

2.1.3.17. --ssl-certfile

SSL 証明書ファイルへのファイルパス。

デフォルト: None

2.1.3.18. --ssl-ca-certs

CA 証明書ファイル。

デフォルト: None

2.1.3.19. --enable-ssl-refresh, --no-enable-ssl-refresh

SSL 証明書ファイルが変更されたときに SSL コンテキストを更新します。

デフォルト: False

2.1.3.20. --ssl-cert-reqs

クライアント証明書が必要かどうか (stdlib ssl モジュールを参照)。

デフォルト: 0

2.1.3.21. --root-path

アプリケーションがパスベースのルーティングプロキシーの背後にある場合の FastAPI root_path。

デフォルト: None

2.1.3.22. --middleware

アプリケーションに適用する追加の ASGI ミドルウェア。複数の --middleware 引数を受け入れます。値はインポートパスである必要があります。関数が提供されている場合、vLLM は @app.middleware('http') を使用してそれをサーバーに追加します。クラスが提供されている場合、vLLM は app.add_middleware() を使用してそれをサーバーに追加します。

デフォルト: []

2.1.3.23. --return-tokens-as-token-ids, --no-return-tokens-as-token-ids

--max-logprobs が指定された場合は、単一のトークンを 'token_id:{token_id}' 形式の文字列として表し、JSON でエンコードできないトークンを識別できるようにします。

デフォルト: False

2.1.3.24. --disable-frontend-multiprocessing, --no-disable-frontend-multiprocessing

指定すると、モデルサービングエンジンと同じプロセスで OpenAI フロントエンドサーバーが実行されます。

デフォルト: False

2.1.3.25. --enable-request-id-headers, --no-enable-request-id-headers

指定すると、API サーバーは応答に X-Request-Id ヘッダーを追加します。

デフォルト: False

2.1.3.26. --enable-auto-tool-choice, --no-enable-auto-tool-choice

サポートされているモデルに対して自動ツール選択を有効にします。使用するパーサーを指定するには --tool-call-parser を使用します。

デフォルト: False

2.1.3.27. --exclude-tools-when-tool-choice-none, --no-exclude-tools-when-tool-choice-none

指定すると、tool_choice='none' の場合にプロンプトでツール定義を除外します。

デフォルト: False

2.1.3.28. --tool-call-parser

使用しているモデルに応じてツール呼び出しパーサーを選択します。これは、モデルによって生成されたツール呼び出しを OpenAI API 形式に解析するために使用されます。--enable-auto-tool-choice に必須です。組み込みのパーサーから任意のオプションを選択することも、--tool-parser-plugin 経由でプラグインを登録することもできます。

デフォルト: None

2.1.3.29. --tool-parser-plugin

モデルが生成したツールを OpenAI API 形式に変換するために書かれたツールパーサープラグインを指定します。このプラグインの名前レジスターは --tool-call-parser で使用できます。

デフォルト: ``

2.1.3.30. --tool-server

ホスト: ポートのペア (IPv4、IPv6、またはホスト名) のコンマ区切りリスト。例: 127.0.0.1:8000、[::1]:8000、localhost:1234。またはデモ目的の場合は demo です。

デフォルト: None

2.1.3.31. --log-config-file

vllm と uvicorn の両方のログ設定 JSON ファイルへのパス

デフォルト: None

2.1.3.32. --max-log-len

ログに出力されるプロンプト文字またはプロンプト ID 番号の最大数。デフォルトの None は無制限を意味します。

デフォルト: None

2.1.3.33. --disable-fastapi-docs, --no-disable-fastapi-docs

FastAPI の OpenAPI スキーマ、Swagger UI、および ReDoc エンドポイントを無効にします。

デフォルト: False

2.1.3.34. --enable-prompt-tokens-details, --no-enable-prompt-tokens-details

True に設定すると、prompt_tokens_details の使用が有効になります。

デフォルト: False

2.1.3.35. --enable-server-load-tracking, --no-enable-server-load-tracking

True に設定すると、アプリケーション状態 (管理) で server_load_metrics 追跡が有効になります。

デフォルト: False

2.1.3.36. --enable-force-include-usage, --no-enable-force-include-usage

True に設定すると、すべてのリクエストでの使用量が含まれます。

デフォルト: False

2.1.3.37. --enable-tokenizer-info-endpoint, --no-enable-tokenizer-info-endpoint

/get_tokenizer_info エンドポイントを有効にします。チャットテンプレートやその他のトークナイザー設定が公開される可能性があります。

デフォルト: False

2.1.3.38. --enable-log-outputs, --no-enable-log-outputs

True の場合、モデル出力 (生成結果) をログに記録します。--enable-log-requests が必要です。

デフォルト: False

2.1.3.39. --h11-max-incomplete-event-size

h11 パーサーの不完全な HTTP イベント (ヘッダーまたは本文) の最大サイズ (バイト)。ヘッダーの不正使用を軽減するのに役立ちます。

デフォルト: 4194304 (4 MB)

2.1.3.40. --h11-max-header-count

h11 パーサーのリクエストで許可される HTTP ヘッダーの最大数。ヘッダーの不正使用を軽減するのに役立ちます。

デフォルト: 256

2.1.3.41. --log-error-stack、--no-log-error-stack

True に設定すると、エラー応答のスタックトレースをログに記録します。

デフォルト: False

2.1.4. ModelConfig

モデルの設定。

2.1.4.1. --model

使用する Hugging Face モデルの名前またはパス。また、served_model_name が指定されていない場合、メトリクス出力の model_name タグの内容としても使用されます。

デフォルト: Qwen/Qwen3-0.6B

2.1.4.2. --runner

使用可能な選択肢: autodraftgeneratepooling

使用するモデルランナーのタイプ。各 vLLM インスタンスは、同じモデルを複数のタイプに使用できる場合でも、1 つのモデルランナーのみをサポートします。

デフォルト: auto

2.1.4.3. --convert

使用可能な選択肢: autoclassifyembednonereward

[vllm.model_executor.models.adapters][] で定義されたアダプターを使用してモデルを変換します。最も一般的な使用例は、プーリングタスクに使用するテキスト生成モデルを適応させることです。

デフォルト: auto

2.1.4.4. --task

使用可能な選択肢: autoclassifydraftembedembeddinggeneraterewardscoretranscriptionNone

重要

この引数は非推奨です。

モデルを使用するタスク。モデルが複数のモデルランナーをサポートしている場合、これを使用して実行するモデルランナーを選択します。

モデルは、同じモデルランナーを使用して他のタスクをサポートする場合があることに注意してください。

デフォルト: None

2.1.4.5. --tokenizer

使用する Hugging Face トークナイザーの名前またはパス。指定しない場合は、モデル名またはパスが使用されます。

デフォルト: None

2.1.4.6. --tokenizer-mode

使用可能な選択肢: autocustommistralslow

Tokenizer モード:

  • "auto" は、利用可能な場合は速度の早いトークナイザーを使用します。
  • "slow" は常に速度の遅いトークナイザーを使用します。
  • "mistral" は常に mistral_common のトークナイザーを使用します。
  • "custom" は --tokenizer を使用して、事前登録済みのトークナイザーを選択します。

デフォルト: auto

2.1.4.7. --trust-remote-code, --no-trust-remote-code

モデルとトークナイザーをダウンロードするときは、リモートコード (例: HuggingFace から) を信頼します。

デフォルト: False

2.1.4.8. --dtype

使用可能な選択肢: autobfloat16floatfloat16float32half

モデルの重みとアクティベーションのデータ型。

  • "auto" は、FP32 および FP16 モデルでは FP16 精度を使用し、BF16 モデルでは BF16 精度を使用します。
  • "half" は、半精度の FP16 を使用します。AWQ 量子化に推奨されます。
  • "float16" は "half" と同じです。
  • "bfloat16" は精度と範囲のバランスを取ります。
  • "float" は FP32 の精度の省略形です。
  • "float32" は FP32 精度を使用します。

デフォルト: auto

2.1.4.9. --seed

再現性のためのランダムシード。V0 では None に初期化されますが、V1 では 0 に初期化されます。

デフォルト: None

2.1.4.10. --hf-config-path

使用する Hugging Face 設定の名前またはパス。指定しない場合は、モデル名またはパスが使用されます。

デフォルト: None

2.1.4.11. --allowed-local-media-path

API リクエストがサーバーファイルシステムで指定されたディレクトリーからローカルイメージまたはビデオを読み取ることを許可します。これはセキュリティー上のリスクです。信頼できる環境でのみ有効にする必要があります。

デフォルト: ``

2.1.4.12. --allowed-media-domains

設定されている場合、このドメインに属するメディア URL のみがマルチモーダル入力に使用できます。

デフォルト: None

2.1.4.13. --revision

使用する特定のモデルバージョン。ブランチ名、タグ名、またはコミット ID を指定できます。指定しない場合は、デフォルトのバージョンが使用されます。

デフォルト: None

2.1.4.14. --code-revision

Hugging Face Hub のモデルコードに使用する特定のリビジョン。ブランチ名、タグ名、またはコミット ID を指定できます。指定しない場合は、デフォルトのバージョンが使用されます。

デフォルト: None

2.1.4.15. --rope-scaling

RoPE スケーリング設定。例: {"rope_type":"dynamic","factor":2.0}

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: {}

2.1.4.16. --rope-theta

RoPE シータ。rope_scaling で使用します。場合によっては、RoPE シータを変更すると、スケールモデルのパフォーマンスが向上します。

デフォルト: None

2.1.4.17. --tokenizer-revision

Hugging Face Hub のトークナイザーに使用する特定のリビジョン。ブランチ名、タグ名、またはコミット ID を指定できます。指定しない場合は、デフォルトのバージョンが使用されます。

デフォルト: None

2.1.4.18. --max-model-len

モデルコンテキストの長さ (プロンプトと出力)。指定されていない場合は、モデル設定から自動的に派生されます。

--max-model-len 経由で渡す場合、人間が読める形式の k/m/g/K/M/G をサポートします。例:

  • 1k -> 1000
  • 1K -> 1024
  • 25.6k -> 25,600

'1k'、'2M' などの人間が読める整数を解析します。小数値を小数乗数とともに含めます。

Examples:
- '1k' -> 1,000
- '1K' -> 1,024
- '25.6k' -> 25,600
Copy to Clipboard Toggle word wrap

デフォルト: None

2.1.4.19. --quantization, -q

重みを量子化するために使用される方法。None の場合は、まずモデル設定ファイルの quantization_config 属性を確認します。None の場合、モデルの重みは量子化されていないと想定し、dtype を使用して重みのデータ型を決定します。

デフォルト: None

2.1.4.20. --enforce-eager, --no-enforce-eager

常に eager-mode の PyTorch を使用するかどうか。True の場合、CUDA グラフを無効にして、常に eager モードでモデルを実行します。False の場合、パフォーマンスと柔軟性を最大化するために、CUDA グラフとハイブリッドの eager 実行を使用します。

デフォルト: False

2.1.4.21. --max-logprobs

SamplingParamslogprobs が指定された場合に返される対数確率の最大数。デフォルト値は、OpenAI Chat Completions API のデフォルトです。-1 は上限がないことを意味します。つまり、すべての (output_length * vocab_size) logprob を返すことができ、OOM が発生する可能性があります。

デフォルト: 20

2.1.4.22. --logprobs-mode

使用可能な選択肢: processed_logitsprocessed_logprobsraw_logitsraw_logprobs

logprobs および prompt_logprobs で返されるコンテンツを示します。サポートされているモード: 1) raw_logprobs、2) processed_logprobs、3) raw_logits、4) processed_logits。Raw とは、不適切な単語を処理するようなロジットプロセッサーを、適用する前の値を指します。Processed とは、温度や top_k/top_p など、すべてのプロセッサーを適用した後の値を意味します。

デフォルト: raw_logprobs

2.1.4.23. --disable-sliding-window, --no-disable-sliding-window

スライディングウィンドウを無効にするかどうか。True の場合、モデルのスライディングウィンドウ機能が無効になり、スライディングウィンドウのサイズが上限になります。モデルがスライディングウィンドウをサポートしていない場合、この引数は無視されます。

デフォルト: False

2.1.4.24. --disable-cascade-attn, --no-disable-cascade-attn

V1 のカスケードアテンションを無効にします。カスケードアテンションは数学的な正確性を確保します。ただし、これを無効にすると、数値的な問題が発生する可能性を回避するのに役立ちます。これを False に設定しても、カスケードアテンションはヒューリスティックによって有益であると判断された場合にのみ使用されることに注意してください。

デフォルト: False

2.1.4.25. --skip-tokenizer-init, --no-skip-tokenizer-init

tokenizer および detokenizer の初期化をスキップします。入力には、有効な prompt_token_ids が含まれており、prompt は None である必要があります。生成された出力には、トークン ID が含まれます。

デフォルト: False

2.1.4.26. --enable-prompt-embeds, --no-enable-prompt-embeds

True の場合、prompt_embeds キーを介してテキスト埋め込みを入力として渡すことができます。これを有効にすると、グラフのコンパイルに必要な時間が 2 倍になることに注意してください。

デフォルト: False

2.1.4.27. --served-model-name

API で使用されるモデル名。複数の名前が指定された場合、サーバーは指定された名前のいずれかに応答します。応答のモデルフィールド内のモデル名は、このリストの最初の名前です。指定されていない場合、モデル名は --model 引数と同じになります。この名前は、Prometheus メトリクスの model_name タグの内容でも使用されることに注意してください。複数の名前が指定されている場合、メトリクスタグは最初の名前を取得します。

デフォルト: None

2.1.4.28. --config-format

使用可能な選択肢: autohfmistral

ロードするモデル設定の形式。

  • "auto" は、可能な場合は hf 形式で設定をロードしようとし、そうでない場合は mistral 形式でロードしようとします。
  • "hf" は、hf 形式で設定をロードします。
  • "mistral" は、設定を mistral 形式で読み込みます。

デフォルト: auto

2.1.4.29. --hf-token

リモートファイルの HTTP ベアラー認可として使用するトークン。True の場合、huggingface-cli login の実行時に生成されたトークン (~/.huggingface に保存) を使用します。

デフォルト: None

2.1.4.30. --hf-overrides

ディクショナリーの場合は、Hugging Face 設定に転送される引数が含まれます。呼び出し可能な場合は、HuggingFace 設定を更新するために呼び出されます。

デフォルト: {}

2.1.4.31. --pooler-config

プーリングモデルでの出力プーリングの動作を制御するプーラー設定。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: None

2.1.4.32. --override-pooler-config
重要

この引数は非推奨です。

代わりに pooler_config を使用してください。このフィールドは、v0.12.0 または v1.0.0 のうち先に到達したバージョンで削除されます。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: None

2.1.4.33. --logits-processor-pattern

有効な logits プロセッサー修飾名を指定するオプションの正規表現パターンで、logits_processors 追加補完引数で渡すことができます。デフォルトは None で、プロセッサーは使用できません。

デフォルト: None

2.1.4.34. --generation-config

生成設定へのフォルダーパス。デフォルトは "auto" で、生成設定はモデルパスから読み込まれます。"vllm" に設定すると、生成設定はロードされず、vLLM のデフォルトが使用されます。フォルダーパスに設定すると、指定されたフォルダーパスから生成設定が読み込まれます。生成設定で max_new_tokens が指定されている場合は、すべてのリクエストの出力トークンの数にサーバー全体の制限が設定されます。

デフォルト: auto

2.1.4.35. --override-generation-config

生成設定をオーバーライドし、(ない場合は) 設定します。たとえば、{"temperature": 0.5}--generation-config auto と使用すると、オーバーライドパラメーターはモデルのデフォルト設定とマージされます。--generation-config vllm と使用すると、オーバーライドパラメーターのみが使用されます。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: {}

2.1.4.36. --enable-sleep-mode, --no-enable-sleep-mode

エンジンのスリープモードを有効にします (CUDA プラットフォームのみがサポートされます)。

デフォルト: False

2.1.4.37. --model-impl

使用可能な選択肢: autoterratorchtransformersvllm

使用するモデルの実装。

  • "auto" は、存在する場合は vLLM 実装の使用を試み、vLLM 実装が利用できない場合は Transformers 実装にフォールバックします。
  • "vllm" は vLLM モデル実装を使用します。
  • "transformers" はトランスフォーマーモデル実装を使用します。
  • "terratorch" は TerraTorch モデル実装を使用します。

デフォルト: auto

2.1.4.38. --override-attention-dtype

注意のために dtype をオーバーライドする

デフォルト: None

2.1.4.39. --logits-processors

1 つ以上のロジットプロセッサーの完全修飾クラス名またはクラス定義

デフォルト: None

2.1.4.40. --io-processor-plugin

モデルの起動時にロードする IOProcessor プラグイン名

デフォルト: None

2.1.5. LoadConfig

モデルの重みを読み込むための設定。

2.1.5.1. --load-format

読み込むモデルの重みの形式。

  • "auto" は safetensors 形式で重みをロードしようとし、safetensors 形式が利用できない場合は pytorch bin 形式にフォールバックします。
  • "pt" は重みを pytorch bin 形式で読み込みます。
  • "safetensors" は重みを safetensors 形式で読み込みます。
  • "npcache" は重みを pytorch 形式で読み込み、numpy キャッシュを保存して読み込みを高速化します。
  • "dummy" は重みをランダムな値で初期化します。これは主にプロファイリング用です。
  • "tensorizer" は高速な重み読み込みのために CoreWeave の tensorizer ライブラリーを使用します。詳細は、例のセクションの Tensorize vLLM Model スクリプトを参照してください。
  • "runai_streamer" は Run:ai Model Streamer を使用して Safetensors の重みを読み込みます。
  • "bitsandbytes" は bitsandbytes 量子化を使用して重みを読み込みます。
  • "sharded_state" は事前に分割されたチェックポイントファイルから重みを読み込み、テンソル並列モデルの効率的な読み込みをサポートします。
  • "gguf" は GGUF 形式のファイルから重みを読み込みます (詳細は https://github.com/ggml-org/ggml/blob/master/docs/gguf.md で指定されています)。
  • "mistral" は Mistral モデルで使用される統合 safetensors から重みを読み込みます。
  • その他のカスタム値はプラグインを介してサポートできます。

デフォルト: auto

2.1.5.2. --download-dir

重みをダウンロードしてロードするディレクトリー。デフォルトは Hugging Face のデフォルトのキャッシュディレクトリーです。

デフォルト: None

2.1.5.3. --safetensors-load-strategy

セーフテンソルの重みに対するロードストラテジーを指定します。

  • "lazy" (デフォルト): 重みはファイルからメモリーにマップされます。これによりオンデマンドの読み込みが可能になり、ローカルストレージ上のモデルを使用する場合に非常に効率的になります。
  • "eager": ロードする前に、ファイル全体を CPU メモリーに事前に読み込みます。これは、非効率的なランダム読み取りを回避し、モデルの初期化を大幅に高速化するため、ネットワークファイルシステム (Lustre、NFS など) 上のモデルに推奨されます。ただし、CPU RAM の使用量が増えます。

デフォルト: lazy

2.1.5.4. --model-loader-extra-config

モデルローダーの追加設定。これは、選択した load_format に対応するモデルローダーに渡されます。

デフォルト: {}

2.1.5.5. --ignore-patterns

モデルをロードするときに無視するパターンのリスト。ラマのチェックポイントの繰り返し読み込みを避けるため、デフォルトは "original/*/" になります。

デフォルト: None

2.1.5.6. --use-tqdm-on-load, --no-use-tqdm-on-load

モデルの重みを読み込むときに進捗バーを表示するために tqdm を有効にするかどうか。

デフォルト: True

2.1.5.7. --pt-load-map-location

pt_load_map_location: pytorch チェックポイントをロードするためのマップの場所。チェックポイントのロードをサポートするために、"cuda" などの特定のデバイスでのみロードできます。これは、{"": "cuda"} と同等です。サポートされている別の形式は、GPU 1 から GPU 0 など、異なるデバイスからのマッピングです ( {"cuda:1": "cuda:0"})。コマンドラインから渡す場合、辞書内の文字列は json 解析のために二重引用符で囲む必要があることに注意してください。詳細は、https://pytorch.org/docs/stable/generated/torch.load.htmlmap_location のオリジナルドキュメントを参照してください。

デフォルト: cpu

2.1.6. StructuredOutputsConfig

エンジンの構造化された出力設定を含むデータクラス。

2.1.6.1. --reasoning-parser

使用可能な選択肢: deepseek_r1glm45openai_gptossgranitehunyuan_a13bmistralqwen3seed_ossstep3

使用しているモデルに応じて推論パーサーを選択します。これは推論コンテンツを OpenAI API 形式に解析するために使用されます。

デフォルト: ``

2.1.6.2. --guided-decoding-backend
重要

この引数は非推奨です。

--guided-decoding-backend は v0.12.0 で削除されます。

デフォルト: None

2.1.6.3. --guided-decoding-disable-fallback
重要

この引数は非推奨です。

--guided-decoding-disable-fallback は v0.12.0 で削除されます。

デフォルト: None

2.1.6.4. --guided-decoding-disable-any-whitespace
重要

この引数は非推奨です。

--guided-decoding-disable-any-whitespace は v0.12.0 で削除されます。

デフォルト: None

2.1.6.5. --guided-decoding-disable-additional-properties
重要

この引数は非推奨です。

--guided-decoding-disable-additional-properties は v0.12.0 で削除されます。

デフォルト: None

2.1.7. ParallelConfig

分散実行の設定。

2.1.7.1. --distributed-executor-backend

使用可能な選択肢: external_launchermprayuni

分散モデルワーカーに使用するバックエンド。"ray" または "mp" (マルチプロセッシング))。pipeline_parallel_size と tensor_parallel_size の積が使用可能な GPU の数以下の場合、単一のホストで処理を継続するために "mp" が使用されます。それ以外の場合、Ray がインストールされている場合はデフォルトで "ray" になり、そうでない場合は失敗します。tpu は分散推論に対して Ray のみをサポートすることに注意してください。

デフォルト: None

2.1.7.2. --pipeline-parallel-size, -pp

パイプライン並列グループの数。

デフォルト: 1

2.1.7.3. --tensor-parallel-size, -tp

テンソル並列グループの数。

デフォルト: 1

2.1.7.4. --decode-context-parallel-size、-dcp

デコードコンテキスト並列グループの数。ワールドサイズは dcp によって変更されないため、TP グループの GPU を単純に再利用し、tp_size は dcp_size で割り切れる必要があります。

デフォルト: 1

2.1.7.5. --data-parallel-size, -dp

データ並列グループの数。MoE レイヤーは、テンソル並列サイズとデータ並列サイズの積に応じて分割されます。

デフォルト: 1

2.1.7.6. --data-parallel-rank, -dpn

このインスタンスのデータ並列ランク。設定すると、外部ロードバランサーモードが有効になります。

デフォルト: None

2.1.7.7. --data-parallel-start-rank, -dpr

セカンダリーノードのデータ並列ランクを開始します。

デフォルト: None

2.1.7.8. --data-parallel-size-local, -dpl

このノードで実行されるデータ並列レプリカの数。

デフォルト: None

2.1.7.9. --data-parallel-address, -dpa

データ並列クラスターのヘッドノードのアドレス。

デフォルト: None

2.1.7.10. --data-parallel-rpc-port, -dpp

データ並列 RPC 通信用のポート。

デフォルト: None

2.1.7.11. --data-parallel-backend, -dpb

データ並列のバックエンド ("mp" または "ray")。

デフォルト: mp

2.1.7.12. --data-parallel-hybrid-lb, --no-data-parallel-hybrid-lb

"hybrid" DP LB モードを使用するかどうか。オンラインサービングと data_parallel_size > 0 の場合にのみ適用されます。AsyncLLM および API サーバーを「ノードごと」に実行できるようにします。vLLM はローカルデータ並列ランク間で負荷分散しますが、外部 LB は vLLM ノード/レプリカ間で負荷分散します。--data-parallel-start-rank と組み合わせて明示的に設定します。

デフォルト: False

2.1.7.13. --enable-expert-parallel, --no-enable-expert-parallel

MoE レイヤーにはテンソル並列処理ではなくエキスパート並列処理を使用します。

デフォルト: False

2.1.7.14. --enable-dbo、--no-enable-dbo

モデルエグゼキューターの二重バッチ重複を有効にします。

デフォルト: False

2.1.7.15. --dbo-decode-token-threshold

デコードのみを含むバッチの二重バッチ重複のしきい値。リクエスト内のトークンの数がこのしきい値より大きい場合は、マイクロバッチ処理が使用されます。それ以外の場合、リクエストは単一のバッチで処理されます。

デフォルト 32

2.1.7.16. --dbo-prefill-token-threshold

1 つ以上のプリフィルを含むバッチに対する、二重バッチ重複のしきい値。リクエスト内のトークンの数がこのしきい値より大きい場合は、マイクロバッチ処理が使用されます。それ以外の場合、リクエストは単一のバッチで処理されます。

デフォルト 512

2.1.7.17. --enable-eplb, --no-enable-eplb

MoE レイヤーのエキスパート並列負荷分散を有効にします。

デフォルト: False

2.1.7.18. --eplb-config

エキスパート並列処理設定。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: EPLBConfig(window_size=1000, step_interval=3000, num_redundant_experts=0, log_balancedness=False)

2.1.7.19. --expert-placement-strategy

使用可能な選択肢: linearround_robin

MoE レイヤーの expert 配置ストラテジー:

  • "linear": expert は連続的に配置されます。たとえば experts が 4 つ、ranks が 2 つある場合、rank 0 には experts [0, 1] が、rank 1 には experts [2, 3] が割り当てられます。
  • "round_robin": expert はラウンドロビン方式で配置されます。たとえば experts が 4 つ、ranks が 2 つある場合、rank 0 には experts [0, 2] が、rank 1 には experts [1, 3] が割り当てられます。このストラテジーは、冗長なエキスパートを持たないグループ化されたエキスパートモデルの負荷分散を改善するのに役立ちます。

デフォルト: linear

2.1.7.20. --num-redundant-experts
重要

この引数は非推奨です。

--num-redundant-experts は v0.12.0 で削除されます。

デフォルト: None

2.1.7.21. --eplb-window-size
重要

この引数は非推奨です。

--eplb-window-size は v0.12.0 で削除されます。

デフォルト: None

2.1.7.22. --eplb-step-interval
重要

この引数は非推奨です。

--eplb-step-interval は v0.12.0 で削除されます。

デフォルト: None

2.1.7.23. --eplb-log-balancedness, --no-eplb-log-balancedness
重要

この引数は非推奨です。

--eplb-log-balancedness は v0.12.0 で削除されます。

デフォルト: None

2.1.7.24. --max-parallel-loading-workers

モデルを複数のバッチで順番にロードする場合の並列ロードワーカーの最大数。テンソル並列および大規模モデルを使用するときに RAM OOM を回避します。

デフォルト: None

2.1.7.25. --ray-workers-use-nsight, --no-ray-workers-use-nsight

nsight を使用して Ray ワーカーをプロファイリングするかどうかは、https://docs.ray.io/en/latest/ray -observability/user-guides/profiling.html#profiling-nsight-profiler を参照してください。

デフォルト: False

2.1.7.26. --disable-custom-all-reduce, --no-disable-custom-all-reduce

カスタムの all-reduce カーネルを無効にして、NCCL にフォールバックします。

デフォルト: False

2.1.7.27. --worker-cls

使用するワーカークラスの完全な名前。"auto" の場合、ワーカークラスはプラットフォームに基づいて決定されます。

デフォルト: auto

2.1.7.28. --worker-extension-cls

使用するワーカー拡張クラスの完全な名前。ワーカー拡張クラスは、ワーカークラスによって動的に継承されます。これは、collective_rpc 呼び出しで使用するために、ワーカークラスに新しい属性とメソッドを注入するために使用されます。

デフォルト: ``

2.1.7.29. --enable-multimodal-encoder-data-parallel

デフォルト: False

2.1.8. CacheConfig

KV キャッシュの設定。

2.1.8.1. --block-size

使用可能な選択肢: 18163264128

連続するキャッシュブロックのサイズ (トークン数)。CUDA デバイスでは、最大 32 のブロックサイズのみがサポートされます。

この設定には静的なデフォルトはありません。ユーザーが指定しない場合は、現在のプラットフォームに基づいて Platform.check_and_update_config() で設定されます。

デフォルト: None

2.1.8.2. --gpu-memory-utilization

モデルエグゼキューターに使用される GPU メモリーの割合。範囲は 0 - 1 です。たとえば、値が 0.5 の場合、GPU メモリーの使用率は 50%% になります。指定しない場合は、デフォルト値 0.9 が使用されます。これはインスタンスごとの制限であり、現在の vLLM インスタンスにのみ適用されます。同じ GPU 上で別の vLLM インスタンスが実行されていても問題ありません。たとえば、同じ GPU 上で 2 つの vLLM インスタンスを実行している場合、各インスタンスの GPU メモリー使用率を 0.5 に設定できます。

デフォルト: 0.9

2.1.8.3. --kv-cache-memory-bytes

GPU あたりの KV キャッシュのサイズ (バイト単位)。デフォルトでは、これは None に設定されており、vllm は gpu_memory_utilization に基づいて kv キャッシュサイズを自動的に推測できます。ただし、ユーザーは kv キャッシュメモリーのサイズを手動で指定することもできます。kv_cache_memory_bytes を使用すると、gpu_memory_memory_utilization を使用する場合と比較して、使用されるメモリーの量をより細かく制御できます。kv_cache_memory_bytes (None 以外の場合) は gpu_memory_utilization を無視することに注意してください。

'1k'、'2M' などの人間が読める整数を解析します。小数値を小数乗数とともに含めます。

Examples:
- '1k' -> 1,000
- '1K' -> 1,024
- '25.6k' -> 25,600
Copy to Clipboard Toggle word wrap

デフォルト: None

2.1.8.4. --swap-space

GPU あたりの CPU スワップ領域のサイズ (GiB 単位)。

デフォルト: 4

2.1.8.5. --kv-cache-dtype

使用可能な選択肢: autobfloat16fp8fp8_e4m3fp8_e5m2fp8_inc

kv キャッシュストレージのデータタイプ。"auto" の場合は、モデルデータ型を使用します。CUDA 11.8 以降は fp8 (=fp8_e4m3) および fp8_e5m2 をサポートします。ROCm (AMD GPU) は fp8 (=fp8_e4m3) をサポートします。Intel Gaudi (HPU) は fp8 (fp8_inc を使用) をサポートします。一部のモデル (DeepSeekV3.2 など) はデフォルトで fp8 に設定されており、代わりに bfloat16 を使用するには bfloat16 に設定します。これは、デフォルトで fp8 に設定されていないモデルでは無効なオプションです。

デフォルト: auto

2.1.8.6. --num-gpu-blocks-override

使用する GPU ブロックの数。指定されている場合、プロファイルされた num_gpu_blocks がオーバーライドされます。None の場合は何も行いません。プリエンプションのテストに使用されます。

デフォルト: None

2.1.8.7. --enable-prefix-caching, --no-enable-prefix-caching

接頭辞キャッシュを有効にするかどうか。V1 ではデフォルトで有効になっています。

デフォルト: None

2.1.8.8. --prefix-caching-hash-algo

使用可能な選択肢: sha256sha256_cbor

接頭辞キャッシュのハッシュアルゴリズムを設定します。

  • "sha256" はハッシュ化の前にオブジェクトのシリアライゼーションに Pickle を使用します。
  • "sha256_cbor" は、再現可能で言語間で互換性のあるハッシュを提供します。標準 CBOR を使用してオブジェクトをシリアル化し、SHA-256 でハッシュします。

デフォルト: sha256

2.1.8.9. --cpu-offload-gb

GPU ごとに CPU にオフロードするスペース (GiB 単位)。デフォルトは 0 で、オフロードがないことを意味します。直感的に言えば、この議論は GPU メモリーサイズを増やすための仮想的な方法と見ることができます。たとえば、24 GB の GPU が 1 つあり、これを 10 に設定すると、実質的には 34 GB の GPU と考えることができます。次に、重みが BF16 の 13B モデルをロードできますが、これには少なくとも 26GB の GPU メモリーが必要です。モデルの各フォワードパスでは、モデルの一部が CPU メモリーから GPU メモリーにオンザフライでロードされるため、高速な CPU-GPU 相互接続が必要になることに注意してください。

デフォルト: 0

2.1.8.10. --calculate-kv-scales, --no-calculate-kv-scales

これにより、kv_cache_dtype が fp8 の場合に k_scalev_scale の動的な計算が可能になります。False の場合、スケールはモデルチェックポイントからロードされます (利用可能な場合)。それ以外の場合、スケールのデフォルトは 1.0 です。

デフォルト: False

2.1.8.11. --kv-sharing-fast-prefill, --no-kv-sharing-fast-prefill

この機能は現在開発中であり、このフラグを有効にすると事前入力の最適化は行われません。

YOCO (https://arxiv.org/abs/2405.05254) などの一部の KV 共有設定では、一部のレイヤーが事前入力に対応するトークンをスキップできます。このフラグは、一部のモデル (Gemma3n など) でこの最適化を実装するために必要なメタデータで、適格なレイヤーのアテンションメタデータをオーバーライドできるようにします。

デフォルト: False

2.1.8.12. --mamba-cache-dtype

使用可能な選択肢: autofloat32

Mamba キャッシュに使用するデータタイプ (conv と ssm 状態の両方)。'auto' に設定すると、データ型はモデル設定から推測されます。

デフォルト: auto

2.1.8.13. --mamba-ssm-cache-dtype

使用可能な選択肢: autofloat32

Mamba キャッシュに使用するデータ型 (ssm 状態のみ、conv 状態は引き続き mamba_cache_dtype によって制御されます)。'auto' に設定すると、ssm 状態のデータタイプは mamba_cache_dtype によって決定されます。

デフォルト: auto

2.1.9. MultiModalConfig

マルチモーダルモデルの動作を制御します。

2.1.9.1. --limit-mm-per-prompt

各モダリティーのプロンプトごとに許容可能な入力項目の最大数。各モダリティーのデフォルトは 1 (V0) または 999 (V1) です。

たとえば、プロンプトごとに最大 16 枚の画像と 2 本のビデオを使用できるようにするには、{"image": 16, "video": 2} と指定します。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: {}

2.1.9.2. --media-io-kwargs

メディア入力を処理するために渡される追加の引数。モダリティーによってキーが付けられます。たとえば、ビデオの num_frames を設定するには、--media-io-kwargs '{"video": {"num_frames": 40} }' を設定します。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: {}

2.1.9.3. --mm-processor-kwargs

マルチモーダルデータのモデルのプロセッサー (イメージプロセッサーなど) に転送される引数。transformers.AutoProcessor.from_pretrained から取得されたマルチモーダルプロセッサーのオーバーライド。

使用可能なオーバーライドは、実行中のモデルによって異なります。

たとえば、Phi-3-Vision の場合: {"num_crops": 4}

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: None

2.1.9.4. --mm-processor-cache-gb

過去のマルチモーダル入力の再処理を回避するために使用される、マルチモーダルプロセッサーキャッシュのサイズ (GiB 単位)。

このキャッシュは各 API プロセスとエンジンコアプロセスごとに複製され、合計メモリー使用量は mm_processor_cache_gb * (api_server_count + data_parallel_size) です。

このキャッシュを完全に無効にするには 0 に設定します (非推奨)。

デフォルト: 4

2.1.9.5. --disable-mm-preprocessor-cache

デフォルト: False

2.1.9.6. --mm-processor-cache-type

使用可能な選択肢: lrushm

マルチモーダルプリプロセッサー/マッパーに使用するキャッシュのタイプ。shm の場合は、共有メモリー FIFO キャッシュを使用します。lru の場合は、ミラーリングされた LRU キャッシュを使用します。

デフォルト: lru

2.1.9.7. --mm-shm-cache-max-object-size-mb

マルチモーダルプロセッサー共有メモリーキャッシュに格納される各オブジェクトのサイズ制限 (MiB 単位)。mm_processor_cache_type"shm" の場合にのみ有効です。

デフォルト 128

2.1.9.8. --mm-encoder-tp-mode

使用可能な選択肢: dataweights

テンソル並列処理 (TP) を使用してマルチモーダルエンコーダー推論を最適化する方法を示します。

  • "weights": 同じ vLLM エンジン内で、各レイヤーの重みを TP ランクに分割します。(デフォルトの TP 動作)
  • "data": 同じ vLLM エンジン内で、バッチ入力データを TP ランク全体に分割し、各 TP ランクで完全な重みをホストしながらデータを並列処理します。このバッチレベルの DP は、API 要求レベルの DP (--data-parallel-size で制御) と混同しないでください。これはモデルごとにのみサポートされ、エンコーダーが DP をサポートしていない場合は "weights" にフォールバックします。

デフォルト: weights

2.1.9.9. --interleave-mm-strings, --no-interleave-mm-strings

--chat-template-content-format=string を使用しながら、マルチモーダルプロンプトの完全なインターリーブサポートを有効にします。

デフォルト: False

2.1.9.10. --skip-mm-profiling, --no-skip-mm-profiling

有効にすると、エンジンの初期化中にマルチモーダルメモリープロファイリングがスキップされ、言語バックボーンモデルを使用したプロファイルのみが実行されます。

これにより、エンジンの起動時間が短縮されますが、マルチモーダルエンコーダーと埋め込みキャッシュのアクティブ化のピーク時のメモリー使用量は、ユーザーが見積もる必要があります。

デフォルト: False

2.1.9.11. --video-pruning-rate

効率的なビデオサンプリングによるビデオプルーニングのプルーニングレートを設定します。値は [0;1) の範囲内にあり、各ビデオから削除されるメディアトークンの割合を決定します。

デフォルト: None

2.1.10. LoRAConfig

LoRA の設定。

2.1.10.1. --enable-lora, --no-enable-lora

True の場合、LoRA アダプターの処理が有効になります。

デフォルト: None

2.1.10.2. --enable-lora-bias, --no-enable-lora-bias
重要

この引数は非推奨です。

LoRA アダプターのバイアスを有効にします。このオプションは v0.12.0 で削除されます。

デフォルト: False

2.1.10.3. --max-loras

単一バッチ内の LoRA の最大数。

デフォルト: 1

2.1.10.4. --max-lora-rank

最大 LoRA ランク。

デフォルト: 16

2.1.10.5. --lora-extra-vocab-size

(非推奨) LoRA アダプターに存在できる追加語彙の最大サイズ。v0.12.0 で削除されます。

デフォルト: 256

2.1.10.6. --lora-dtype

使用可能な選択肢: autobfloat16float16

LoRA のデータ型。auto の場合、デフォルトで基本モデルの dtype になります。

デフォルト: auto

2.1.10.7. --max-cpu-loras

CPU メモリーに保存する LoRA の最大数。max_loras 以上である必要があります。

デフォルト: None

2.1.10.8. --fully-sharded-loras, --no-fully-sharded-loras

デフォルトでは、LoRA 計算の半分だけがテンソル並列処理で分割されます。これを有効にすると、完全にシャード化されたレイヤーが使用されます。シーケンスの長さ、ランク、またはテンソルの並列サイズが大きい場合、おそらくこれは高速になります。

デフォルト: False

2.1.10.9. --default-mm-loras

特定のモダリティーを LoRA モデルパスにマッピングするディクショナリー。このフィールドはマルチモーダルモデルにのみ該当します。このフィールドは、特定のモダリティーが存在し、モデルが常に LoRA がアクティブであると想定する場合に使用してください。現時点では、リクエストが複数の追加モダリティーを提供し、それぞれに独自の LoRA がある場合、プロンプトごとに 1 つの lora アダプターしかサポートしていないため、default_mm_loras は適用されないことに注意してください。オフラインモードで実行すると、n 個のモダリティーの lora ID が、モダリティーの名前とともにアルファベット順に 1 - n に自動的に割り当てられます。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: None

2.1.11. ObservabilityConfig

可観測性の設定 - メトリクスとトレース。

2.1.11.1. --show-hidden-metrics-for-version

指定されたバージョン以降で非表示になっている非推奨の Prometheus メトリクスを有効にします。たとえば、以前非推奨になったメトリクスが v0.7.0 リリース以降非表示になっている場合は、新しいメトリクスに移行する間の一時的なエスケープハッチとして --show-hidden-metrics-for-version=0.7 を使用します。このメトリクスは、今後のリリースで完全に削除される可能性があります。

デフォルト: None

2.1.11.2. --otlp-traces-endpoint

OpenTelemetry トレースが送信されるターゲット URL。

デフォルト: None

2.1.11.3. --collect-detailed-traces

使用可能な選択肢: allmodelworkerNonemodel,workermodel,allworker,modelworker,allall,modelall,worker

--otlp-traces-endpoint が設定されている場合にのみこれを設定する意味があります。設定すると、指定されたモジュールの詳細なトレースが収集されます。これには、コストがかかったり、ブロックしたりする可能性のある操作が含まれるため、パフォーマンスに影響が出る可能性があります。

各リクエストの詳細なタイミング情報を収集するとコストがかかる可能性があることに注意してください。

デフォルト: None

2.1.12. SchedulerConfig

スケジューラーの設定

2.1.12.1. --max-num-batched-tokens

1 回の反復で処理されるトークンの最大数。

この設定には静的なデフォルトはありません。ユーザーが指定しない場合は、使用コンテキストに基づいて EngineArgs.create_engine_config で設定されます。

'1k'、'2M' などの人間が読める整数を解析します。小数値を小数乗数とともに含めます。

Examples:
- '1k' -> 1,000
- '1K' -> 1,024
- '25.6k' -> 25,600
Copy to Clipboard Toggle word wrap

デフォルト: None

2.1.12.2. --max-num-seqs

1 回の反復で処理されるシーケンスの最大数。

この設定には静的なデフォルトはありません。ユーザーが指定しない場合は、使用コンテキストに基づいて EngineArgs.create_engine_config で設定されます。

デフォルト: None

2.1.12.3. --max-num-partial-prefills

チャンク単位の事前入力の場合、同時に部分的に事前入力できるシーケンスの最大数。

デフォルト: 1

2.1.12.4. --max-long-partial-prefills

チャンク単位の事前入力の場合、同時に事前入力される long_prefill_token_threshold よりも長いプロンプトの最大数。これを max_num_partial_prefills よりも小さい値を設定すると、場合によっては短いプロンプトが長いプロンプトの前にキューを飛び越して処理され、レイテンシーが改善されます。

デフォルト: 1

2.1.12.5. --cuda-graph-sizes

Cuda グラフのキャプチャーサイズ

  1. 何も指定されていない場合は、デフォルトで [min (max_num_seqs * 2、512)] に設定されます。
  2. 1 つの値が提供される場合、キャプチャーリストは、[1, 2, 4] + [i for i in range(8, cuda_graph_sizes + 1, 8)] のパターンに従います。
  3. 複数の値 (例: 1 2 128) が指定された場合、キャプチャーリストは指定されたリストに従います。

デフォルト: []

2.1.12.6. --long-prefill-token-threshold

チャンクでの事前入力の場合、プロンプトがこのトークン数より長いと、リクエストは長いとみなされます。

デフォルト: 0

2.1.12.7. --num-lookahead-slots

既知のトークン ID を超えて、シーケンスごと、ステップごとに割り当てるスロットの数。これは、受け入れられるかどうかわからないトークンの KV アクティベーションを保存するために、推測的デコードで使用されます。

注記

これは今後、推測生成の設定に置き換えられますが、それまでは正確性テストを有効にするために存在します。

デフォルト: 0

2.1.12.8. --scheduling-policy

使用可能な選択肢: fcfspriority

使用するスケジューリングポリシー。

  • "fcfs" は先着順を意味します。つまり、リクエストは到着順に処理されます。
  • "priority" は、リクエストが指定された優先度 (値が低いほど早く処理される) と到着時刻に基づいて処理されることを意味します (同じ値の場合は到着時刻で決定されます)。

デフォルト: fcfs

2.1.12.9. --enable-chunked-prefill, --no-enable-chunked-prefill

True の場合、残りの max_num_batched_tokens に基づいて事前入力リクエストをチャンク単位に分割できます。

デフォルト: None

2.1.12.10. --disable-chunked-mm-input, --no-disable-chunked-mm-input

true に設定され、チャンク事前入力が有効になっている場合、マルチモーダルアイテムを部分的にスケジュールする必要はありません。V1 でのみ使用されます。これにより、リクエストに混合プロンプト (たとえば、テキストトークン TTTT の後にイメージトークン IIIIIIIIII が続く) があり、一部のイメージトークンのみをスケジュールできる場合 (たとえば、TTTTIIIII があった場合に、IIIII を残す)、アイテムは 1 つのステップで TTTT としてスケジュールされ、次のステップで IIIIIIIIII としてスケジュールされます。

デフォルト: False

2.1.12.11. --scheduler-cls

使用するスケジューラークラス。"vllm.core.scheduler.Scheduler" がデフォルトのスケジューラーです。直接クラスまたは "mod.custom_class" 形式のクラスへのパスを指定できます。

デフォルト: vllm.core.scheduler.Scheduler

2.1.12.12. --disable-hybrid-kv-cache-manager, --no-disable-hybrid-kv-cache-manager

True に設定すると、フルアテンションやスライディングウィンドウアテンションなどの複数の種類のアテンションレイヤーがある場合でも、KV キャッシュマネージャーはすべてのアテンションレイヤーに同じサイズの KV キャッシュを割り当てます。

デフォルト: False

2.1.12.13. --async-scheduling, --no-async-scheduling
注記

これは実験的な機能です。

True に設定すると、非同期スケジューリングが実行されます。これにより、CPU オーバーヘッドが削減され、レイテンシーとスループットが向上する可能性があります。ただし、非同期スケジューリングは現在、構造化出力、投機的デコード、パイプライン並列処理などの一部の機能ではサポートされていません。

デフォルト: False

2.1.13. VllmConfig

すべての vllm 関連の設定が含まれるデータクラス。これにより、コードベース内での個別の設定の受け渡しが簡単になります。

2.1.13.1. --speculative-config

推測的デコーディングの設。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: None

2.1.13.2. --kv-transfer-config

分散 KV キャッシュ転送の設定。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: None

2.1.13.3. --kv-events-config

イベント公開の設定。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト: None

2.1.13.4. --compilation-config, -O

モデルの torch.compile および cudagraph キャプチャー設定。

省略形として、-O<n> を使用してコンパイルレベル n を直接指定できます。-O3-O.level=3 (-O='{"level":3}' と同じ) と同等です。現在、-O <n>and -O=<n>are supported as well but this will likely be removed in favor of clearer -O<n>syntax in the future.</n></n></n>

注記

level 0 は最適化なしのデフォルトレベルです。レベル 1 と 2 は内部テスト専用です。レベル 3 は実稼働環境での推奨レベルで、V1 でもデフォルトです。

完全なコンパイル設定は、{"level": 3, "cudagraph_capture_sizes": [1, 2, 4, 8]} のように指定できます。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト:

{
   "level":null,
   "debug_dump_path":"",
   "cache_dir":"",
   "backend":"",
   "custom_ops":[

   ],
   "splitting_ops":null,
   "use_inductor":true,
   "compile_sizes":null,
   "inductor_compile_config":{
      "enable_auto_functionalized_v2":false
   },
   "inductor_passes":{

   },
   "cudagraph_mode":null,
   "use_cudagraph":true,
   "cudagraph_num_of_warmups":0,
   "cudagraph_capture_sizes":null,
   "cudagraph_copy_inputs":false,
   "full_cuda_graph":false,
   "use_inductor_graph_partition":false,
   "pass_config":{

   },
   "max_capture_size":null,
   "local_cache_dir":null
}
Copy to Clipboard Toggle word wrap
2.1.13.5. --additional-config

指定されたプラットフォームの追加設定。プラットフォームによってサポートされる設定が異なる場合があります。使用しているプラットフォームに対して設定が有効であることを確認してください。コンテンツはハッシュ可能である必要があります。

デフォルト: {}

2.1.13.6. --structured-outputs-config

構造化された出力設定。

有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。

デフォルト:

config = StructuredOutputsConfig(
    backend='auto',
    disable_fallback=False,
    disable_any_whitespace=False,
    disable_additional_properties=False,
    reasoning_parser=''
)
Copy to Clipboard Toggle word wrap

2.2. vllm chat の引数

実行中の API サーバーでチャット補完を生成します。

$ vllm chat [options]
Copy to Clipboard Toggle word wrap
--api-key API_KEY

OpenAI API キー。指定されている場合、この API キーは環境変数に設定された API キーをオーバーライドします。

デフォルト: None

--model-name MODEL_NAME

プロンプト補完で使用されるモデル名。デフォルトでは、リストモデル API 呼び出しの最初のモデルに設定されます。

デフォルト: None

--system-prompt SYSTEM_PROMPT

チャットテンプレートに追加するシステムプロンプト。システムプロンプトをサポートするモデルに使用されます。

デフォルト: None

--url URL

実行中の OpenAI 互換 RESTful API サーバーの URL

デフォルト: http://localhost:8000/v1

-q MESSAGE, --quick MESSAGE

MESSAGE として単一のプロンプトを送信し、応答を出力してから終了します。

デフォルト: None

2.3. vllm complete の引数

実行中の API サーバーを使用して、指定のプロンプトに基づいてテキスト補完を生成します。

$ vllm complete [options]
Copy to Clipboard Toggle word wrap
--api-key API_KEY

OpenAI サービスの API キー。指定されている場合、この API キーは環境変数に設定された API キーをオーバーライドします。

デフォルト: None

--model-name MODEL_NAME

プロンプト補完で使用されるモデル名。デフォルトでは、リストモデル API 呼び出しの最初のモデルに設定されます。

デフォルト: None

--url URL

実行中の OpenAI 互換 RESTful API サーバーの URL

デフォルト: http://localhost:8000/v1

-q PROMPT, --quick PROMPT

1 つのプロンプトを送信し、完了出力を表示して終了します。

デフォルト: None

2.4. vllm bench 引数

オンラインサービングスループットをベンチマークします。

$ vllm bench [options]
Copy to Clipboard Toggle word wrap
bench

位置引数:

  • latency - 単一のリクエストバッチのレイテンシーをベンチマークします。
  • serve - オンラインサービングスループットをベンチマークします。
  • throughput - オフライン推論スループットをベンチマークします。

2.5. vllm collect-env 引数

環境情報を収集します。

$ vllm collect-env
Copy to Clipboard Toggle word wrap

2.6. vllm run-batch 引数

指定されたモデルのバッチ推論ジョブを実行します。

$ vllm run-batch
Copy to Clipboard Toggle word wrap
--disable-log-requests

ログ要求を無効にします。

デフォルト: False

--disable-log-stats

統計のログ記録を無効にします。

デフォルト: False

--enable-metrics

Prometheus メトリクスを有効にします。

デフォルト: False

--enable-prompt-tokens-details

True に設定すると、prompt_tokens_details の使用が有効になります。

デフォルト: False

--max-log-len MAX_LOG_LEN

ログに出力されるプロンプト文字またはプロンプト ID 番号の最大数。

デフォルト: Unlimited

--output-tmp-dir OUTPUT_TMP_DIR

出力 URL にアップロードする前に出力ファイルを保存するディレクトリー。

デフォルト: None

--port PORT

Prometheus メトリクスサーバーのポート番号。enable-metrics が設定されている場合にのみ必要です。

デフォルト: 8000

--response-role RESPONSE_ROLE

request.add_generation_prompt=True の場合に返されるロール名。

デフォルト: assistant

--url URL

Prometheus メトリクスサーバーの URL。enable-metrics が設定されている場合にのみ必要です。

デフォルト: 0.0.0.0

--use-v2-block-manager

非推奨。ブロックマネージャー v1 は削除されました。SelfAttnBlockSpaceManager (ブロックマネージャー v2) がデフォルトになりました。--use-v2-block-manager フラグを True または False に設定しても、vLLM の動作には影響しません。

デフォルト: True

-i INPUT_FILE, --input-file INPUT_FILE

単一の入力ファイルへのパスまたは URL。ローカルファイルパスと HTTP または HTTPS をサポートします。URL が指定されている場合、ファイルは HTTP GET 経由で利用できる必要があります。

デフォルト: None

-o OUTPUT_FILE, --output-file OUTPUT_FILE

単一の出力ファイルへのパスまたは URL。ローカルファイルパスと HTTP または HTTPS をサポートします。URL が指定されている場合、ファイルは HTTP PUT を使用して利用できる必要があります。

デフォルト: None

第3章 環境変数

環境変数を使用して、AI Inference Server のシステムレベルのインストール、ビルド、ロギングの動作を設定できます。

重要

VLLM_PORTVLLM_HOST_IP は、AI Inference Server の 内部使用 向けのホストポートと IP アドレスを設定します。これは、API サーバーのポートおよび IP アドレスではありません。API サーバーを起動する時には --host $VLLM_HOST_IP--port $VLLM_PORT を使用しないでください。

重要

AI 推論サーバーが使用するすべての環境変数には、先頭に VLLM_ が付きます。Kubernetes を使用している場合は、サービスに vllm という名前を付けないでください。この名前を指定すると、Kubernetes によって設定された環境変数が AI Inference Server 環境変数と競合する可能性があります。これは、Kubernetes が大文字のサービス名を接頭辞として各サービスの環境変数を設定するためです。詳細は、Kubernetes 環境変数 を参照してください。

Expand
表3.1 AI Inference Server 環境変数
Environment variable説明

VLLM_TARGET_DEVICE

vLLM のターゲットデバイス cuda (デフォルト)、rocmneuroncpuopenvino をサポートします。

MAX_JOBS

並列に実行するコンパイルジョブの最大数。デフォルトでは、これは CPU の数です。

NVCC_THREADS

nvcc に使用するスレッドの数。デフォルトでは、これは 1 です。設定されている場合、CPU の過剰サブスクライブを避けるために MAX_JOBS を減らします。

VLLM_USE_PRECOMPILED

設定されている場合、AI Inference Server はプリコンパイルされたバイナリー (\*.so) を使用します。

VLLM_TEST_USE_PRECOMPILED_NIGHTLY_WHEEL

テスト用に Python ビルドで毎晩作成される wheel を強制的に使用するかどうか。

CMAKE_BUILD_TYPE

CMake ビルドタイプ。利用可能なオプション: "Debug", "Release", "RelWithDebInfo"。

VERBOSE

設定されている場合、AI Inference Server はインストール中に詳細なログを出力します。

VLLM_CONFIG_ROOT

AI Inference Server 設定ファイルのルートディレクトリー。

VLLM_CACHE_ROOT

AI Inference Server キャッシュファイルのルートディレクトリー。

VLLM_HOST_IP

分散環境で現在のノードの IP アドレスを決定するために使用されます。

VLLM_PORT

分散環境で通信ポートを手動で設定するために使用されます。

VLLM_RPC_BASE_PATH

フロントエンド API サーバーがマルチプロセスモードで実行されているときに IPC に使用されるパス。

VLLM_USE_MODELSCOPE

true の場合、Hugging Face Hub ではなく ModelScope からモデルがロードされます。

VLLM_RINGBUFFER_WARNING_INTERVAL

リングバッファーがいっぱいになったときに警告メッセージを記録する間隔 (秒)。

CUDA_HOME

cudatoolkit ホームディレクトリーへのパス。このディレクトリーの下に bin、include、lib ディレクトリーがあります。

VLLM_NCCL_SO_PATH

NCCL ライブラリーファイルへのパス。PyTorch のバグのため、NCCL バージョン 2.19 以降で必要です。

LD_LIBRARY_PATH

VLLM_NCCL_SO_PATH が設定されていない場合に使用され、AI Inference Server はこのパスで NCCL ライブラリーを見つけようとします。

VLLM_USE_TRITON_FLASH_ATTN

AI Inference Server で Triton Flash Attention を使用するかどうかを制御するフラグ。

VLLM_FLASH_ATTN_VERSION

AI Inference Server に特定の flash-attention バージョン (2 または 3) を使用するように強制します。これは flash-attention バックエンドでのみ有効です。

VLLM_TEST_DYNAMO_FULLGRAPH_CAPTURE

Dynamo フルグラフキャプチャーを有効にする内部フラグ。

LOCAL_RANK

分散設定におけるプロセスのローカルランク。GPU デバイス ID を決定するために使用されます。

CUDA_VISIBLE_DEVICES

分散設定で可視デバイスを制御するために使用されます。

VLLM_ENGINE_ITERATION_TIMEOUT_S

エンジン内の反復ごとのタイムアウト。

VLLM_API_KEY

AI Inference Server API サーバーの API キー。

S3_ACCESS_KEY_ID

tensorizer が S3 からモデルをロードするための S3 アクセスキー ID。

S3_SECRET_ACCESS_KEY

tensorizer が S3 からモデルをロードするための S3 シークレットアクセスキー。

S3_ENDPOINT_URL

tensorizer が S3 からモデルをロードするための S3 エンドポイント URL。

VLLM_USAGE_STATS_SERVER

AI Inference Server 使用統計サーバーの URL。

VLLM_NO_USAGE_STATS

true の場合、使用状況統計の収集が無効になります。

VLLM_DO_NOT_TRACK

true の場合、AI Inference Server 使用状況統計の追跡を無効にします。

VLLM_USAGE_SOURCE

使用状況統計収集のソース。

VLLM_CONFIGURE_LOGGING

1 に設定すると、AI Inference Server はデフォルトの設定または指定された設定パスを使用してロギングを設定します。

VLLM_LOGGING_CONFIG_PATH

ロギング設定ファイルへのパス。

VLLM_LOGGING_LEVEL

vLLM のデフォルトのログレベル。

VLLM_LOGGING_PREFIX

設定されている場合、AI Inference Server はこの接頭辞をすべてのログメッセージの先頭に追加します。

VLLM_LOGITS_PROCESSOR_THREADS

カスタムの logits プロセッサーに使用されるスレッドの数。

VLLM_TRACE_FUNCTION

1 に設定すると、AI Inference Server はデバッグ用に関数呼び出しをトレースします。

VLLM_ATTENTION_BACKEND

注意計算のバックエンド (例: "TORCH_SDPA", "FLASH_ATTN", "XFORMERS")。

VLLM_USE_FLASHINFER_SAMPLER

設定されている場合、AI Inference Server は FlashInfer サンプラーを使用します。

VLLM_FLASHINFER_FORCE_TENSOR_CORES

FlashInfer にテンソルコアの使用を強制します。それ以外の場合はヒューリスティックを使用します。

VLLM_PP_LAYER_PARTITION

パイプラインステージのパーティションストラテジー。

VLLM_CPU_KVCACHE_SPACE

CPU キー値キャッシュスペース (デフォルトは 4GB)。

VLLM_CPU_OMP_THREADS_BIND

OpenMP スレッドによってバインドされる CPU コア ID。

VLLM_CPU_MOE_PREPACK

サポートされていない CPU 上の MoE レイヤーにプレパックを使用するかどうか。

VLLM_OPENVINO_DEVICE

OpenVINO デバイスの選択 (デフォルトは CPU)。

VLLM_OPENVINO_KVCACHE_SPACE

OpenVINO キー値キャッシュスペース (デフォルトは 4GB)。

VLLM_OPENVINO_CPU_KV_CACHE_PRECISION

OpenVINO KV キャッシュの精度。

VLLM_OPENVINO_ENABLE_QUANTIZED_WEIGHTS

HF Optimum を使用してモデルのエクスポート中に重みの圧縮を有効にします。

VLLM_USE_RAY_SPMD_WORKER

すべてのワーカーでの実行に Ray SPMD ワーカーを有効にします。

VLLM_USE_RAY_COMPILED_DAG

Ray が提供する Compiled Graph API を使用して、コントロールプレーンのオーバーヘッドを最適化します。

VLLM_USE_RAY_COMPILED_DAG_NCCL_CHANNEL

Ray が提供するコンパイル済みグラフで NCCL 通信を有効にします。

VLLM_USE_RAY_COMPILED_DAG_OVERLAP_COMM

Ray が提供するコンパイル済みグラフで GPU 通信のオーバーラップを有効にします。

VLLM_WORKER_MULTIPROC_METHOD

マルチプロセスワーカーの方法 (例: "fork") を指定します。

VLLM_ASSETS_CACHE

ダウンロードしたアセットを保存するためのキャッシュへのパス。

VLLM_IMAGE_FETCH_TIMEOUT

マルチモーダルモデルを提供するときにイメージを取得するためのタイムアウト (デフォルトは 5 秒)。

VLLM_VIDEO_FETCH_TIMEOUT

マルチモーダルモデルを提供するときにビデオを取得するためのタイムアウト (デフォルトは 30 秒)。

VLLM_AUDIO_FETCH_TIMEOUT

マルチモーダルモデルを提供するときにオーディオを取得するためのタイムアウト (デフォルトは 10 秒)。

VLLM_MM_INPUT_CACHE_GIB

マルチモーダルの入力キャッシュのキャッシュサイズ (GiB 単位) (デフォルトは 8GiB)。

VLLM_XLA_CACHE_PATH

XLA 永続キャッシュディレクトリーへのパス (XLA デバイスのみ)。

VLLM_XLA_CHECK_RECOMPILATION

設定されている場合、各実行ステップの後に XLA の再コンパイルをアサートします。

VLLM_FUSED_MOE_CHUNK_SIZE

融合された MoE レイヤーのチャンクサイズ (デフォルトは 32768)。

VLLM_NO_DEPRECATION_WARNING

true の場合、非推奨の警告をスキップします。

VLLM_KEEP_ALIVE_ON_ENGINE_DEATH

true の場合、エンジンエラーが発生した後でも OpenAI API サーバーを稼働状態に保ちます。

VLLM_ALLOW_LONG_MAX_MODEL_LEN

モデルのデフォルトの長さよりも大きい最大シーケンス長を指定できます。

VLLM_TEST_FORCE_FP8_MARLIN

ハードウェアのサポートに関係なく、FP8 量子化に FP8 Marlin を強制的に指定します。

VLLM_TEST_FORCE_LOAD_FORMAT

特定のロード形式を強制的に指定します。

VLLM_RPC_TIMEOUT

バックエンドサーバーからレスポンスを取得するタイムアウト。

VLLM_PLUGINS

ロードするプラグインの一覧。

VLLM_TORCH_PROFILER_DIR

Torch プロファイラートレースを保存するためのディレクトリー。

VLLM_USE_TRITON_AWQ

設定されている場合、AWQ の Triton 実装が使用されます。

VLLM_ALLOW_RUNTIME_LORA_UPDATING

設定されている場合、実行時に Lora アダプターの更新を許可します。

VLLM_SKIP_P2P_CHECK

ピアツーピア機能チェックをスキップします。

VLLM_DISABLED_KERNELS

パフォーマンス比較のために無効にする量子化カーネルのリスト。

VLLM_USE_V1

設定されている場合、V1 コードパスが使用されます。

VLLM_ROCM_FP8_PADDING

ROCm の FP8 重みを 256 バイトにパディングします。

Q_SCALE_CONSTANT

FP8 KV キャッシュの動的クエリースケール係数計算の除数。

K_SCALE_CONSTANT

FP8 KV キャッシュの動的キースケール係数計算用の除数。

V_SCALE_CONSTANT

FP8 KV キャッシュの動的値スケール係数計算用の除数。

VLLM_ENABLE_V1_MULTIPROCESSING

設定されている場合、V1 コードパスの LLM でマルチプロセッシングが有効になります。

VLLM_LOG_BATCHSIZE_INTERVAL

バッチサイズを記録する時間間隔。

VLLM_SERVER_DEV_MODE

設定されている場合、AI Inference Server は開発モードで実行され、デバッグ用の追加エンドポイント (例: /reset_prefix_cache) が有効になります。

VLLM_V1_OUTPUT_PROC_CHUNK_SIZE

V1 AsyncLLM インターフェイスでトークンごとの出力を処理するために、単一の asyncio タスクで処理するリクエストの最大数を制御します。これは、同時多発的なストリーミングリクエストに影響します。

VLLM_MLA_DISABLE

設定されている場合、AI Inference Server は MLA アテンション最適化を無効にします。

VLLM_ENABLE_MOE_ALIGN_BLOCK_SIZE_TRITON

設定されている場合、AI Inference Server は moe_align_block_size の Triton 実装を使用します (例: fused_moe.pymoe_align_block_size_triton)。

VLLM_RAY_PER_WORKER_GPUS

Ray のワーカーあたりの GPU の数。Ray が単一の GPU 上で複数のアクターをスケジュールできるように、小数に指定できます。

VLLM_RAY_BUNDLE_INDICES

各ワーカーの Ray バンドルに使用されるインデックスを指定します。形式: 整数のコンマ区切りリスト (例: "0,1,2,3")。

VLLM_CUDART_SO_PATH

find_loaded_library() メソッドが正しく動作しない可能性がある場合に、そのパスを指定します。VLLM_CUDART_SO_PATH 環境変数を使用して設定します。

VLLM_USE_HPU_CONTIGUOUS_CACHE_FETCH

Gaudi3 でコストのかかる収集操作を回避するために、連続したキャッシュのフェッチを有効にします。HPU 連続キャッシュのみが対象です。

VLLM_DP_RANK

データ並列設定におけるプロセスのランク。

VLLM_DP_SIZE

データ並列設定のワールドサイズ。

VLLM_DP_MASTER_IP

データ並列設定におけるマスターノードの IP アドレス。

VLLM_DP_MASTER_PORT

データ並列設定におけるマスターノードのポート。

VLLM_CI_USE_S3

RunAI Streamer を使用して CI でモデルをロードするために S3 パスを使用するかどうか。

VLLM_MARLIN_USE_ATOMIC_ADD

gptq/awq marlin カーネルで atomicAdd reduce を使用するかどうか。

VLLM_V0_USE_OUTLINES_CACHE

V0 のアウトラインキャッシュをオンにするかどうか。このキャッシュは上限がなく、ディスク上にあるため、悪意のあるユーザーが含まれる環境では安全ではありません。

VLLM_TPU_DISABLE_TOPK_TOPP_OPTIMIZATION

設定されている場合、top-k および top-p サンプリングに対する TPU 固有の最適化が無効になります。

第4章 AI Inference Server のメトリクスの表示

vLLM は、AI Inference Server OpenAI 互換 API サーバーの /metrics エンドポイントを介してさまざまなメトリクスを公開します。

Python または Docker を使用してサーバーを起動できます。

手順

  1. AI Inference Server サーバーを起動し、次の例に示すようにモデルを読み込みます。このコマンドは、OpenAI 互換 API も公開します。

    $ vllm serve unsloth/Llama-3.2-1B-Instruct
    Copy to Clipboard Toggle word wrap
  2. OpenAI 互換 API の /metrics エンドポイントをクエリーして、サーバーから最新のメトリクスを取得します。

    $ curl http://0.0.0.0:8000/metrics
    Copy to Clipboard Toggle word wrap

    出力例

    # HELP vllm:iteration_tokens_total Histogram of number of tokens per engine_step.
    # TYPE vllm:iteration_tokens_total histogram
    vllm:iteration_tokens_total_sum{model_name="unsloth/Llama-3.2-1B-Instruct"} 0.0
    vllm:iteration_tokens_total_bucket{le="1.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
    vllm:iteration_tokens_total_bucket{le="8.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
    vllm:iteration_tokens_total_bucket{le="16.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
    vllm:iteration_tokens_total_bucket{le="32.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
    vllm:iteration_tokens_total_bucket{le="64.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
    vllm:iteration_tokens_total_bucket{le="128.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
    vllm:iteration_tokens_total_bucket{le="256.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
    vllm:iteration_tokens_total_bucket{le="512.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
    #...
    Copy to Clipboard Toggle word wrap

第5章 AI Inference Server メトリクス

AI Inference Server は、システム健全性の監視に使用できる vLLM メトリクスを公開します。

Expand
表5.1 vLLM メトリクス
メトリクス名説明

vllm:num_requests_running

現在 GPU 上で実行中のリクエストの数。

vllm:num_requests_waiting

処理を待機しているリクエストの数。

vllm:lora_requests_info

LoRA リクエストに関する統計を実行しています。

vllm:num_requests_swapped

CPU にスワップされたリクエストの数。非推奨: KV キャッシュオフロードは V1 では使用されません。

vllm:gpu_cache_usage_perc

GPU KV キャッシュの使用量。値が 1 の場合、使用率は 100% になります。

vllm:cpu_cache_usage_perc

CPU KV キャッシュの使用量。値が 1 の場合、使用率は 100% になります。非推奨: KV キャッシュオフロードは V1 では使用されません。

vllm:cpu_prefix_cache_hit_rate

CPU 接頭辞キャッシュブロックのヒット率。非推奨: KV キャッシュオフロードは V1 では使用されません。

vllm:gpu_prefix_cache_hit_rate

GPU 接頭辞キャッシュブロックのヒット率。非推奨: V1 では vllm:gpu_prefix_cache_queriesvllm:gpu_prefix_cache_hits を使用してください。

vllm:num_preemptions_total

エンジンからのプリエンプションの累計数。

vllm:prompt_tokens_total

処理された事前入力トークンの合計数。

vllm:generation_tokens_total

処理された生成トークンの合計数。

vllm:iteration_tokens_total

エンジンステップごとのトークン数のヒストグラム。

vllm:time_to_first_token_seconds

最初のトークンまでの時間 (秒) のヒストグラム。

vllm:time_per_output_token_seconds

出力トークンあたりの時間 (秒) のヒストグラム。

vllm:e2e_request_latency_seconds

エンドツーエンドのリクエスト遅延のヒストグラム (秒単位)。

vllm:request_queue_time_seconds

リクエストが WAITING フェーズにある時間を示すヒストグラム。

vllm:request_inference_time_seconds

リクエストが RUNNING フェーズにある時間を示すヒストグラム。

vllm:request_prefill_time_seconds

リクエストが PREFILL フェーズにある時間を示すヒストグラム。

vllm:request_decode_time_seconds

リクエストが DECODE フェーズにある時間を示すヒストグラム。

vllm:time_in_queue_requests

リクエストがキュー内にいた時間 (秒単位) を示すヒストグラム。非推奨: 代わりに vllm:request_queue_time_seconds を使用してください。

vllm:model_forward_time_milliseconds

モデルの順伝播工程に費やされた時間 (ミリ秒単位) を示すヒストグラム。非推奨: 代わりに、事前入力/デコード/推論時間のメトリクスを使用してください。

vllm:model_execute_time_milliseconds

モデル実行関数に費やされた時間 (ミリ秒単位) を示すヒストグラム。非推奨: 代わりに、事前入力/デコード/推論時間のメトリクスを使用してください。

vllm:request_prompt_tokens

処理された事前入力トークンの数のヒストグラム。

vllm:request_generation_tokens

処理された世代トークンの数のヒストグラム。

vllm:request_max_num_generation_tokens

要求された生成トークンの最大数のヒストグラム。

vllm:request_params_n

n 番目のリクエストパラメーターのヒストグラム。

vllm:request_params_max_tokens

max_tokens リクエストパラメーターのヒストグラム。

vllm:request_success_total

正常に処理されたリクエストの数。

vllm:spec_decode_draft_acceptance_rate

推測的なトークンの受け入れ率。

vllm:spec_decode_efficiency

推測的デコーディングのシステム効率。

vllm:spec_decode_num_accepted_tokens_total

受け入れられたトークンの合計数。

vllm:spec_decode_num_draft_tokens_total

ドラフトトークンの合計数。

vllm:spec_decode_num_emitted_tokens_total

発行されたトークンの合計数。

第6章 非推奨のメトリクス

次のメトリクスは非推奨になり、AI Inference Server の今後のバージョンでは削除される予定です。

  • vllm:num_requests_swapped
  • vllm:cpu_cache_usage_perc
  • vllm:cpu_prefix_cache_hit_rate (KV キャッシュオフロードは V1 では使用されません)。
  • vllm:gpu_prefix_cache_hit_rate。このメトリクスは、V1 では queries+hits カウンターに置き換えられます。
  • vllm:time_in_queue_requests。このメトリクスは vllm:request_queue_time_seconds によって複製されます。
  • vllm:model_forward_time_milliseconds
  • vllm:model_execute_time_milliseconds。代わりに、事前入力、デコード、または推論時間のメトリクスを使用する必要があります。
重要

バージョン X.Y でメトリクスが非推奨になると、バージョン X.Y+1 では非表示になりますが、--show-hidden-metrics-for-version=X.Y エスケープハッチを使用して再度有効化できます。非推奨のメトリクスは、次のバージョン X.Y+2 で完全に削除されます。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat