vLLM Serve パラメータ詳細解説

概要

vLLMのプロダクション向けサービス起動コマンドで、モデルをOpenAI互換APIに変換します。並列リクエスト、マルチGPU、量子化加速などの高度機能をサポート。

benchシリーズとの違い

  • bench latency/throughput - エンジン性能測定(ネットワーク無し)
  • bench serve - 実際のユーザー負荷テスト(ネットワーク含む)
  • serve - 本番環境での実際のリクエスト処理

パラメータ分類

基本設定: --host / --port / --api-key / --config
🔹 モデル設定: --model / --dtype / --quantization / --max-model-len
🔹 並列処理: -tp / -pp / -dp / --distributed-executor-backend
🔹 KVキャッシュ: --block-size / --gpu-memory-utilization / --enable-prefix-caching
🔹 マルチモーダル: --limit-mm-per-prompt / --mm-processor-kwargs
🔹 LoRA: --enable-lora / --max-loras / --max-lora-rank
🔹 スケジューリング: --max-num-batched-tokens / --enable-chunked-prefill
🔹 コンパイル最適化: --compilation-config / --optimization-level
🔹 ロギング: --enable-log-requests / --otlp-traces-endpoint

基本設定パラメータ

パラメータデフォルト説明例
--host127.0.0.1バインドIP0.0.0.0(全インターフェース)
--port8000ポート番号8080(競合回避)
--api-key-セキュリティ認証sk-xxx(必須)
--config-YAML設定ファイルserve_config.yaml

開発環境設定例

vllm serve \
  --model meta-llama/Llama-3-8b \
  --host 127.0.0.1 \
  --port 8000 \
  --dtype bfloat16

本番環境設定例

vllm serve \
  --model meta-llama/Llama-3-8b \
  --host 0.0.0.0 \
  --port 8080 \
  --api-key sk-abc123xyz \
  --dtype bfloat16 \
  --gpu-memory-utilization 0.9

モデル設定パラメータ

パラメータデフォルト説明例
--modelQwen/Qwen3-0.6Bモデル名またはパスmeta-llama/Llama-3-8b
--dtypeauto精度指定bfloat16(A100向け)
--quantization-量子化方法awq(4bit)
--max-model-len自動最大コンテキスト長4096(短い会話)

低GPU環境での設定

vllm serve \
  --model meta-llama/Llama-3-8b \
  --dtype float16 \
  --quantization awq \
  --max-model-len 4096 \
  --gpu-memory-utilization 0.85

並列処理パラメータ

パラメータ省略形説明例
--tensor-parallel-size-tpテンソル並列-tp 2(2GPU)
--pipeline-parallel-size-ppパイプライン並列-pp 2(80B+モデル)
--data-parallel-size-dpデータ並列-dp 4(高負荷対応)

70Bモデルの2GPU配置

vllm serve \
  --model meta-llama/Llama-3-70b \
  -tp 2 \
  --dtype bfloat16 \
  --gpu-memory-utilization 0.9

KVキャッシュ設定

パラメータデフォルト説明効果
--block-size自動ブロックサイズ16(メモリ節約)
--enable-prefix-cachingFalse接頭辞キャッシュマルチターン対話の30%高速化
--kv-cache-dtypeautoKVキャッシュ精度fp8(50%メモリ削減)

マルチターン対話の最適化

vllm serve \
  --model meta-llama/Llama-3-8b \
  --enable-prefix-caching \
  --block-size 16 \
  --kv-cache-dtype fp8

スケジューリングパラメータ

パラメータデフォルト説明例
--max-num-batched-tokens-バッチ処理トークン数8192(小規模モデル)
--enable-chunked-prefillFalseチャンク化事前充填長文入力の初出遅延改善
--scheduling-policyfcfsスケジューリング方式priority(VIP優先)

長文要約の設定

vllm serve \
  --model meta-llama/Llama-3-8b \
  --max-model-len 32768 \
  --enable-chunked-prefill \
  --max-num-batched-tokens 16384

高度な機能

LoRAアダプター

vllm serve \
  --model meta-llama/Llama-3-8b \
  --enable-lora \
  --max-loras 4 \
  --lora-modules medical=/path/to/medical_lora,legal=/path/to/legal_lora

マルチモーダルサポート

vllm serve \
  --model Qwen/Qwen2-VL-7B-Instruct \
  --limit-mm-per-prompt '{"image": 4}' \
  --mm-processor-kwargs '{"num_crops": 4}'

コンパイル最適化

vllm serve \
  --model meta-llama/Llama-3-8b \
  --optimization-level 3 \
  -cc '{"mode": 3, "cudagraph_capture_sizes": [1,2,4,8,16,32]}'

監視設定

パラメータデフォルト説明
--enable-log-requestsFalseリクエスト詳細ログ
--otlp-traces-endpoint-OpenTelemetryエンドポイント
--disable-log-statsFalseパフォーマンスログ無効化

Prometheus統合例

vllm serve \
  --model meta-llama/Llama-3-8b \
  --disable-log-stats \
  --uvicorn-log-level warning

トラブルシューティング

問題現象原因解決策
CUDAメモリ不足バッチサイズ過大--max-model-lenを減らす
401未承認APIキー未設定--api-keyを指定する
外からアクセス不可--hostが127.0.0.1--host 0.0.0.0に変更

タグ: vLLM パラメータチューニング GPU最適化 モデルデプロイ スケジューリング

10月13日 06:11 投稿