2.3. vllm serving 参数


启动 vLLM OpenAI 兼容 API 服务器。

$ vllm serve [model_tag] [options]
Copy to Clipboard Toggle word wrap
提示

使用 vllm [serve|run-batch] --help=<keyword& gt; 探索帮助中的参数:

  • 查看参数 group:- -help=ModelConfig
  • 查看单个参数 :--help=max-num-seqs
  • 要按关键字搜索 :--help=max
  • 列出所有组 :--help=listgroup

2.3.1. positional 参数

model_tag

要服务的模型标签。如果在 config 中指定,则可选。

默认 : 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

到 chat 模板的文件路径,或指定模型的单行形式的模板。

默认 : None

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

在聊天模板中呈现消息内容的格式。* "string" 将内容呈现为字符串。示例 :"Hello World" * "openai" 将内容呈现为字典列表,类似于 OpenAI 模式。示例: [{"type": "text", "text": "Hello world!"}]

默认 :auto

--config CONFIG

从配置文件中读取 CLI 选项。Must 是带有以下选项的 YAML: https://docs.vllm.ai/en/latest/serving/openai_compatible_server.html#cli-reference

Default:

--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 frontend 服务器。

默认 :False

--disable-log-requests

禁用日志记录请求。

默认 :False

--disable-log-stats

禁用日志记录统计信息。

默认 :False

--disable-uvicorn-access-log

禁用 uvicorn 访问日志。

默认 :False

--enable-auto-tool-choice

为支持的模型启用自动工具选择。use --tool-call-parser 用来指定要使用的解析器。

默认 :False

--enable-prompt-tokens-details

如果设置为 True,请在 usage 中启用 prompt_tokens_details。

默认 :False

--enable-request-id-headers

如果指定,API 服务器会将 X-Request-Id 标头添加到响应中。注意:此 hurts 性能高 QPS。

默认 :False

--enable-server-load-tracking

如果设置为 True,请在 app 状态中启用跟踪 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 …​]

LoRA 模块配置采用 name=path formator JSON 格式。示例(旧格式): name=path。示例(新格式) :{name": "name", "path": "lora_path", "base_model_name": "id"}

默认 : None

--max-log-len MAX_LOG_LEN

在日志中打印的最大提示字符或提示 ID 号数。默认值 None 表示无限。

默认 : None

--Middleware MIDDLEWARE

应用到应用程序的附加 ASGI 中间件。我们接受 多中间件 参数。该值应该是导入路径。如果提供了函数,vLLM 将使用 @app.middleware ('http') 将其添加到服务器。如果提供了类,vLLM 将使用 app.add_middleware () 将其添加到服务器。

默认: []

--port PORT 端口号。

+ 默认 : 8000

--prompt-adapters PROMPT_ADAPTERS [PROMPT_ADAPTERS …​]

以 name=path 格式提示适配器配置。可以指定多个适配器。

默认 : None

--response-role RESPONSE_ROLE

如果 request.add_generation_prompt=true 则返回的角色名称。

默认 助手

--return-tokens-as-token-ids

指定 when-max-logprobs 时,代表单个令牌作为字符串 'token_id:{token_id}',以便无法识别不是 JSON 影响的令牌。

默认 :False

--root-path ROOT_PATH

当应用程序位于基于路径的路由代理后面时,快速API 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 格式。需要 for -enable-auto-tool-choice

默认 : None

--tool-parser-plugin TOOL_PARSER_PLUGIN

特殊工具解析器插件写入将模型生成的工具解析为 OpenAI API 格式,此插件中的名称注册可在 --tool-call-parser 中使用。

Default:

--use-v2-block-manager

DEPRECATED: 块管理器 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 请求从服务器文件系统指定的目录中读取本地镜像或视频。这是一个安全风险。应该只在可信环境中启用。

Default:

--code-revision CODE_REVISION

用于 Hugging Face Hub 上模型代码的特定修订版本。它可以是分支名称、标签名称或提交 id。如果未指定,将使用默认版本。

默认 : None

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

要载入的模型配置的格式:LVM auto 将尝试以 hf 格式加载配置(如果可用),否则它将尝试以 mistral 格式加载。* HF 将以 hf 格式载入配置。* mistral 将以 mistral 格式加载配置。

默认 :auto

--disable-async-output-proc

禁用 async 输出处理。这可能会导致性能下降。

默认 :False

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

对 V1 禁用级关注。虽然级联的关注不会更改数学正确性,但禁用它对于防止潜在的数字问题非常有用。请注意,即使将其设置为 False,仅当性能告诉其好处时,才会使用级联的关注。

默认 :False

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

是否禁用滑动窗口。如果为 True,我们将禁用模型的滑动窗口功能,上限为 sliding 窗口大小。如果模型不支持滑动窗口,则忽略此参数。

默认 :False

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

模型权重和激活的数据类型:* auto 将 FP16 精度用于 FP32 和 FP16 模型,以及 BF16 模型的 BF16 精度。适用于 FP16 的一半.建议 AWQ 量化。* float16 与 "half" 相同。* bfloat16,用于精度和范围之间的平衡。* 浮点值 简写为 FP32 精度。* float32 用于 FP32 精度。

默认 :auto

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

如果为 True,启用通过 prompt_embeds 键传递文本以输入形式。请注意,启用这将加倍图形编译所需的时间。

默认 :False

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

为引擎启用睡眠模式(只支持 CUDA 平台)。

默认 :False

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

是否总是使用 eager-mode 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

--h-overrides HF_OVERRIDES

如果字典,包含要转发到 HuggingFace 配置的参数。如果可以调用,则会调用它来更新 HuggingFace 配置。

默认 :{}

--hf-token [HF_TOKEN]

用作远程文件的 HTTP bearer 授权的令牌。如果为 True,将使用在运行 huggingface-cli 登录时 生成的令牌(以 ~/.huggingface形式存储)。

默认 : None

--logits-processor-pattern LOGITS_PROCESSOR_PATTERN

可选正则表达式模式指定可以使用 logits_processors extra completion 参数传递的有效日志限定名称。默认为 None,不允许任何处理器。

默认 : None

--max-logprobs MAX_LOGPROBS

logprobsSamplingParams 中指定时,要返回的最大日志数量。默认值是 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 图形涵盖的最大序列数。当序列的上下文长度大于此时,我们回退到 eager 模式。另外,对于 encoder-decoder 模型,如果编码器输入的序列长度大于这个值,则我们回退到 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 配置或覆盖默认的 neuron 配置,此参数将用于配置无法从 vllm 参数收集的 neuron 配置。例如 {"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

用于量化权重的方法。如果没有,则首先检查模型配置文件中的 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

随机 seed 以实现可重复性。在 V0 中初始化为 None,但在 V1 中初始化为 0。

默认 : None

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

API 中使用的模型名称。如果提供了多个名称,服务器将响应任何提供的名称。响应的 model 字段中的型号名称将是此列表中的名字。如果没有指定,模型名称将与 the- model 参数相同。请注意,如果提供了多个名称,则此名称也会在 prometheus 指标的 model_name 标签内容中使用,则 metrics 标签将采用第一个名称。

默认 : None

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

跳过令牌程序和解码初始化。预期从输入中有效的 prompt_token_idsNone 以提示。生成的输出将包含令牌 ID。

默认 :False

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

使用模型的任务。每个 vLLM 实例只支持一个任务,即使同一模型可用于多个任务。当模型仅支持一个任务时,可以使用 auto 来选择它;否则,您必须明确指定要使用的任务。

默认 :auto

--tokenizer TOKENIZER

要使用的 Hugging Face tokenizer 的名称或路径。如果未指定,则使用模型名称或路径。

默认 : None

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

Tokenizer 模式:如果可用,则会自动使用快速令牌程序。* 会始终使用较慢的令牌程序。* 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 …​]

加载模型时要忽略的模式列表。默认为 "original/*/",以避免重复加载 llama 的检查点。

默认 : None

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

要载入的模型权重的格式:

  • auto: 将尝试加载安全器格式的权重,并在安全攻击格式不可用时回退到 pytorch bin 格式。
  • pt: 将以 pytorch bin 格式加载权重。
  • Securetensors: 将以更安全的格式加载权重。
  • npcache: 将以 pytorch 格式加载权重,并存储 numpy 缓存以加快加载。
  • dummy :将使用随机值初始化权重,这主要用于性能分析。
  • 10sorizer: 将使用 CoreWeave 的十个程序库进行快速权重加载。如需更多信息,请参阅 Examples 部分中的 Tensorize vLLM Model 脚本。
  • runai_streamer :将使用 Run:ai Model Streamer 加载 Safetensors 权重。
  • bitsandbytes: 将使用位和字节量来加载权重。
  • sharded_state: 将从预先分片的检查点文件中加载权重,支持有效地加载 10sor-parallel 模型。
  • gguf: 将加载来自 GGUF 格式的文件的权重(在 https://github.com/ggml-org/ggml/blob/master/docs/gguf.md中指定)。
  • mistral: 将加载来自 Mistral 模型使用的合并安全者文件的权重。

默认 :auto

--model-loader-extra-config MODEL_LOADER_EXTRA_CONFIG

模型加载程序的额外配置。这将传递给与所选 load_format 对应的模型加载程序。

默认 :{}

--pt-load-map-location 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.html中的 map_location 原始 doc

默认 :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

[DEPRECATED] The --enable-reasoning 标志从 v0.9.0 开始已弃用。use --reasoning-parser 指定原因解析器后端。此标志(--enable-reasoning)将在 v0.10.0 中删除。指定 when--reasoning-parser 时,自动启用 reasoning 模式。

默认 : 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,则 指导 后端不会在 JSON 模式中使用 additionalProperties。这只支持 指导 后端,用于更好地保持行为与 概述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 格式。

Default:

2.3.6. 并行配置

分布式执行配置。

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

数据并行集群头节点地址。

默认 : None

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

数据并行的后端,可以是 mpray

默认 :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}

用于分布式模型 worker 的后端,可以是 raymp (多处理)。如果 pipeline_parallel_size 和 10 sor_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

将数据并行性而不是 10sor parallelism 用于愿景编码器。仅支持 LLama4

默认 :False

--max-parallel-loading-workers MAX_PARALLEL_LOADING_WORKERS

当在多个批处理中按顺序加载模型时,并行加载 worker 的最大数量。避免在使用 10sor 并行和大型模型时的 RAM OOM。

默认 : None

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

管道并行组数量。

默认 :1

--ot-workers-use-nsight, --no-ray-workers-use-nsight

是否使用 nsight 对 Ray worker 进行性能分析,请参阅 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

要使用的 worker 类的完整名称。如果为 auto,则 worker 类将根据平台决定。

默认 :auto

--worker-extension-cls WORKER_EXTENSION_CLS

要使用的 worker 扩展类的完整名称。worker 扩展类由 worker 类动态继承。这用于注入 worker 类的新属性和方法,以便在 collective_rpc 调用中使用。

Default:

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

这可启用 k_scalev_scale 的动态计算,当 kv_cache_dtypefp8 时。如果为 False,则会从模型检查点加载扩展(如果可用)。否则,扩展将默认为 1.0。

默认 :False

--cpu-offload-gb CPU_OFFLOAD_GB

GiB 中每个 GPU 卸载 CPU 的空间。默认值为 0,表示没有卸载。直观地,此参数可以被看成一种增加 GPU 内存大小的虚拟方式。例如,如果您有一个 24 GB GPU 并把它设置为 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

用于模型 executor 的 GPU 内存的比例,范围从 0 到 1。例如,值 0.5 意味着 50% 的 GPU 内存使用率。如果未指定,将使用默认值 0.9.这是一个针对每个实例的限制,仅适用于当前的 vLLM 实例。如果您有另一个 vLLM 实例在同一 GPU 上运行,则无关紧要。例如,如果您在同一 GPU 上运行两个 vLLM 实例,您可以将每个实例的 GPU 内存使用率设置为 0.5。

默认: 0.9

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

kv 缓存存储的数据类型。如果为 auto,将使用 model 数据类型。CUDA 11.8+ 支持 fp8 (=fp8_e4m3)和 fp8_e5m2.ROCm (AMD GPU)支持 fp8 (=fp8_e4m3)。

默认 :auto

--num-gpu-blocks-override NUM_GPU_BLOCKS_OVERRIDE

要使用的 GPU 块数。如果指定,这将覆盖 profiled num_gpu_blocks。如果没有,则 什么都不做。用于测试抢占。

默认 : None

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

设置前缀缓存的哈希算法:LVM "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 适配器启用 bias。

默认 :False

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

默认情况下,只有一半的 LoRA 计算使用 10sor parallelism 进行分片。启用这将使用完全分片的层。在高序列长度中,最大排名或几十个并行大小可能更快。

默认 :False

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

指定多个扩展因素(可以与基础模型扩展因素不同),以允许同时使用多个 LoRA 适配器接受这些扩展因素。如果没有指定,则只允许使用基本模型扩展因素培训的适配器。

默认 : None

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

LoRA 的数据类型.如果为 auto,则默认为 base model 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

批处理中提示器的最大数量。

默认 :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. Observability 配置

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

仅在设置了 if- otlp-traces-endpoint 时设置它才有意义。如果设置,它将为指定模块收集详细的 trace。这涉及使用可能昂贵的或阻塞操作,因此可能会对性能有影响。请注意,收集每个请求的详细时间信息可能会昂贵。

默认 : 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, 2, 4] + [i for i in i in range (8, CUDA_graph_sizes + 1, 8)] 2。如果提供了多个值(例如,1 个 128),则捕获列表将遵循提供的列表。

默认 :512

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

如果设置为 true,并且启用了块的预先填充,我们不希望部分调度多模式项目。仅在 V1 中使用,这样可确保在请求具有混合提示(如文本令牌 TTTTTTTTTTTTTTTTTTTTTTIIIII)时,它会被调度为镜像令牌 IIIIIIIIIIII),其中只能调度到下一步骤(如 TTTTIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII),其中仅能调度某些镜像令牌(如 TTTTTTIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII),其中只能调度某些镜像令牌(如 TTTTTIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

默认 :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

在单个迭代中处理的最大令牌数。这个配置没有静态默认值。如果用户未指定,它将根据使用情况上下文在 EngineArgs.create_engine_config 中设置。

默认 : None

--max-num-partial-prefills MAX_NUM_PARTIAL_PREFILLS

对于块预填充,可以同时预先填充的最大序列数。

默认 :1

--max-num-seqs MAX_NUM_SEQS

在单个迭代中处理的最大序列号。这个配置没有静态默认值。如果用户未指定,它将根据使用情况上下文在 EngineArgs.create_engine_config 中设置。

默认 : None

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

如果为 False,则多步骤将在所有步骤的末尾流输出

默认 :True

--num-lookahead-slots NUM_LOOKAHEAD_SLOTS

除已知令牌 ID 外,要按顺序分配的插槽数量。这用于规范解码来存储可能或不接受的令牌的 KV 激活。

注意

这将在以后被 speculative config 替换。它会被正确的测试替代,直到它们为止。

+ 默认: 0

--num-scheduler-steps NUM_SCHEDULER_STEPS

每个调度程序调用的最大转发步骤数。

默认 :1

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

是否通过交换或声望来执行抢占。如果未指定,我们按如下方式确定模式:我们默认使用声望,因为其开销比交换降低。但是,当序列组有多个序列时(如 beam search ),目前不支持撤销。在这种情况下,我们改为使用交换。

默认 : 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" 表示首先提供第一个服务,即会按照 arrival 的顺序处理请求。* "priority" 表示请求根据给定的优先级处理(较低值意味着早期处理)和决定任何绑定的时间。

默认: 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。您可以指定完整的编译配置,如 so: {"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

Default:

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat