引擎引數#

引擎引數控制 vLLM 引擎的行為。

  • 對於離線推理,它們是 LLM 類的引數之一。

  • 對於線上服務,它們是 vllm serve 命令的引數之一。

下面,您可以找到每個引擎引數的解釋

usage: vllm serve [-h] [--model MODEL]
                  [--task {auto,generate,embedding,embed,classify,score,reward,transcription}]
                  [--tokenizer TOKENIZER] [--hf-config-path HF_CONFIG_PATH]
                  [--skip-tokenizer-init] [--revision REVISION]
                  [--code-revision CODE_REVISION]
                  [--tokenizer-revision TOKENIZER_REVISION]
                  [--tokenizer-mode {auto,slow,mistral,custom}]
                  [--trust-remote-code]
                  [--allowed-local-media-path ALLOWED_LOCAL_MEDIA_PATH]
                  [--download-dir DOWNLOAD_DIR]
                  [--load-format {auto,pt,safetensors,npcache,dummy,tensorizer,sharded_state,gguf,bitsandbytes,mistral,runai_streamer,fastsafetensors}]
                  [--config-format {auto,hf,mistral}]
                  [--dtype {auto,half,float16,bfloat16,float,float32}]
                  [--kv-cache-dtype {auto,fp8,fp8_e5m2,fp8_e4m3}]
                  [--max-model-len MAX_MODEL_LEN]
                  [--guided-decoding-backend GUIDED_DECODING_BACKEND]
                  [--logits-processor-pattern LOGITS_PROCESSOR_PATTERN]
                  [--model-impl {auto,vllm,transformers}]
                  [--distributed-executor-backend {ray,mp,uni,external_launcher}]
                  [--pipeline-parallel-size PIPELINE_PARALLEL_SIZE]
                  [--tensor-parallel-size TENSOR_PARALLEL_SIZE]
                  [--data-parallel-size DATA_PARALLEL_SIZE]
                  [--enable-expert-parallel]
                  [--max-parallel-loading-workers MAX_PARALLEL_LOADING_WORKERS]
                  [--ray-workers-use-nsight] [--block-size {8,16,32,64,128}]
                  [--enable-prefix-caching | --no-enable-prefix-caching]
                  [--prefix-caching-hash-algo {builtin,sha256}]
                  [--disable-sliding-window] [--use-v2-block-manager]
                  [--num-lookahead-slots NUM_LOOKAHEAD_SLOTS] [--seed SEED]
                  [--swap-space SWAP_SPACE] [--cpu-offload-gb CPU_OFFLOAD_GB]
                  [--gpu-memory-utilization GPU_MEMORY_UTILIZATION]
                  [--num-gpu-blocks-override NUM_GPU_BLOCKS_OVERRIDE]
                  [--max-num-batched-tokens MAX_NUM_BATCHED_TOKENS]
                  [--max-num-partial-prefills MAX_NUM_PARTIAL_PREFILLS]
                  [--max-long-partial-prefills MAX_LONG_PARTIAL_PREFILLS]
                  [--long-prefill-token-threshold LONG_PREFILL_TOKEN_THRESHOLD]
                  [--max-num-seqs MAX_NUM_SEQS] [--max-logprobs MAX_LOGPROBS]
                  [--disable-log-stats]
                  [--quantization {aqlm,awq,deepspeedfp,tpu_int8,fp8,ptpc_fp8,fbgemm_fp8,modelopt,nvfp4,marlin,gguf,gptq_marlin_24,gptq_marlin,awq_marlin,gptq,compressed-tensors,bitsandbytes,qqq,hqq,experts_int8,neuron_quant,ipex,quark,moe_wna16,torchao,None}]
                  [--rope-scaling ROPE_SCALING] [--rope-theta ROPE_THETA]
                  [--hf-token [HF_TOKEN]] [--hf-overrides HF_OVERRIDES]
                  [--enforce-eager]
                  [--max-seq-len-to-capture MAX_SEQ_LEN_TO_CAPTURE]
                  [--disable-custom-all-reduce]
                  [--tokenizer-pool-size TOKENIZER_POOL_SIZE]
                  [--tokenizer-pool-type TOKENIZER_POOL_TYPE]
                  [--tokenizer-pool-extra-config TOKENIZER_POOL_EXTRA_CONFIG]
                  [--limit-mm-per-prompt LIMIT_MM_PER_PROMPT]
                  [--mm-processor-kwargs MM_PROCESSOR_KWARGS]
                  [--disable-mm-preprocessor-cache] [--enable-lora]
                  [--enable-lora-bias] [--max-loras MAX_LORAS]
                  [--max-lora-rank MAX_LORA_RANK]
                  [--lora-extra-vocab-size LORA_EXTRA_VOCAB_SIZE]
                  [--lora-dtype {auto,float16,bfloat16}]
                  [--long-lora-scaling-factors LONG_LORA_SCALING_FACTORS]
                  [--max-cpu-loras MAX_CPU_LORAS] [--fully-sharded-loras]
                  [--enable-prompt-adapter]
                  [--max-prompt-adapters MAX_PROMPT_ADAPTERS]
                  [--max-prompt-adapter-token MAX_PROMPT_ADAPTER_TOKEN]
                  [--device {auto,cuda,neuron,cpu,tpu,xpu,hpu}]
                  [--num-scheduler-steps NUM_SCHEDULER_STEPS]
                  [--use-tqdm-on-load | --no-use-tqdm-on-load]
                  [--multi-step-stream-outputs [MULTI_STEP_STREAM_OUTPUTS]]
                  [--scheduler-delay-factor SCHEDULER_DELAY_FACTOR]
                  [--enable-chunked-prefill [ENABLE_CHUNKED_PREFILL]]
                  [--speculative-config SPECULATIVE_CONFIG]
                  [--model-loader-extra-config MODEL_LOADER_EXTRA_CONFIG]
                  [--ignore-patterns IGNORE_PATTERNS]
                  [--preemption-mode PREEMPTION_MODE]
                  [--served-model-name SERVED_MODEL_NAME [SERVED_MODEL_NAME ...]]
                  [--qlora-adapter-name-or-path QLORA_ADAPTER_NAME_OR_PATH]
                  [--show-hidden-metrics-for-version SHOW_HIDDEN_METRICS_FOR_VERSION]
                  [--otlp-traces-endpoint OTLP_TRACES_ENDPOINT]
                  [--collect-detailed-traces COLLECT_DETAILED_TRACES]
                  [--disable-async-output-proc]
                  [--scheduling-policy {fcfs,priority}]
                  [--scheduler-cls SCHEDULER_CLS]
                  [--override-neuron-config OVERRIDE_NEURON_CONFIG]
                  [--override-pooler-config OVERRIDE_POOLER_CONFIG]
                  [--compilation-config COMPILATION_CONFIG]
                  [--kv-transfer-config KV_TRANSFER_CONFIG]
                  [--worker-cls WORKER_CLS]
                  [--worker-extension-cls WORKER_EXTENSION_CLS]
                  [--generation-config GENERATION_CONFIG]
                  [--override-generation-config OVERRIDE_GENERATION_CONFIG]
                  [--enable-sleep-mode] [--calculate-kv-scales]
                  [--additional-config ADDITIONAL_CONFIG] [--enable-reasoning]
                  [--reasoning-parser {deepseek_r1,granite}]
                  [--disable-cascade-attn]
                  [--disable-chunked-mm-input [DISABLE_CHUNKED_MM_INPUT]]

命名引數#

--model

要使用的 huggingface 模型的名稱或路徑。

預設值:“facebook/opt-125m”

--task

可選值:auto, generate, embedding, embed, classify, score, reward, transcription

模型要使用的任務。即使同一模型可以用於多個任務,每個 vLLM 例項僅支援一個任務。當模型僅支援一個任務時,可以使用 "auto" 來選擇它;否則,您必須明確指定要使用的任務。

預設值:“auto”

--tokenizer

要使用的 huggingface tokenizer 的名稱或路徑。如果未指定,將使用模型名稱或路徑。

--hf-config-path

要使用的 huggingface config 的名稱或路徑。如果未指定,將使用模型名稱或路徑。

--skip-tokenizer-init

跳過 tokenizer 和 detokenizer 的初始化。期望輸入中提供有效的 prompt_token_ids,prompt 為 None。生成的輸出將包含 token ids。

--revision

要使用的特定模型版本。它可以是分支名稱、標籤名稱或提交 ID。如果未指定,將使用預設版本。

--code-revision

用於 Hugging Face Hub 上模型程式碼的特定修訂版本。它可以是分支名稱、標籤名稱或提交 ID。如果未指定,將使用預設版本。

--tokenizer-revision

要使用的 huggingface tokenizer 的修訂版本。它可以是分支名稱、標籤名稱或提交 ID。如果未指定,將使用預設版本。

--tokenizer-mode

可選值:auto, slow, mistral, custom

Tokenizer 模式。

  • “auto” 將在可用時使用快速 tokenizer。

  • “slow” 將始終使用慢速 tokenizer。

  • “mistral” 將始終使用 mistral_common tokenizer。

  • “custom” 將使用 –tokenizer 選擇預註冊的 tokenizer。

預設值:“auto”

--trust-remote-code

信任來自 huggingface 的遠端程式碼。

--allowed-local-media-path

允許 API 請求從伺服器檔案系統指定的目錄讀取本地影像或影片。這是一個安全風險。應僅在受信任的環境中啟用。

--download-dir

下載和載入權重的目錄。

--load-format

可選值:auto, pt, safetensors, npcache, dummy, tensorizer, sharded_state, gguf, bitsandbytes, mistral, runai_streamer, fastsafetensors

要載入的模型權重的格式。

  • “auto” 將嘗試載入 safetensors 格式的權重,如果 safetensors 格式不可用,則回退到 pytorch bin 格式。

  • “pt” 將載入 pytorch bin 格式的權重。

  • “safetensors” 將載入 safetensors 格式的權重。

  • “npcache” 將載入 pytorch 格式的權重,並存儲 numpy 快取以加速載入。

  • “dummy” 將使用隨機值初始化權重,主要用於效能分析。

  • “tensorizer” 將使用 CoreWeave 的 tensorizer 載入權重。有關更多資訊,請參閱示例部分中的 Tensorize vLLM 模型指令碼。

  • “runai_streamer” 將使用 Run:aiModel Streamer 載入 Safetensors 權重。

  • “bitsandbytes” 將使用 bitsandbytes 量化載入權重。

  • “sharded_state” 將從預分片檢查點檔案載入權重,支援高效載入張量並行模型

  • “gguf” 將從 GGUF 格式檔案載入權重(詳細資訊請參閱 ggml-org/ggml)。

  • “mistral” 將從 Mistral 模型使用的合併 safetensors 檔案載入權重。

預設值:“auto”

--config-format

可選值:auto, hf, mistral

要載入的模型配置的格式。

  • “auto” 將嘗試載入 hf 格式的配置,如果不可用,則嘗試載入 mistral 格式

預設值:“ConfigFormat.AUTO”

--dtype

可選值:auto, half, float16, bfloat16, float, float32

模型權重和啟用的資料型別。

  • “auto” 將為 FP32 和 FP16 模型使用 FP16 精度,為 BF16 模型使用 BF16 精度。

  • “half” 用於 FP16。推薦用於 AWQ 量化。

  • “float16” 與 “half” 相同。

  • “bfloat16” 用於精度和範圍之間的平衡。

  • “float” 是 FP32 精度的簡寫。

  • “float32” 用於 FP32 精度。

預設值:“auto”

--kv-cache-dtype

可選值:auto, fp8, fp8_e5m2, fp8_e4m3

kv 快取儲存的資料型別。如果為 “auto”,將使用模型資料型別。CUDA 11.8+ 支援 fp8 (=fp8_e4m3) 和 fp8_e5m2。ROCm (AMD GPU) 支援 fp8 (=fp8_e4m3)

預設值:“auto”

--max-model-len

模型上下文長度。如果未指定,將從模型配置自動派生。支援人類可讀格式的 k/m/g/K/M/G。示例:- 1k → 1000 - 1K → 1024

--guided-decoding-backend

預設情況下,哪個引擎將用於引導解碼(JSON 模式/正則表示式等)。當前支援 mlc-ai/xgrammarguidance-ai/llguidance.Valid 後端值是 “xgrammar”、“guidance” 和 “auto”。使用 “auto”,我們將根據請求內容和後端庫當前支援的內容做出有傾向性的選擇,因此行為可能會在每個版本中更改。

預設值:“xgrammar”

--logits-processor-pattern

可選的正則表示式模式,用於指定可以透過 logits_processors 額外完成引數傳遞的有效 logits 處理器限定名稱。預設為 None,表示不允許使用任何處理器。

--model-impl

可選值:auto, vllm, transformers

要使用的模型的實現。

  • “auto” 將嘗試使用 vLLM 實現(如果存在),如果 vLLM 實現不可用,則回退到 Transformers 實現。

  • “vllm” 將使用 vLLM 模型實現。

  • “transformers” 將使用 Transformers 模型實現。

預設值:“auto”

--distributed-executor-backend

可選值:ray, mp, uni, external_launcher

用於分散式模型工作程式的後端,可以是 “ray” 或 “mp”(多程序處理)。如果 pipeline_parallel_size 和 tensor_parallel_size 的乘積小於或等於可用 GPU 的數量,則將使用 “mp” 以保持在單個主機上進行處理。否則,如果已安裝 Ray,則預設為 “ray”,否則將失敗。請注意,tpu 僅支援 Ray 用於分散式推理。

--pipeline-parallel-size, -pp

管道並行階段數。

預設值:1

--tensor-parallel-size, -tp

張量並行副本數。

預設值:1

--data-parallel-size, -dp

資料並行副本數。MoE 層將根據 tensor-parallel-size 和 data-parallel-size 的乘積進行分片。

預設值:1

--enable-expert-parallel

對 MoE 層使用專家並行而不是張量並行。

--max-parallel-loading-workers

在多個批次中順序載入模型,以避免在使用張量並行和大型模型時出現 RAM OOM。

--ray-workers-use-nsight

如果指定,則使用 nsight 分析 Ray 工作程式。

--block-size

可選值:8, 16, 32, 64, 128

令牌塊大小,用於令牌的連續塊。這在 neuron 裝置上被忽略,並設定為 --max-model-len。在 CUDA 裝置上,僅支援最大為 32 的塊大小。在 HPU 裝置上,塊大小預設為 128。

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

啟用自動字首快取。使用 --no-enable-prefix-caching 顯式停用。

--prefix-caching-hash-algo

可選值:builtin, sha256

設定字首快取的雜湊演算法。選項為 “builtin”(Python 的內建雜湊)或 “sha256”(抗衝突但具有一定的開銷)。

預設值:“builtin”

--disable-sliding-window

停用滑動視窗,限制為滑動視窗大小。

--use-v2-block-manager

[已棄用] 塊管理器 v1 已被刪除,SelfAttnBlockSpaceManager(即塊管理器 v2)現在是預設設定。將此標誌設定為 True 或 False 對 vLLM 行為沒有影響。

--num-lookahead-slots

推測解碼所需的實驗性排程配置。這將在未來被推測配置取代;它目前存在是為了啟用正確性測試。

預設值:0

--seed

操作的隨機種子。

--swap-space

每個 GPU 的 CPU 交換空間大小 (GiB)。

預設值:4

--cpu-offload-gb

每個 GPU 要解除安裝到 CPU 的空間 (GiB)。預設值為 0,表示不解除安裝。直觀地,此引數可以被視為增加 GPU 記憶體大小的虛擬方式。例如,如果您有一個 24 GB GPU 並將其設定為 10,則虛擬地您可以將其視為 34 GB GPU。然後,您可以載入一個 13B 模型(使用 BF16 權重),這至少需要 26GB GPU 記憶體。請注意,這需要快速的 CPU-GPU 互連,因為模型的一部分在每個模型前向傳遞中從 CPU 記憶體動態載入到 GPU 記憶體。

預設值:0

--gpu-memory-utilization

用於模型執行器的 GPU 記憶體比例,範圍為 0 到 1。例如,值 0.5 表示 50% 的 GPU 記憶體利用率。如果未指定,將使用預設值 0.9。這是一個按例項限制,僅適用於當前的 vLLM 例項。如果您在同一 GPU 上執行另一個 vLLM 例項,則無關緊要。例如,如果您在同一 GPU 上執行兩個 vLLM 例項,則可以將每個例項的 GPU 記憶體利用率設定為 0.5。

預設值:0.9

--num-gpu-blocks-override

如果指定,則忽略 GPU 效能分析結果,並使用此數量的 GPU 塊。用於測試搶佔。

--max-num-batched-tokens

每次迭代的最大批處理令牌數。

--max-num-partial-prefills

對於分塊預填充,併發部分預填充的最大數量。

預設值:1

--max-long-partial-prefills

對於分塊預填充,提示長度超過 –long-prefill-token-threshold 的提示的最大併發預填充數量。在某些情況下,將此值設定得小於 –max-num-partial-prefills 將允許較短的提示在較長提示之前排隊,從而改善延遲。

預設值:1

--long-prefill-token-threshold

對於分塊預填充,如果提示長度超過此令牌數,則認為請求是長請求。

預設值:0

--max-num-seqs

每次迭代的最大序列數。

--max-logprobs

要返回的最大對數機率數,logprobs 在 SamplingParams 中指定。

預設值:20

--disable-log-stats

停用日誌統計資訊。

--quantization, -q

可選值:aqlm, awq, deepspeedfp, tpu_int8, fp8, ptpc_fp8, fbgemm_fp8, modelopt, nvfp4, marlin, gguf, gptq_marlin_24, gptq_marlin, awq_marlin, gptq, compressed-tensors, bitsandbytes, qqq, hqq, experts_int8, neuron_quant, ipex, quark, moe_wna16, torchao, None

用於量化權重的方法。如果為 None,我們首先檢查模型配置檔案中的 quantization_config 屬性。如果為 None,我們假設模型權重未量化,並使用 dtype 確定權重的資料型別。

--rope-scaling

JSON 格式的 RoPE 縮放配置。例如,{"rope_type":"dynamic","factor":2.0}

--rope-theta

RoPE theta。與 rope_scaling 一起使用。在某些情況下,更改 RoPE theta 可以提高縮放模型的效能。

--hf-token

用作遠端檔案 HTTP Bearer 授權的令牌。如果為 True,將使用執行 huggingface-cli login 時生成的令牌(儲存在 ~/.huggingface 中)。

--hf-overrides

HuggingFace 配置的額外引數。這應該是一個 JSON 字串,將被解析為字典。

--enforce-eager

始終使用 eager 模式 PyTorch。如果為 False,將混合使用 eager 模式和 CUDA 圖,以實現最大的效能和靈活性。

--max-seq-len-to-capture

CUDA 圖覆蓋的最大序列長度。當序列的上下文長度大於此值時,我們將回退到 eager 模式。此外,對於編碼器-解碼器模型,如果編碼器輸入的序列長度大於此值,我們將回退到 eager 模式。

預設值:8192

--disable-custom-all-reduce

請參閱 ParallelConfig。

--tokenizer-pool-size

用於非同步令牌化的 tokenizer 池大小。如果為 0,將使用同步令牌化。

預設值:0

--tokenizer-pool-type

用於非同步令牌化的 tokenizer 池型別。如果 tokenizer_pool_size 為 0,則忽略。

預設值:“ray”

--tokenizer-pool-extra-config

tokenizer 池的額外配置。這應該是一個 JSON 字串,將被解析為字典。如果 tokenizer_pool_size 為 0,則忽略。

--limit-mm-per-prompt

對於每個多模態外掛,限制每個提示允許的輸入例項數。期望一個逗號分隔的專案列表,例如:image=16,video=2 允許每個提示最多 16 個影像和 2 個影片。預設為每種模態 1 個。

--mm-processor-kwargs

多模態輸入對映/處理的覆蓋,例如,影像處理器。例如:{"num_crops": 4}

--disable-mm-preprocessor-cache

如果為 true,則停用多模態預處理器/對映器的快取。(不推薦)

--enable-lora

如果為 True,則啟用 LoRA 介面卡的處理。

--enable-lora-bias

如果為 True,則為 LoRA 介面卡啟用偏置。

--max-loras

單個批次中的最大 LoRA 數量。

預設值:1

--max-lora-rank

最大 LoRA 秩。

預設值:16

--lora-extra-vocab-size

LoRA 介面卡中可能存在的額外詞彙表的最大大小(新增到基本模型詞彙表)。

預設值:256

--lora-dtype

可選值:auto, float16, bfloat16

LoRA 的資料型別。如果為 auto,將預設為基本模型 dtype。

預設值:“auto”

--long-lora-scaling-factors

指定多個縮放因子(可以與基本模型縮放因子不同 - 請參閱例如 Long LoRA),以允許同時使用使用這些縮放因子訓練的多個 LoRA 介面卡。如果未指定,則僅允許使用使用基本模型縮放因子訓練的介面卡。

--max-cpu-loras

要儲存在 CPU 記憶體中的最大 LoRA 數量。必須 >= max_loras。

--fully-sharded-loras

預設情況下,只有一半的 LoRA 計算與張量並行性分片。啟用此功能將使用完全分片層。在高序列長度、最大秩或張量並行大小下,這可能會更快。

--enable-prompt-adapter

如果為 True,則啟用 PromptAdapters 的處理。

--max-prompt-adapters

批處理中的最大 PromptAdapters 數量。

預設值:1

--max-prompt-adapter-token

最大 PromptAdapters 令牌數

預設值:0

--device

可選值:auto, cuda, neuron, cpu, tpu, xpu, hpu

vLLM 執行的裝置型別。

預設值:“auto”

--num-scheduler-steps

每個排程器呼叫的最大前向步數。

預設值:1

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

是否在載入模型權重時啟用/停用進度條。

預設值:True

--multi-step-stream-outputs

如果為 False,則多步將在所有步驟結束時流式傳輸輸出

預設值:True

--scheduler-delay-factor

在排程下一個提示之前應用延遲(延遲因子乘以先前的提示延遲)。

預設值:0.0

--enable-chunked-prefill

如果設定,則可以根據 max_num_batched_tokens 對預填充請求進行分塊。

--speculative-config

推測解碼的配置。應為 JSON 字串。

--model-loader-extra-config

模型載入器的額外配置。這將傳遞給與所選 load_format 對應的模型載入器。這應該是一個 JSON 字串,將被解析為字典。

--ignore-patterns

載入模型時要忽略的模式。預設為 original/**/* 以避免重複載入 llama 的檢查點。

預設值:[]

--preemption-mode

如果為 “recompute”,則引擎透過重新計算執行搶佔;如果為 “swap”,則引擎透過塊交換執行搶佔。

--served-model-name

API 中使用的模型名稱。如果提供了多個名稱,則伺服器將響應任何提供的名稱。響應的模型欄位中的模型名稱將是列表中的第一個名稱。如果未指定,則模型名稱將與 --model 引數相同。請注意,此名稱也將用於 prometheus 指標的 model_name 標籤內容中,如果提供多個名稱,則指標標籤將採用第一個名稱。

--qlora-adapter-name-or-path

QLoRA 介面卡的名稱或路徑。

--show-hidden-metrics-for-version

啟用自指定版本以來已隱藏的已棄用 Prometheus 指標。例如,如果先前棄用的指標自 v0.7.0 版本以來已被隱藏,則您可以使用 –show-hidden-metrics-for-version=0.7 作為臨時轉義艙口,同時遷移到新指標。該指標很可能在即將釋出的版本中完全刪除。

--otlp-traces-endpoint

OpenTelemetry 跟蹤將傳送到的目標 URL。

--collect-detailed-traces

有效選項為 model,worker,all。僅當設定了 --otlp-traces-endpoint 時,設定此選項才有意義。如果設定,它將收集指定模組的詳細跟蹤資訊。這涉及使用可能代價高昂和/或阻塞的操作,因此可能會對效能產生影響。

--disable-async-output-proc

停用非同步輸出處理。這可能會導致效能降低。

--scheduling-policy

可選值:fcfs, priority

要使用的排程策略。“fcfs”(先進先出,即請求按到達順序處理;預設值)或 “priority”(請求根據給定的優先順序(值越低表示越早處理)和到達時間決定任何並列情況)。

預設值:“fcfs”

--scheduler-cls

要使用的排程器類。“vllm.core.scheduler.Scheduler” 是預設排程器。可以直接是類,也可以是 “mod.custom_class” 形式的類的路徑。

預設值:“vllm.core.scheduler.Scheduler”

--override-neuron-config

覆蓋或設定 neuron 裝置配置。例如 {"cast_logits_dtype": "bloat16"}

--override-pooler-config

覆蓋或設定池化模型的池化方法。例如 {"pooling_type": "mean", "normalize": false}

--compilation-config, -O

模型的 torch.compile 配置。當它是一個數字(0、1、2、3)時,它將被解釋為最佳化級別。注意:級別 0 是沒有任何最佳化的預設級別。級別 1 和 2 僅用於內部測試。級別 3 是推薦的生產級別。要指定完整的編譯配置,請使用 JSON 字串。按照傳統編譯器的約定,也支援使用不帶空格的 -O。-O3 等效於 -O 3。

--kv-transfer-config

分散式 KV 快取傳輸的配置。應為 JSON 字串。

--worker-cls

用於分散式執行的工作程式類。

預設值:“auto”

--worker-extension-cls

worker cls 之上的 worker 擴充套件類,如果您只想向 worker 類新增新功能而不更改現有功能,這將非常有用。

預設值:“”

--generation-config

生成配置的資料夾路徑。預設為 “auto”,生成配置將從模型路徑載入。如果設定為 “vllm”,則不載入生成配置,將使用 vLLM 預設值。如果設定為資料夾路徑,則將從指定的資料夾路徑載入生成配置。如果在生成配置中指定了 max_new_tokens,則它會為所有請求設定伺服器範圍的輸出令牌數限制。

預設值:auto

--override-generation-config

以 JSON 格式覆蓋或設定生成配置。例如 {"temperature": 0.5}。如果與 –generation-config=auto 一起使用,則覆蓋引數將與模型中的預設配置合併。如果 generation-config 為 None,則僅使用覆蓋引數。

--enable-sleep-mode

為引擎啟用睡眠模式。(僅支援 cuda 平臺)

--calculate-kv-scales

當 kv-cache-dtype 為 fp8 時,啟用 k_scale 和 v_scale 的動態計算。如果 calculate-kv-scales 為 false,則將從模型檢查點載入比例(如果可用)。否則,比例將預設為 1.0。

--additional-config

JSON 格式的指定平臺的其他配置。不同的平臺可能支援不同的配置。確保配置對您正在使用的平臺有效。輸入格式類似於 ‘{“config_key”:”config_value”}’

--enable-reasoning

是否為模型啟用 reasoning_content。如果啟用,模型將能夠生成推理內容。

--reasoning-parser

可選值:deepseek_r1, granite

根據您使用的模型選擇推理解析器。這用於將推理內容解析為 OpenAI API 格式。 --enable-reasoning 需要此項。

--disable-cascade-attn

停用 V1 的級聯注意力。雖然級聯注意力不會改變數學正確性,但停用它可以防止潛在的數值問題。請注意,即使將其設定為 False,也僅當啟發式方法表明它有益時才使用級聯注意力。

--disable-chunked-mm-input

停用 V1 的多模態輸入分塊注意力。如果設定為 true 並且啟用了分塊預填充,我們不希望部分排程多模態專案。這確保瞭如果請求具有混合提示(例如文字令牌 TTTT 後跟影像令牌 IIIIIIIIII),其中只能排程一些影像令牌(例如 TTTTIIIII,留下 IIIII),它將在一個步驟中排程為 TTTT,在下一步中排程為 IIIIIIIIII。

預設值:False

非同步引擎引數#

非同步引擎(用於線上服務)可以使用其他引數

usage: vllm serve [-h] [--disable-log-requests]

命名引數#

--disable-log-requests

停用日誌請求。