vLLM のサーバー引数


Red Hat AI Inference Server 3.1

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

Red Hat AI Documentation Team

概要

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

はじめに

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

このドキュメントではまず、vllm serve コマンドで使用する最も重要なサーバー引数のリストを紹介します。vllm serve 引数、環境変数、サーバーメトリクスの完全なリストも提供されます。

第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" \
--env=VLLM_NO_USAGE_STATS=1 \
-v ./rhaiis-cache:/opt/app-root/src/.cache \
registry.redhat.io/rhaiis/vllm-cuda-rhel9:3.1.0 \
--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 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.2. 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.3. vllm serve の引数

vLLM OpenAI 互換 API サーバーを起動します。

$ vllm serve [model_tag] [options]
Copy to Clipboard Toggle word wrap
ヒント

vllm [serve|run-batch] --help=<keyword> を使用して、ヘルプで引数を確認します。

  • 引数グループを表示する: --help=ModelConfig
  • 単一の引数を表示する: --help=max-num-seqs
  • キーワードで検索する: --help=max
  • すべてのグループをリスト表示する: --help=listgroup

2.3.1. 位置引数

model_tag

サービングするモデルタグ。設定で指定されている場合はオプションです。

デフォルト: None

2.3.2. オプション

--allow-credentials

認証情報を許可します。

デフォルト: False

--allowed-headers ALLOWED_HEADERS

使用可能なヘッダー。

デフォルト: ['*']

--allowed-methods ALLOWED_METHODS

使用可能なメソッド。

デフォルト: ['*']

--allowed-origins ALLOWED_ORIGINS

使用可能なオリジン。

デフォルト: ['*'])

--api-key API_KE

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

デフォルト: None

--api-server-count API_SERVER_COUNT, -asc API_SERVER_COUNT

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

デフォルト: 1

--chat-template CHAT_TEMPLATE

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

デフォルト: None

--chat-template-content-format {auto,string,openai}

チャットテンプレート内でメッセージコンテンツをレンダリングする形式。* "string" は、コンテンツを文字列としてレンダリングします。例: "Hello World" * "openai" は、OpenAI スキーマに似たディクショナリーのリストとしてコンテンツをレンダリングします。例: [{"type": "text"、"text": "Hello world!"}]

デフォルト: auto

--config CONFIG

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

デフォルト:

--data-parallel-start-rank DATA_PARALLEL_START_RANK, -dpr DATA_PARALLEL_START_RANK

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

デフォルト: 0

--disable-fastapi-docs

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

デフォルト: False

--disable-frontend-multiprocessing

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

デフォルト: False

--disable-log-requests

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

デフォルト: False

--disable-log-stats

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

デフォルト: False

--disable-uvicorn-access-log

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

デフォルト: False

--enable-auto-tool-choice

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

デフォルト: False

--enable-prompt-tokens-details

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

デフォルト: False

--enable-request-id-headers

指定すると、API サーバーは応答に X-Request-Id ヘッダーを追加します。注意: これにより、高 QPS でのパフォーマンスが低下します。

デフォルト: False

--enable-server-load-tracking

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

デフォルト: False

--enable-ssl-refresh

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

デフォルト: False

--headless

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

デフォルト: False

--host HOST

ホスト名。

デフォルト: None

--log-config-file LOG_CONFIG_FILE

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

デフォルト: None

--lora-modules LORA_MODULES [LORA_MODULES …​]

name=path 形式または JSON 形式の LoRA モジュール設定。例 (古い形式): name=path。例 (新しい形式): {"name": "name", "path": "lora_path", "base_model_name": "id"}

デフォルト: None

--max-log-len MAX_LOG_LEN

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

デフォルト: None

--middleware MIDDLEWARE

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

デフォルト: []

--port PORT Port number.

+ デフォルト: 8000

--prompt-adapters PROMPT_ADAPTERS [PROMPT_ADAPTERS …​]

name=path の形式でアダプター設定をプロンプトします。複数のアダプターを指定できます。

デフォルト: None

--response-role RESPONSE_ROLE

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

デフォルト: assistant

--return-tokens-as-token-ids

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

デフォルト: False

--root-path ROOT_PATH

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

デフォルト: None

--ssl-ca-certs SSL_CA_CERTS

CA 証明書ファイル。

デフォルト: None

--ssl-cert-reqs SSL_CERT_REQS

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

デフォルト: 0

--ssl-certfile SSL_CERTFILE

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

デフォルト: None

--ssl-keyfile SSL_KEYFILE

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

デフォルト: None

--tool-call-parser {deepseek_v3,granite-20b-fc,granite,hermes,internlm,jamba,llama4_pythonic,llama4_json,llama3_json,mistral,phi4_mini_json,pythonic}

または --tool-parser-plugin に登録された名前。使用しているモデルに応じてツール呼び出しパーサーを選択します。これは、モデルによって生成されたツール呼び出しを OpenAI API 形式に解析するために使用されます。--enable-auto-tool-choice に必須です。

デフォルト: None

--tool-parser-plugin TOOL_PARSER_PLUGIN

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

デフォルト:

--use-v2-block-manager

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

デフォルト: True

--uvicorn-log-level {debug,info,warning,error,critical,trace}
uvicorn のログレベル。

2.3.3. モデル設定

--allowed-local-media-path ALLOWED_LOCAL_MEDIA_PATH

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

デフォルト:

--code-revision CODE_REVISION

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

デフォルト: None

--config-format {auto,hf,mistral}

ロードするモデル設定の形式: * auto は、使用可能な場合は hf 形式で、そうでない場合は mistral 形式で設定をロードしようとします。* hf は、hf 形式で設定をロードします。* mistral は、設定を mistral 形式で読み込みます。

デフォルト: auto

--disable-async-output-proc

非同期の出力処理を無効にします。これにより、パフォーマンスが低下する可能性があります。

デフォルト: False

--disable-cascade-attn, --no-disable-cascade-attn

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

デフォルト: False

--disable-sliding-window, --no-disable-sliding-window

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

デフォルト: False

--dtype {auto,bfloat16,float,float16,float32,half}

モデルの重みとアクティベーションのデータ型: * auto は、FP32 および FP16 モデルの場合は FP16 精度を使用し、BF16 モデルの場合は BF16 精度を使用します。* half は、半精度の FP16 を使用します。AWQ 量子化に推奨されます。* float16 は "half" と同じです。* bfloat16 は精度と範囲の間のバランスを取ります。* float は FP32 の精度の省略形です。* FP32 精度の場合は float32 を使用します。

デフォルト: auto

--enable-prompt-embeds, --no-enable-prompt-embeds

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

デフォルト: False

--enable-sleep-mode, --no-enable-sleep-mode

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

デフォルト: False

--enforce-eager, --no-enforce-eager

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

デフォルト: False

--generation-config GENERATION_CONFIG

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

デフォルト: auto

--hf-config-path HF_CONFIG_PATH

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

デフォルト: None

--hf-overrides HF_OVERRIDES

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

デフォルト: {}

--hf-token [HF_TOKEN]

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

デフォルト: None

--logits-processor-pattern LOGITS_PROCESSOR_PATTERN

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

デフォルト: None

--max-logprobs MAX_LOGPROBS

SamplingParamslogprobs が指定された場合に返される対数確率の最大数。デフォルト値は、OpenAI Chat Completions API のデフォルトになります。

デフォルト: 20

--max-model-len MAX_MODEL_LEN

モデルコンテキストの長さ (プロンプトと出力)。指定されていない場合は、モデル設定から自動的に派生されます。--max-model-len 経由で渡す場合、人間が読める形式の k/m/g/K/M/G をサポートします。例: * 1k → 1000 * 1K → 1024 * 25.6k → 25,600

デフォルト: None

--max-seq-len-to-capture MAX_SEQ_LEN_TO_CAPTURE

CUDA グラフでカバーされる最大シーケンス len。シーケンスのコンテキスト長がこれより大きい場合、Eager モードにフォールバックします。さらに、エンコーダー/デコーダーモデルの場合、エンコーダー入力のシーケンス長がこれより大きい場合、Eager モードにフォールバックします。

デフォルト: 8192

--model MODEL

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

デフォルト: facebook/opt-125m

--model-impl {auto,vllm,transformers}

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

デフォルト: auto

--override-generation-config OVERRIDE_GENERATION_CONFIG

オーバーライドまたは生成設定を設定します。例 : {"temperature": 0.5}--generation-config auto と使用すると、オーバーライドパラメーターはモデルのデフォルト設定とマージされます。-generation-config vllm と使用すると、オーバーライドパラメーターのみが使用されます。有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。たとえば、* --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}' * --json-arg.key1 value1 --json-arg.key2.key3 value2 の引数のセットは同じです。

デフォルト: {}

--override-neuron-config OVERRIDE_NEURON_CONFIG

デフォルト以外のニューロン設定を初期化するか、Neuron デバイスに固有のデフォルトの neuron config をオーバーライドします。この引数は、vllm 引数から収集できない neuron config を設定するために使用されます。例 : {"cast_logits_dtype": "bfloat16"}。有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。たとえば、* --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}' * --json-arg.key1 value1 --json-arg.key2.key3 value2 の引数のセットは同じです。

デフォルト: {}

--override-pooler-config OVERRIDE_POOLER_CONFIG

デフォルト以外のプーリング設定を初期化するか、プーリングモデルのデフォルトのプーリング設定をオーバーライドします。例: {"pooling_type": "mean", "normalize": false}

デフォルト: None

--quantization {aqlm,auto-round,awq, …​}, -q

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

デフォルト: None

--revision REVISION

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

デフォルト: None

--rope-scaling ROPE_SCALING

RoPE スケーリング設定。例: {"rope_type":"dynamic","factor":2.0}。有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。たとえば、* --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}' * --json-arg.key1 value1 --json-arg.key2.key3 value2 の引数のセットは同じです。

デフォルト: {}

--rope-theta ROPE_THETA

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

デフォルト: None

--seed SEED

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

デフォルト: None

--served-model-name SERVED_MODEL_NAME [SERVED_MODEL_NAME …​]

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

デフォルト: None

--skip-tokenizer-init, --no-skip-tokenizer-init

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

デフォルト: False

--task {auto,classify,draft,embed,embedding,generate,reward,score,transcription}

モデルを使用するタスク。同じモデルを複数のタスクに使用できる場合でも、各 vLLM インスタンスは 1 つのタスクのみをサポートします。モデルが 1 つのタスクのみをサポートする場合は、auto を使用してそのタスクを選択できます。それ以外の場合は、使用するタスクを明示的に指定する必要があります。

デフォルト: auto

--tokenizer TOKENIZER

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

デフォルト: None

--tokenizer-mode {auto,custom,mistral,slow}

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

デフォルト: auto

--tokenizer-revision TOKENIZER_REVISION

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

デフォルト: None

--trust-remote-code, --no-trust-remote-code

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

デフォルト: False

2.3.4. モデルの負荷設定

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

--download-dir DOWNLOAD_DIR

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

デフォルト: None

--ignore-patterns IGNORE_PATTERNS [IGNORE_PATTERNS …​]

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

デフォルト: None

--load-format {auto,pt,safetensors, …​}

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

  • 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

--model-loader-extra-config MODEL_LOADER_EXTRA_CONFIG

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

デフォルト: {}

--pt-load-map-location PT_LOAD_MAP_LOCATION

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

デフォルト: cpu

--qlora-adapter-name-or-path QLORA_ADAPTER_NAME_OR_PATH

--qlora-adapter-name-or-path は効果がなく、設定しないでください。v0.10.0 で削除されます。

デフォルト: None

--use-tqdm-on-load, --no-use-tqdm-on-load

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

デフォルト: True

2.3.5. デコード設定

エンジンのデコードストラテジーを含むデータクラス。

--enable-reasoning, --no-enable-reasoning

[非推奨] --enable-reasoning フラグは v0.9.0 の時点で非推奨になりました。代わりに、use-- reasoning-parser を使用して、推論するパーサーのバックエンドを指定します。このフラグ (--enable-reasoning) は v0.10.0 で削除されます。--reasoning-parser を指定すると、推論モードが自動的に有効になります。

デフォルト: None

--guided-decoding-backend {auto,guidance,lm-format-enforcer,outlines,xgrammar}

ガイド付きデコード (JSON スキーマ/正規表現など) にデフォルトで使用されるエンジン。auto では、リクエストの内容とバックエンドライブラリーが現在サポートしている内容に基づいて独自の選択を行うため、リリースごとに動作が変更される場合があります。

デフォルト: auto

--guided-decoding-disable-additional-properties, --no-guided-decoding-disable-additional-properties

True の場合、guidance バックエンドは JSON スキーマ内の additionalProperties を使用しません。これは guidance バックエンドでのみサポートされ、その動作を outlines および xgrammar に合わせるために使用されます。

デフォルト: False

--guided-decoding-disable-any-whitespace, --no-guided-decoding-disable-any-whitespace

True の場合、このモデルはガイド付きのデコード中に空白が生成されません。これは、xgrammar および guidance バックエンドでのみサポートされます。

デフォルト: False

--guided-decoding-disable-fallback, --no-guided-decoding-disable-fallback

True の場合、vLLM はエラー時に別のバックエンドにフォールバックしません。

デフォルト: False

--reasoning-parser {deepseek_r1,granite,qwen3}

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

デフォルト:

2.3.6. 並列設定

分散実行の設定。

--data-parallel-address DATA_PARALLEL_ADDRESS, -dpa DATA_PARALLEL_ADDRESS

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

デフォルト: None

--data-parallel-backend DATA_PARALLEL_BACKEND, -dpb DATA_PARALLEL_BACKEND

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

デフォルト: mp

--data-parallel-rpc-port DATA_PARALLEL_RPC_PORT, -dpp DATA_PARALLEL_RPC_PORT

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

デフォルト: None

--data-parallel-size DATA_PARALLEL_SIZE, -dp DATA_PARALLEL_SIZE

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

デフォルト: 1

--data-parallel-size-local DATA_PARALLEL_SIZE_LOCAL, -dpl DATA_PARALLEL_SIZE_LOCAL

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

デフォルト: None

--disable-custom-all-reduce, --no-disable-custom-all-reduce

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

デフォルト: False

--distributed-executor-backend {external_launcher,mp,ray,uni,None}

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

デフォルト: None

--enable-expert-parallel, --no-enable-expert-parallel

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

デフォルト: False

--enable-multimodal-encoder-data-parallel, --no-enable-multimodal-encoder-data-parallel

ビジョンエンコーダーにはテンソル並列処理ではなくデータ並列処理を使用します。現時点では LLama4 のみサポートしています

デフォルト: False

--max-parallel-loading-workers MAX_PARALLEL_LOADING_WORKERS

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

デフォルト: None

--pipeline-parallel-size PIPELINE_PARALLEL_SIZE, -pp PIPELINE_PARALLEL_SIZE

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

デフォルト: 1

--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

--tensor-parallel-size TENSOR_PARALLEL_SIZE, -tp TENSOR_PARALLEL_SIZE

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

デフォルト: 1

--worker-cls WORKER_CLS

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

デフォルト: auto

--worker-extension-cls WORKER_EXTENSION_CLS

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

デフォルト:

2.3.7. キャッシュ設定

KV キャッシュの設定。

--block-size {1,8,16,32,64,128}

連続するキャッシュブロックのサイズ (トークン数)。これは neuron デバイスで無視され、--max-model-len に設定されます。CUDA デバイスでは、最大 32 のブロックサイズのみがサポートされます。HPU デバイスでは、ブロックサイズのデフォルトは 128 です。この設定には静的なデフォルトはありません。ユーザーが指定しない場合は、現在のプラットフォームに基づいて Platform.check_and_update_configs() で設定されます。

デフォルト: None

--calculate-kv-scales, --no-calculate-kv-scales

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

デフォルト: False

--cpu-offload-gb 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

--enable-prefix-caching, --no-enable-prefix-caching

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

デフォルト: None

--gpu-memory-utilization GPU_MEMORY_UTILIZATION

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

デフォルト: 0.9

--kv-cache-dtype {auto,fp8,fp8_e4m3,fp8_e5m2}

kv キャッシュストレージのデータタイプ。auto の場合は、モデルデータ型を使用します。CUDA 11.8 以降は fp8 (=fp8_e4m3) および fp8_e5m2 をサポートします。ROCm (AMD GPU) は fp8 (=fp8_e4m3) をサポートします。

デフォルト: auto

--num-gpu-blocks-override NUM_GPU_BLOCKS_OVERRIDE

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

デフォルト: None

--prefix-caching-hash-algo {builtin,sha256}

接頭辞キャッシュのハッシュアルゴリズムを設定します。* "builtin" は Python の組み込みハッシュです。* "sha256" は競合耐性がありますが、一定のオーバーヘッドがあります。

デフォルト: builtin

--swap-space SWAP_SPACE

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

デフォルト: 4

2.3.8. マルチモーダルモデル設定

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

--disable-mm-preprocessor-cache, --no-disable-mm-preprocessor-cache

True の場合、処理されたマルチモーダル入力のキャッシュを無効にします。

デフォルト: False

--limit-mm-per-prompt LIMIT_MM_PER_PROMPT

各モダリティーのプロンプトごとに許容可能な入力項目の最大数。各モダリティのデフォルトは 1 (V0) または 999 (V1) です。たとえば、プロンプトごとに最大 16 枚の画像と 2 本のビデオ ({"images": 16、"videos": 2}) を許可するには、有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。たとえば、* --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}' * --json-arg.key1 value1 --json-arg.key2.key3 value2 の引数のセットは同じです。

デフォルト: {}

--mm-processor-kwargs MM_PROCESSOR_KWARGS

transformers.AutoProcessor.from_pretrained から取得されたマルチモーダルプロセッサーのオーバーライド。使用可能なオーバーライドは、実行中のモデルによって異なります。たとえば、Phi-3-Vision の場合: {"num_crops": 4}。有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。たとえば、* --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}' * --json-arg.key1 value1 --json-arg.key2.key3 value2 の引数のセットは同じです。

デフォルト: None

2.3.9. LoRA 設定

--enable-lora, --no-enable-lora

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

デフォルト: None

--enable-lora-bias, --no-enable-lora-bias

LoRA アダプターのバイアスを有効にします。

デフォルト: False

--fully-sharded-loras, --no-fully-sharded-loras

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

デフォルト: False

--long-lora-scaling-factors LONG_LORA_SCALING_FACTORS [LONG_LORA_SCALING_FACTORS …​]

複数のスケーリング係数 (基本モデルのスケーリング係数とは異なる場合があります) を指定して、それらのスケーリング係数でトレーニングされた複数の LoRA アダプターを同時に使用できるようにします。指定しない場合は、基本モデルのスケーリング係数でトレーニングされたアダプターのみが許可されます。

デフォルト: None

--lora-dtype {auto,bfloat16,float16}

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

デフォルト: auto

--lora-extra-vocab-size LORA_EXTRA_VOCAB_SIZE

LoRA アダプターに存在できる追加語彙の最大サイズ (基本のモデル語彙に追加)。

デフォルト: 256

--max-cpu-loras MAX_CPU_LORAS

CPU メモリーに保存する LoRA の最大数。max_loras より大きくなければなりません。

デフォルト: None

--max-lora-rank MAX_LORA_RANK

最大 LoRA ランク。

デフォルト: 16

--max-loras MAX_LORAS

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

デフォルト: 1

2.3.10. プロンプトアダプター設定

--enable-prompt-adapter, --no-enable-prompt-adapter

True の場合は、PromptAdapters の処理を有効にします。

デフォルト: None

--max-prompt-adapter-token MAX_PROMPT_ADAPTER_TOKEN

PromptAdapters トークンの最大数。

デフォルト: 0

--max-prompt-adapters MAX_PROMPT_ADAPTERS

バッチの PromptAdapters の最大数。

デフォルト: 1

2.3.11. デバイス設定

--device {auto,cpu,CUDA,hpu,neuron,tpu,xpu}

vLLM 実行用のデバイスタイプ。このパラメーターは非推奨となっており、今後のリリースで削除されます。現在のプラットフォームに基づいて自動的に設定されるようになりました。

デフォルト: auto

2.3.12. 推測的デコーディングの設定

--speculative-config SPECULATIVE_CONFIG

推測的デコーディングの設定。JSON 文字列である必要があります。

デフォルト: None

2.3.13. 可観測性の設定

--collect-detailed-traces {all,model,worker,None} [{all,model,worker,None} …​]

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

デフォルト: None

--otlp-traces-endpoint OTLP_TRACES_ENDPOINT

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

デフォルト: None

--show-hidden-metrics-for-version SHOW_HIDDEN_METRICS_FOR_VERSION

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

デフォルト: None

2.3.14. スケジューラーの設定

--CUDA-graph-sizes CUDA_GRAPH_SIZES [CUDA_GRAPH_SIZES …​]

Cuda グラフのキャプチャーサイズ。デフォルトは 512 です。1. 1 つの値が指定されている場合、キャプチャーリストは [1, 2, 4] + [i for i in range(8, CUDA_graph_sizes + 1, 8)] 2 のパターンに従います。複数の値 (例: 1 2 128) が指定される場合、キャプチャーリストは指定のリストに従います。

デフォルト: 512

--disable-chunked-mm-input, --no-disable-chunked-mm-input

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

デフォルト: False

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

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

デフォルト: False

--enable-chunked-prefill, --no-enable-chunked-prefill

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

デフォルト: None

--long-prefill-token-threshold LONG_PREFILL_TOKEN_THRESHOLD

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

デフォルト: 0

--max-long-partial-prefills MAX_LONG_PARTIAL_PREFILLS

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

デフォルト: 1

--max-num-batched-tokens MAX_NUM_BATCHED_TOKENS

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

デフォルト: None

--max-num-partial-prefills MAX_NUM_PARTIAL_PREFILLS

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

デフォルト: 1

--max-num-seqs MAX_NUM_SEQS

1 回の反復で処理されるシーケンスの最大数。この設定には静的なデフォルトはありません。ユーザーが指定しない場合は、使用コンテキストに基づいて EngineArgs.create_engine_config で設定されます。

デフォルト: None

--multi-step-stream-outputs, --no-multi-step-stream-outputs

False の場合、マルチステップはすべてのステップの最後に出力をストリーミングします。

デフォルト: True

--num-lookahead-slots NUM_LOOKAHEAD_SLOTS

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

注記

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

+ デフォルト: 0

--num-scheduler-steps NUM_SCHEDULER_STEPS

スケジューラー呼び出しごとの最大のフォワードステップ数。

デフォルト: 1

--preemption-mode {recompute,swap,None}

スワップまたは再計算によってプリエンプションを実行するかどうか。指定されていない場合は、次のようにモードを決定します。スワップよりもオーバーヘッドが少ないため、デフォルトでは再計算を使用します。ただし、シーケンスグループに複数のシーケンス (ビーム検索など) がある場合、再計算は現在サポートされていません。このような場合は、代わりにスワッピングを使用します。

デフォルト: None

--scheduler-cls SCHEDULER_CLS

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

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

--scheduler-delay-factor SCHEDULER_DELAY_FACTOR

次のプロンプトをスケジュールする前に、遅延 (遅延係数 × 前回のプロンプトの遅延) を適用します。

デフォルト: 0.0

--scheduling-policy {fcfs,priority}

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

デフォルト: fcfs

2.3.15. vllm 設定

--additional-config ADDITIONAL_CONFIG

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

デフォルト: {}

--compilation-config COMPILATION_CONFIG, -O COMPILATION_CONFIG

モデル用の torch.compile 設定。数字 (0、1、2、3) の場合は最適化レベルとして解釈されます。

注記

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

従来のコンパイラーの慣例に従い、スペースなしの -O の使用もサポートされています。-O3-O 3 と同等です。完全なコンパイル設定は、{"level": 3、"CUDAgraph_capture_sizes": [1、2、4、8]} のように指定できます。有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。たとえば、* --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}' * --json-arg.key1 value1 --json-arg.key2.key3 value2 の引数のセットは同じです。

デフォルト:

{
  "level": 0,
  "debug_dump_path": "",
  "cache_dir": "",
  "backend": "",
  "custom_ops": [],
  "splitting_ops": [],
  "use_inductor": true,
  "compile_sizes": null,
  "inductor_compile_config": {
    "enable_auto_functionalized_v2": false
  },
  "inductor_passes": {},
  "use_CUDAgraph": true,
  "CUDAgraph_num_of_warmups": 0,
  "CUDAgraph_capture_sizes": null,
  "CUDAgraph_copy_inputs": false,
  "full_CUDA_graph": false,
  "max_capture_size": null,
  "local_cache_dir": null
}
Copy to Clipboard Toggle word wrap
--kv-events-config KV_EVENTS_CONFIG

イベント公開の設定。有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。たとえば、* --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}' * --json-arg.key1 value1 --json-arg.key2.key3 value2 の引数のセットは同じです。

デフォルト: None

--kv-transfer-config KV_TRANSFER_CONFIG

分散 KV キャッシュ転送の設定。有効な JSON 文字列または個別に渡される JSON キーのいずれかである必要があります。たとえば、* --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}' * --json-arg.key1 value1 --json-arg.key2.key3 value2 の引数のセットは同じです。

デフォルト: 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 環境変数
環境変数説明

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 キー値キャッシュスペース (デフォルトは 4 GB)。

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

© 2025 Red Hat