2.3. vllm serving 参数
启动 vLLM OpenAI 兼容 API 服务器。
vllm serve [model_tag] [options]
$ vllm serve [model_tag] [options]
使用 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
当
logprobs
在SamplingParams
中指定时,要返回的最大日志数量。默认值是 OpenAI Chat Completions API 的默认值。默认 :20
- --max-model-len MAX_MODEL_LEN
模型上下文长度(提示和输出)。如果未指定,将自动从模型配置派生出来。当通过
-max-model-len
传递时,以人类可读的格式支持 k/m/g/K/M/G。示例:* 1k1000 * 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_ids
和None
以提示。生成的输出将包含令牌 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
数据并行的后端,可以是
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}
用于分布式模型 worker 的后端,可以是
ray
或mp
(多处理)。如果pipeline_parallel_size
和 10sor_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_scale
和v_scale
的动态计算,当kv_cache_dtype
为fp8
时。如果为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:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - --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