第 2 章 vLLM server usage
vllm [-h] [-v] {chat,complete,serve,bench,collect-env,run-batch}
$ vllm [-h] [-v] {chat,complete,serve,bench,collect-env,run-batch}
- chat
- 通过运行的 API 服务器生成 chat 完成。
- complete
- 根据给定的 API 服务器提示生成文本完成。
- serve
- 启动 vLLM OpenAI 兼容 API 服务器。
- bench
- vLLM bench 子命令.
- collect-env
- 开始收集环境信息。
- run-batch
- 运行批处理提示并将结果写入文件。
2.1. vllm serving 参数 复制链接链接已复制到粘贴板!
vllm
service 启动一个本地服务器来加载并提供语言模型。
2.1.1. JSON CLI 参数 复制链接链接已复制到粘贴板!
-
--json-arg '{"key1": "value1", "key2": {"key3": "value2"}}'
-
--json-arg.key1 value1 --json-arg.key2.key3 value2
另外,可以使用 +
单独传递列表元素:
-
--json-arg '{"key4": ["value3", "value4", "value5"]}'
-
--json-arg.key4+ value3 --json-arg.key4+='value4,value5'
2.1.2. 选项 复制链接链接已复制到粘贴板!
2.1.2.1. --headless 复制链接链接已复制到粘贴板!
在无头模式下运行。如需了解更多详细信息,请参阅多节点数据并行文档。
默认 :False
2.1.2.2. --api-server-count, -asc 复制链接链接已复制到粘贴板!
要运行多少个 API 服务器进程。
默认 :1
2.1.2.3. --config 复制链接链接已复制到粘贴板!
从配置文件读取 CLI 选项。必须是带有以下选项的 YAML :https://docs.vllm.ai/en/latest/configuration/serve_args.html
默认 :None
2.1.2.4. --disable-log-stats 复制链接链接已复制到粘贴板!
禁用日志记录统计信息。
默认 :False
2.1.2.5. --enable-prompt-adapter 复制链接链接已复制到粘贴板!
这个参数已弃用。
提示适配器已被删除。将此标志设置为 True 或 False 对 vLLM 行为没有影响。
默认 :False
2.1.2.6. --enable-log-requests, --no-enable-log-requests 复制链接链接已复制到粘贴板!
启用日志记录请求。
默认 :False
这个参数已弃用。
禁用日志记录请求。
默认 :True
2.1.3. frontend 复制链接链接已复制到粘贴板!
OpenAI 兼容前端服务器的参数。
2.1.3.1. --host 复制链接链接已复制到粘贴板!
主机名.
默认 :None
2.1.3.2. --port 复制链接链接已复制到粘贴板!
端口号。
默认 :8000
2.1.3.3. --uds 复制链接链接已复制到粘贴板!
UNIX 域套接字路径.如果设置,则忽略 host 和 port 参数。
默认 :None
2.1.3.4. --uvicorn-log-level 复制链接链接已复制到粘贴板!
可能的选项: critical
,debug
,error
,info
,trace
,warning
uvicorn 的日志级别。
默认 :info
禁用 uvicorn 访问日志。
默认 :False
2.1.3.6. --allow-credentials, --no-allow-credentials 复制链接链接已复制到粘贴板!
允许凭证。
默认 :False
2.1.3.7. --allowed-origins 复制链接链接已复制到粘贴板!
允许的源。
默认 :['*']
2.1.3.8. --allowed-methods 复制链接链接已复制到粘贴板!
允许的方法。
默认 :['*']
2.1.3.9. --allowed-headers 复制链接链接已复制到粘贴板!
允许的标头。
默认 :['*']
2.1.3.10. --api-key 复制链接链接已复制到粘贴板!
如果提供,服务器将需要其中一个密钥才能显示在标头中。
默认 :None
2.1.3.11. --lora-modules 复制链接链接已复制到粘贴板!
LoRA 模块配置格式为 'name=path' 格式或 JSON 列表格式。示例(旧格式): 'name=path'
示例(新格式) :{name": "name", "path": "lora_path", "base_model_name": "id"}
默认 :None
2.1.3.12. --chat-template 复制链接链接已复制到粘贴板!
到 chat 模板的文件路径,或指定模型的单行形式的模板。
默认 :None
2.1.3.13. --chat-template-content-format 复制链接链接已复制到粘贴板!
可能的选项: auto
、openai
、字符串
在聊天模板中呈现消息内容的格式。
-
"字符串"会将内容呈现为字符串。示例:"
Hello World"
-
"openai"将内容呈现为字典列表,类似于 OpenAI 模式。示例:
[{"type": "text", "text": "Hello world!"}]
默认 :auto
2.1.3.14. --response-role 复制链接链接已复制到粘贴板!
如果 request.add_generation_prompt=true
则返回的角色名称。
默认 助手
2.1.3.15. --ssl-keyfile 复制链接链接已复制到粘贴板!
SSL 密钥文件的文件路径。
默认 :None
2.1.3.16. --ssl-certfile 复制链接链接已复制到粘贴板!
SSL 证书文件的文件路径。
默认 :None
2.1.3.17. --ssl-ca-certs 复制链接链接已复制到粘贴板!
CA 证书文件。
默认 :None
2.1.3.18. --enable-ssl-refresh, --no-enable-ssl-refresh 复制链接链接已复制到粘贴板!
当 SSL 证书文件更改时刷新 SSL 上下文
默认 :False
2.1.3.19. --ssl-cert-reqs 复制链接链接已复制到粘贴板!
是否需要客户端证书(请参阅 stdlib ssl 模块)。
默认:0
2.1.3.20. --root-path 复制链接链接已复制到粘贴板!
当应用程序位于基于路径的路由代理后面时,快速API root_path。
默认 :None
2.1.3.21. --middleware 复制链接链接已复制到粘贴板!
应用到应用程序的附加 ASGI 中间件。我们接受多个 --middleware 参数。该值应该是导入路径。如果提供了函数,vLLM 将使用 @app.middleware ('http')
将其添加到服务器。如果提供了类,vLLM 将使用 app.add_middleware ()
将其添加到服务器。
默认:[]
指定 when-max-logprobs
时,代表单个令牌作为字符串 'token_id:{token_id}',以便无法识别不是 JSON 影响的令牌。
默认 :False
如果指定,将在与模型服务引擎相同的过程中运行 OpenAI frontend 服务器。
默认 :False
如果指定,API 服务器会将 X-Request-Id 标头添加到响应中。注意:此 hurts 性能高 QPS。
默认 :False
如果指定,排除工具定义在 tool_choice='none' 时提示。
默认 :False
为支持的模型启用自动工具选择。use --tool-call-parser
用来指定要使用的解析器。
默认 :False
2.1.3.27. --tool-call-parser 复制链接链接已复制到粘贴板!
根据您使用的型号,选择工具调用解析器。这用于将模型生成的工具调用解析为 OpenAI API 格式。需要 for -enable-auto-tool-choice
。您可以从内置解析器中选择任何选项,或者通过-- tool-parser-plugin 注册插件
。
默认 :None
2.1.3.28. --tool-parser-plugin 复制链接链接已复制到粘贴板!
特殊工具解析器插件写入将模型生成的工具解析为 OpenAI API 格式,此插件中的名称注册可在 --tool-call-parser
中使用。
默认: ''
2.1.3.29. --tool-server 复制链接链接已复制到粘贴板!
以逗号分隔的 host:port 对列表(IPv4、IPv6 或主机名)。示例: 127.0.0.1:8000, [::1]:8000, localhost:1234.或 demo
用于演示目的。
默认 :None
2.1.3.30. --log-config-file 复制链接链接已复制到粘贴板!
vllm 和 uvicorn 日志记录配置 JSON 文件的路径
默认 :None
2.1.3.31. --max-log-len 复制链接链接已复制到粘贴板!
在日志中打印的最大提示字符或提示 ID 号数。默认值 None 表示无限。
默认 :None
禁用 FastAPI 的 OpenAPI 模式、Swagger UI 和 ReDoc 端点。
默认 :False
如果设置为 True,请在 usage 中启用 prompt_tokens_details。
默认 :False
如果设置为 True,请在 app 状态中启用跟踪 server_load_metrics。
默认 :False
如果设置为 True,包括每个请求的使用情况。
默认 :False
启用 /get_tokenizer_info 端点。可能公开 chat 模板和其他令牌程序配置。
默认 :False
2.1.3.37. --enable-log-outputs, --no-enable-log-outputs 复制链接链接已复制到粘贴板!
如果设置为 True,除了默认启用的输入日志记录外,还要启用模型输出的日志记录(生成)。
默认 :False
2.1.3.38. --h11-max-incomplete-event-size 复制链接链接已复制到粘贴板!
h11 解析器不完整的 HTTP 事件(header 或 body)的最大大小(字节)。帮助缓解标头滥用。默认:4194304 (4 MB)。
默认:4194304
2.1.3.39. --h11-max-header-count 复制链接链接已复制到粘贴板!
h11 解析器请求中允许的最大 HTTP 标头数。帮助缓解标头滥用。默认:256。
默认 :256
2.1.4. ModelConfig 复制链接链接已复制到粘贴板!
模型的配置。
2.1.4.1. --model 复制链接链接已复制到粘贴板!
要使用的 Hugging Face 模型的名称或路径。在未指定 served_
标签的内容。
model_name
时,它也用作指标输出中 model_name
默认 :Qwen/Qwen3-0.6B
2.1.4.2. --runner 复制链接链接已复制到粘贴板!
可能的选项: auto
,draft
,generate
,pooling
要使用的模型运行程序类型。每个 vLLM 实例只支持一个模型运行程序,即使同一模型可用于多种类型。
默认 :auto
2.1.4.3. --convert 复制链接链接已复制到粘贴板!
可能的选项: auto
, classify,
embed
,none
,reward
使用 [vllm.model_executor.models.adapters][]. 中定义的适配器转换模型。最常见的用例是调整用于池任务的文本生成模型。
默认 :auto
2.1.4.4. --task 复制链接链接已复制到粘贴板!
可能的选项: auto
,classify
,draft
,embed
,embedding
,generate
,reward
,score
,transcription
,None
这个参数已弃用。
使用模型的任务。如果模型支持多个模型运行程序,这将用于选择要运行的模型运行程序。
请注意,该模型可能会支持使用相同模型运行程序的其他任务。
默认 :None
2.1.4.5. --tokenizer 复制链接链接已复制到粘贴板!
要使用的 Hugging Face tokenizer 的名称或路径。如果未指定,则使用模型名称或路径。
默认 :None
2.1.4.6. --tokenizer-mode 复制链接链接已复制到粘贴板!
可能的选项: auto
,custom
,mistral
,slow
Tokenizer 模式:
- "auto"将使用快速令牌程序(如果可用)。
- "slow" 将始终使用较慢的令牌程序。
-
"mistral" 将始终使用
mistral_common
中的令牌程序。 - "custom" 将使用 --tokenizer 选择预注册的令牌工具程序。
默认 :auto
2.1.4.7. --trust-remote-code, --no-trust-remote-code 复制链接链接已复制到粘贴板!
下载模型和令牌程序时,信任远程代码(例如,来自 HuggingFace)。
默认 :False
2.1.4.8. --dtype 复制链接链接已复制到粘贴板!
可能的选项: auto
,bfloat16
, float,
float16
,float32
,half
模型权重和激活的数据类型:
- "auto"将为 FP32 和 FP16 模型使用 FP16 精度,并将 BF16 精度用于 BF16 模型。
- FP16 的"半"建议 AWQ 量化。
- "float16"与 "half" 相同。
- "bfloat16",代表精度和范围之间的平衡。
- "浮点"的缩写为 FP32 精度。
- "float32"表示 FP32 精度。
默认 :auto
2.1.4.9. --seed 复制链接链接已复制到粘贴板!
随机 seed 以实现可重复性。在 V0 中初始化为 None,但在 V1 中初始化为 0。
默认 :None
2.1.4.10. --hf-config-path 复制链接链接已复制到粘贴板!
要使用的 Hugging Face 配置的名称或路径。如果未指定,则使用模型名称或路径。
默认 :None
2.1.4.11. --allowed-local-media-path 复制链接链接已复制到粘贴板!
允许 API 请求从服务器文件系统指定的目录中读取本地镜像或视频。这是一个安全风险。应该只在可信环境中启用。
默认: ''
2.1.4.12. --revision 复制链接链接已复制到粘贴板!
要使用的特定模型版本。它可以是分支名称、标签名称或提交 id。如果未指定,将使用默认版本。
默认 :None
2.1.4.13. --code-revision 复制链接链接已复制到粘贴板!
用于 Hugging Face Hub 上模型代码的特定修订版本。它可以是分支名称、标签名称或提交 id。如果未指定,将使用默认版本。
默认 :None
2.1.4.14. --rope-scaling 复制链接链接已复制到粘贴板!
RoPE 扩展配置.例如: {"rope_type":"dynamic","factor":2.0}
。
应该是有效的 JSON 字符串或 JSON 密钥。
默认 :{}
2.1.4.15. --rope-theta 复制链接链接已复制到粘贴板!
RoPE 达州.与 rope_scaling
一起使用。在某些情况下,更改 RoPE 可提高扩展模型的性能。
默认 :None
2.1.4.16. --tokenizer-revision 复制链接链接已复制到粘贴板!
用于 Hugging Face Hub 上令牌程序的特定修订版本。它可以是分支名称、标签名称或提交 id。如果未指定,将使用默认版本。
默认 :None
2.1.4.17. --max-model-len 复制链接链接已复制到粘贴板!
模型上下文长度(提示和输出)。如果未指定,将自动从模型配置派生出来。
当通过 -max-model-len
传递时,以人类可读的格式支持 k/m/g/K/M/G。示例:
- 1k -> 1000
- 1K -> 1024
- 25.6k -> 25,600
默认 :None
2.1.4.18. --quantization, -q 复制链接链接已复制到粘贴板!
用于量化权重的方法。如果没有,则首先检查模型配置文件中的 quantization_config
属性。如果是
None
,则假设模型权重不会量化,并使用 dtype
来确定权重的数据类型。
默认 :None
2.1.4.19. --enforce-eager, --no-enforce-eager 复制链接链接已复制到粘贴板!
是否总是使用 eager-mode PyTorch。如果为 True,我们将禁用 CUDA 图形,并始终以 eager 模式执行模型。如果为 False,我们将在混合中使用 CUDA 图形和 eager 的执行,以获得最大性能和灵活性。
默认 :False
2.1.4.20. --max-seq-len-to-capture 复制链接链接已复制到粘贴板!
CUDA 图形涵盖的最大序列数。当序列的上下文长度大于此时,我们回退到 eager 模式。另外,对于 encoder-decoder 模型,如果编码器输入的序列长度大于这个值,则我们回退到 eager 模式。
默认 :8192
2.1.4.21. --max-logprobs 复制链接链接已复制到粘贴板!
当 logprobs
在 SamplingParams
中指定时,要返回的最大日志数量。默认值是 OpenAI Chat Completions API 的默认值。-1 代表没有上限,例如 all (output_length * vocab_size) logprobs,可能会导致 OOM。
默认 :20
2.1.4.22. --logprobs-mode 复制链接链接已复制到粘贴板!
可能的选项: processed_logits
,processed_logprobs
,raw_logits
,raw_logprobs
指明 logprobs 和 prompt_logprobs 返回的内容。支持的模式:1)raw_logprobs, 2)processed_logprobs, 3)raw_logits, 4)processed_logits.raw 意味着在应用 logit 处理器(如错误的单词)前的值。processed 意味着应用此类处理器后的值。
默认 :raw_logprobs
是否禁用滑动窗口。如果为 True,我们将禁用模型的滑动窗口功能,上限为 sliding 窗口大小。如果模型不支持滑动窗口,则忽略此参数。
默认 :False
对 V1 禁用级关注。虽然级联的关注不会更改数学正确性,但禁用它对于防止潜在的数字问题非常有用。请注意,即使将其设置为 False,仅当性能告诉其好处时,才会使用级联的关注。
默认 :False
跳过令牌程序和解码初始化。预期从输入中有效的 prompt_token_ids
和 None
以提示。生成的输出将包含令牌 ID。
默认 :False
如果为 True
,启用通过 prompt_embeds
键传递文本以输入形式。请注意,启用这将加倍图形编译所需的时间。
默认 :False
2.1.4.27. --served-model-name 复制链接链接已复制到粘贴板!
API 中使用的模型名称。如果提供了多个名称,服务器将响应任何提供的名称。响应的 model 字段中的型号名称将是此列表中的名字。如果没有指定,模型名称将与 the- model
参数相同。请注意,如果提供了多个名称,则此名称也会在 prometheus 指标的 model_name
标签内容中使用,则 metrics 标签将采用第一个名称。
默认 :None
2.1.4.28. --disable-async-output-proc 复制链接链接已复制到粘贴板!
禁用 async 输出处理。这可能会导致性能下降。
默认 :False
2.1.4.29. --config-format 复制链接链接已复制到粘贴板!
可能的选项: auto
,hf
,mistral
要载入的模型配置的格式:
- "auto"将尝试以 hf 格式加载配置(如果可用),否则它将尝试以 mistral 格式加载。
- "HF"将以 hf 格式加载配置。
- "mistral"将加载 mistral 格式的配置。
默认 :auto
2.1.4.30. --hf-token 复制链接链接已复制到粘贴板!
用作远程文件的 HTTP bearer 授权的令牌。如果为 True
,将使用在运行 huggingface-cli 登录时
生成的令牌(以 ~/.huggingface
形式存储)。
默认 :None
2.1.4.31. --hf-overrides 复制链接链接已复制到粘贴板!
如果字典,包含要转发到 Hugging Face 配置的参数。如果可以调用,则会调用它来更新 HuggingFace 配置。
默认 :{}
2.1.4.32. --override-neuron-config 复制链接链接已复制到粘贴板!
初始化特定于 Neuron 设备的非默认 neuron 配置或覆盖默认的 neuron 配置,此参数将用于配置无法从 vllm 参数收集的 neuron 配置。例如 {"cast_logits_dtype": "bfloat16"}
。
应该是有效的 JSON 字符串或 JSON 密钥。
默认 :{}
2.1.4.33. --override-pooler-config 复制链接链接已复制到粘贴板!
为池模型初始化非默认池配置或覆盖默认池配置。例如 {"pooling_type": "mean", "normalize": false}
。
默认 :None
2.1.4.34. --logits-processor-pattern 复制链接链接已复制到粘贴板!
可选正则表达式模式指定可以使用 logits_processors
extra completion 参数传递的有效日志限定名称。默认为 None
,不允许任何处理器。
默认 :None
2.1.4.35. --generation-config 复制链接链接已复制到粘贴板!
生成配置的文件夹路径。默认为 "auto"
,生成配置将从模型路径加载。如果设置为 "vllm"
,则不会加载生成配置,则使用 vLLM 默认值。如果设置为文件夹路径,则生成配置将从指定的文件夹路径加载。如果在生成配置中指定了 max_new_tokens
,它会为所有请求设置服务器端令牌数量。
默认 :auto
2.1.4.36. --override-generation-config 复制链接链接已复制到粘贴板!
覆盖或设置生成配置。例如 {"temperature": 0.5}
.如果与 -generation-config auto
一起使用,则覆盖参数将与模型中的默认配置合并。如果与 -generation-config vllm
一起使用,则只使用覆盖参数。
应该是有效的 JSON 字符串或 JSON 密钥。
默认 :{}
2.1.4.37. --enable-sleep-mode, --no-enable-sleep-mode 复制链接链接已复制到粘贴板!
为引擎启用睡眠模式(只支持 cuda 平台)。
默认 :False
2.1.4.38. --model-impl 复制链接链接已复制到粘贴板!
可能的选项: auto
,vllm
,transformers
要使用哪个模型实现:
- "auto"将尝试使用 vLLM 实施(如果存在),并在没有 vLLM 实施时回退到 Transformers 实施。
- "vllm"将使用 vLLM 模型实施。
- "转换器"将使用 Transformers 模型实施。
默认 :auto
2.1.4.39. --override-attention-dtype 复制链接链接已复制到粘贴板!
覆盖 dtype 以备注意
默认 :None
2.1.4.40. --logits-processors 复制链接链接已复制到粘贴板!
一个或多个处理器的完全限定域名或类定义
默认 :None
2.1.5. LoadConfig 复制链接链接已复制到粘贴板!
加载模型权重的配置。
2.1.5.1. --load-format 复制链接链接已复制到粘贴板!
要载入的模型权重的格式:
- "auto"将尝试以安全编写器格式加载权重,并在 securetensors 格式不可用时回退到 pytorch bin 格式。
- "pt" 将以 pytorch bin 格式加载权重。
- "safetensors"将以更安全的格式加载权重。
- "npcache"将以 pytorch 格式加载权重,并存储 numpy 缓存以加快加载。
- "dummy"将使用随机值初始化权重,这主要用于性能分析。
- "tensorizer"将使用 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
2.1.5.2. --download-dir 复制链接链接已复制到粘贴板!
用于下载和加载权重的目录,默认为 Hugging Face 的默认缓存目录。
默认 :None
2.1.5.3. --model-loader-extra-config 复制链接链接已复制到粘贴板!
模型加载程序的额外配置。这将传递给与所选 load_format 对应的模型加载程序。
默认 :{}
2.1.5.4. --ignore-patterns 复制链接链接已复制到粘贴板!
加载模型时要忽略的模式列表。默认为 "original/*/",以避免重复加载 llama 的检查点。
默认 :None
2.1.5.5. --use-tqdm-on-load, --no-use-tqdm-on-load 复制链接链接已复制到粘贴板!
是否在加载模型权重时启用 tqdm 显示进度条。
默认 :True
2.1.5.6. --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
2.1.6. DecodingConfig 复制链接链接已复制到粘贴板!
包含引擎解码策略的 Dataclass。
2.1.6.1. --guided-decoding-backend 复制链接链接已复制到粘贴板!
可能的选项: auto
,guidance
, overview ,xgrammar
默认情况下,哪个引擎将用于引导解码(JSON 模式/正则表达式等)。使用 "auto" 时,我们将根据请求内容以及后端库当前支持的内容进行建议选择,因此每个版本中的行为可能会改变。
默认 :auto
如果为 True
,vLLM 不会回退到错误的不同后端。
默认 :False
如果为 True
,则模型不会在引导解码过程中生成任何空格。这只支持 xgrammar 和 guidance 后端。
默认 :False
如果为 True
,则 指导
后端不会在 JSON 模式中使用 additionalProperties
。这只支持 指导
后端,用于更好地保持行为与 概述
和 xgrammar
保持一致。
默认 :False
2.1.6.5. --reasoning-parser 复制链接链接已复制到粘贴板!
可能的选项: deepseek_r1
,glm45
,GptOss
,granite
,hunyuan_a13b
,mistral
,qwen3
,step3
根据您使用的型号,选择原因解析器。这用于将内容解析为 OpenAI API 格式。
默认: ''
2.1.7. ParallelConfig 复制链接链接已复制到粘贴板!
分布式执行配置。
2.1.7.1. --distributed-executor-backend 复制链接链接已复制到粘贴板!
可能的选项: external_launcher
,mp
,ray
,uni
,None
用于分布式模型 worker 的后端,可以是 "ray" 或 "mp" (多处理)。如果 pipeline_parallel_size 和 10sor_parallel_size 的产品小于或等于可用的 GPU 数,则将使用"mp"在单个主机上保持处理。否则,如果安装了 Ray,则默认为 "ray",否则会失败。请注意,tpu 仅支持分布式推销的 Ray。
默认 :None
2.1.7.2. --pipeline-parallel-size, -pp 复制链接链接已复制到粘贴板!
管道并行组数量。
默认 :1
2.1.7.3. --tensor-parallel-size, -tp 复制链接链接已复制到粘贴板!
十个并行组的数量。
默认 :1
2.1.7.4. --data-parallel-size, -dp 复制链接链接已复制到粘贴板!
数据并行组数量。moe 层将根据数十个并行大小和数据并行大小的产品进行分片。
默认 :1
2.1.7.5. --data-parallel-rank, -dpn 复制链接链接已复制到粘贴板!
此实例的数据并行等级。设置后,启用外部负载均衡器模式。
默认 :None
2.1.7.6. --data-parallel-start-rank, -dpr 复制链接链接已复制到粘贴板!
为二级节点启动数据并行等级。
默认 :None
2.1.7.7. --data-parallel-size-local, -dpl 复制链接链接已复制到粘贴板!
此节点上运行的数据并行副本数。
默认 :None
2.1.7.8. --data-parallel-address, -dpa 复制链接链接已复制到粘贴板!
数据并行集群头节点地址。
默认 :None
2.1.7.9. --data-parallel-rpc-port, -dpp 复制链接链接已复制到粘贴板!
数据并行 RPC 通信的端口。
默认 :None
2.1.7.10. --data-parallel-backend, -dpb 复制链接链接已复制到粘贴板!
数据并行的后端,可以是 "mp" 或 "ray"。
默认 :mp
是否使用 "hybrid" DP LB 模式。仅适用于在线服务,以及 data_parallel_size > 0 时。启用以"per-node"为基础运行 AsyncLLM 和 API 服务器,其中 vLLM 负载均衡本地数据并行等级,但 vLLM 节点/副本之间有一个外部 LB 平衡。明确与 --data-parallel-start-rank 结合使用。
默认 :False
对于 MoE 层,使用专家并行性而不是十个并行性。
默认 :False
2.1.7.13. --enable-eplb, --no-enable-eplb 复制链接链接已复制到粘贴板!
为 MoE 层启用专家并行负载平衡。
默认 :False
2.1.7.14. --num-redundant-experts 复制链接链接已复制到粘贴板!
用于专家并行性的冗余专家数量。
默认:0
2.1.7.15. --eplb-window-size 复制链接链接已复制到粘贴板!
专家加载记录的窗口大小。
默认 :1000
2.1.7.16. --eplb-step-interval 复制链接链接已复制到粘贴板!
重排专家在专家并行度的间隔。
请注意,如果这大于 EPLB 窗口大小,则只有最后 eplb_window_size
步骤的指标将用于重新安排专家。
默认 :3000
记录专家并行每个步骤的平衡。默认情况下关闭此设置,因为它会导致通信开销。
默认 :False
2.1.7.18. --max-parallel-loading-workers 复制链接链接已复制到粘贴板!
当在多个批处理中按顺序加载模型时,并行加载 worker 的最大数量。避免在使用 10sor 并行和大型模型时的 RAM OOM。
默认 :None
是否使用 nsight 对 Ray worker 进行性能分析,请参阅 https://docs.ray.io/en/latest/ray-observability/user-guides/profiling.html#profiling-nsight-profiler。
默认 :False
禁用自定义 all-reduce 内核,并回退到 NCCL。
默认 :False
2.1.7.21. --worker-cls 复制链接链接已复制到粘贴板!
要使用的 worker 类的完整名称。如果为 "auto",则会根据平台确定 worker 类。
默认 :auto
2.1.7.22. --worker-extension-cls 复制链接链接已复制到粘贴板!
要使用的 worker 扩展类的完整名称。worker 扩展类由 worker 类动态继承。这用于注入 worker 类的新属性和方法,以便在 collective_rpc 调用中使用。
默认: ''
将数据并行性而不是 10sor parallelism 用于愿景编码器。仅支持 LLama4
默认 :False
2.1.8. CacheConfig 复制链接链接已复制到粘贴板!
配置 KV 缓存。
2.1.8.1. --block-size 复制链接链接已复制到粘贴板!
可能的选项: 1、
8
、16
、32
、64
、128
令牌数中连续缓存块的大小。这在 neuron 设备上忽略,并设置为 --max-model-len
。在 CUDA 设备中,只支持块大小最多 32 个。在 HPU 设备上,块大小默认为 128。
这个配置没有静态默认值。如果用户未指定,它将根据当前平台在 Platform.check_and_update_config ()
中设置。
默认 :None
2.1.8.2. --gpu-memory-utilization 复制链接链接已复制到粘贴板!
用于模型 executor 的 GPU 内存的比例,范围从 0 到 1。例如,值 0.5 会意味着 50%% 的 GPU 内存使用率。如果未指定,将使用默认值 0.9.这是一个针对每个实例的限制,仅适用于当前的 vLLM 实例。如果您有另一个 vLLM 实例在同一 GPU 上运行,则无关紧要。例如,如果您在同一 GPU 上运行两个 vLLM 实例,您可以将每个实例的 GPU 内存使用率设置为 0.5。
默认:0.9
2.1.8.3. --swap-space 复制链接链接已复制到粘贴板!
每个 GPU 的 CPU 交换空间大小(以 GiB 为单位)。
默认 :4
2.1.8.4. --kv-cache-dtype 复制链接链接已复制到粘贴板!
可能的选项: auto
,fp8
,fp8_e4m3
,fp8_e5m2
,fp8_inc
kv 缓存存储的数据类型。如果"auto",将使用模型数据类型。CUDA 11.8+ 支持 fp8 (=fp8_e4m3)和 fp8_e5m2.ROCm (AMD GPU)支持 fp8 (=fp8_e4m3)。Intel Gaudi (HPU)支持 fp8 (使用 fp8_inc)。
默认 :auto
2.1.8.5. --num-gpu-blocks-override 复制链接链接已复制到粘贴板!
要使用的 GPU 块数。如果指定,这将覆盖 profiled num_gpu_blocks
。如果没有,则 什么都不做
。用于测试抢占。
默认 :None
是否启用前缀缓存。默认情况下,V0 禁用。默认启用 V1。
默认 :None
2.1.8.7. --prefix-caching-hash-algo 复制链接链接已复制到粘贴板!
可能的选项: built ,
sha256
,sha256_cbor_64bit
为前缀缓存设置哈希算法:
- "内置"是 Python 的内置哈希。
- "SHA256"是冲突的,但存在某些开销。此选项在哈希前将 Pickle 用于对象序列化。
- "sha256_cbor_64 位"提供可重复生成的、跨语言兼容哈希。它使用规范 CBOR 序列化对象,并使用 SHA-256 进行哈希处理。生成的哈希值由 SHA-256 摘要的较低 64 位组成。
默认 :builtin
2.1.8.8. --cpu-offload-gb 复制链接链接已复制到粘贴板!
GiB 中每个 GPU 卸载 CPU 的空间。默认值为 0,表示没有卸载。直观地,此参数可以被看成一种增加 GPU 内存大小的虚拟方式。例如,如果您有一个 24 GB GPU 并把它设置为 10,则虚拟您可以将其视为 34 GB GPU。然后,您可以使用 BF16 权重加载 13B 模型,它至少需要 26GB GPU 内存。请注意,这需要快速 CPU-GPU 互连,因为模型部分是从 CPU 内存加载到每个模型转发传递的 GPU 内存。
默认:0
2.1.8.9. --calculate-kv-scales, --no-calculate-kv-scales 复制链接链接已复制到粘贴板!
这可启用 k_scale
和 v_scale
的动态计算,当 kv_cache_dtype 为 fp8 时。如果为 False
,则会从模型检查点加载扩展(如果可用)。否则,扩展将默认为 1.0。
默认 :False
此功能正在进行中,目前没有启用此标志的预填充优化。
在一些 KV 共享设置中,如 YOCO (https://arxiv.org/abs/2405.05254),一些层可以跳过与预先填充对应的令牌。此标志支持在某些模型(如 Gemma3n)中实施此优化所需的元数据覆盖符合条件的层的元数据。
默认 :False
2.1.8.11. --mamba-cache-dtype 复制链接链接已复制到粘贴板!
可能的选项: auto
,float32
用于 Mamba 缓存的数据类型( conv 和 sm 状态)。如果设置为 'auto',则数据类型将从模型配置中推断出来。
默认 :auto
2.1.8.12. --mamba-ssm-cache-dtype 复制链接链接已复制到粘贴板!
可能的选项: auto
,float32
用于 Mamba 缓存的数据类型(仅sm 状态,conv 状态仍将由 mamba_cache_dtype 控制)。如果设置为 'auto',ssm 状态的数据类型将由 mamba_cache_dtype 决定。
默认 :auto
2.1.9. MultiModalConfig 复制链接链接已复制到粘贴板!
控制多模式模型的行为。
2.1.9.1. --limit-mm-per-prompt 复制链接链接已复制到粘贴板!
每个提示的每个输入项目允许的最大输入数。对于每个模态,默认为 1 (V0)或 999 (V1)。
例如,每个提示允许最多 16 个镜像和 2 个视频: {"image": 16, "video": 2}
应该是有效的 JSON 字符串或 JSON 密钥。
默认 :{}
2.1.9.2. --media-io-kwargs 复制链接链接已复制到粘贴板!
传递给进程介质输入的额外参数,按模态键。例如,要为视频设置 num_frames,set --media-io-kwargs '{"video": {"num_frames": 40} }'
应该是有效的 JSON 字符串或 JSON 密钥。
默认 :{}
2.1.9.3. --mm-processor-kwargs 复制链接链接已复制到粘贴板!
从 transformers.AutoProcessor.from_pretrained
获取的多模式处理器覆盖。
可用的覆盖取决于正在运行的模型。
例如,对于 Phi-3-Vision: {"num_crops": 4}
。
应该是有效的 JSON 字符串或 JSON 密钥。
默认 :None
2.1.9.4. --mm-processor-cache-gb 复制链接链接已复制到粘贴板!
用于多模式处理器缓存的大小(以 GiB 为单位)
这个缓存会为每个 API 进程和引擎核心进程重复,从而导致 mm_processor_cache_gb *(api_server_count + data_parallel_size)
的内存用量总量。
设置为 0
以完全禁用此缓存(不推荐)。
默认 :4
2.1.9.5. --disable-mm-preprocessor-cache 复制链接链接已复制到粘贴板!
默认 :False
为多模式提示启用完全交错支持。
默认 :False
2.1.9.7. --skip-mm-profiling, --no-skip-mm-profiling 复制链接链接已复制到粘贴板!
启用后,在引擎初始化过程中跳过多模式内存配置集,以及仅使用语言主模型的配置文件。
这减少了引擎启动时间,但将责任转移到用户,以估算多模式编码器激活和嵌入缓存的峰值内存用量。
默认 :False
2.1.10. LoRAConfig 复制链接链接已复制到粘贴板!
LoRA 配置.
2.1.10.1. --enable-lora, --no-enable-lora 复制链接链接已复制到粘贴板!
如果为 True,启用对 LoRA 适配器的处理。
默认 :None
2.1.10.2. --enable-lora-bias, --no-enable-lora-bias 复制链接链接已复制到粘贴板!
为 LoRA 适配器启用 bias。
默认 :False
2.1.10.3. --max-loras 复制链接链接已复制到粘贴板!
单个批处理中的最大 LoRA 数。
默认 :1
2.1.10.4. --max-lora-rank 复制链接链接已复制到粘贴板!
最大 LoRA 排名.
默认 :16
2.1.10.5. --lora-extra-vocab-size 复制链接链接已复制到粘贴板!
LoRA 适配器(添加到基本模型词汇)中可以存在的最大额外词汇大小。
默认 :256
2.1.10.6. --lora-dtype 复制链接链接已复制到粘贴板!
可能的选项: auto
,bfloat16
,float16
LoRA 的数据类型.如果为 auto,则默认为 base model dtype。
默认 :auto
2.1.10.7. --max-cpu-loras 复制链接链接已复制到粘贴板!
在 CPU 内存中存储的最大 LoRA 数。必须是 >= 大于 max_loras
。
默认 :None
默认情况下,只有一半的 LoRA 计算使用 10sor parallelism 进行分片。启用这将使用完全分片的层。在高序列长度中,最大排名或几十个并行大小可能更快。
默认 :False
2.1.10.9. --default-mm-loras 复制链接链接已复制到粘贴板!
字典将特定的模式映射到 LoRA 模型路径;该字段仅适用于多模式模型,当模型始终需要给定模态时,应该利用 LoRA。请注意,如果请求提供了多个额外的模式,则每个请求都有自己的 LoRA,我们不会应用 default_mm_loras,因为我们目前对每个提示只支持一个 lora 适配器。在离线模式下运行时,n modalities 的 lora ID 将使用字母顺序中的模态名称自动分配给 1-n。
应该是有效的 JSON 字符串或 JSON 密钥。
默认 :None
2.1.11. ObservabilityConfig 复制链接链接已复制到粘贴板!
可观察性配置 - 指标和追踪。
2.1.11.2. --otlp-traces-endpoint 复制链接链接已复制到粘贴板!
将 OpenTelemetry 跟踪发送到的目标 URL。
默认 :None
2.1.11.3. --collect-detailed-traces 复制链接链接已复制到粘贴板!
可能的选项: all
,model
,worker
,None
,model,worker
,model,all
,worker,model
,worker,all
,all,model
,all,worker
仅在设置了 if- otlp-traces-endpoint
时设置它才有意义。如果设置,它将为指定模块收集详细的 trace。这涉及使用可能昂贵的或阻塞操作,因此可能会对性能有影响。
请注意,收集每个请求的详细时间信息可能会昂贵。
默认 :None
2.1.12. SchedulerConfig 复制链接链接已复制到粘贴板!
调度程序配置。
2.1.12.1. --max-num-batched-tokens 复制链接链接已复制到粘贴板!
在单个迭代中处理的最大令牌数。
这个配置没有静态默认值。如果用户未指定,它将根据使用情况上下文在 EngineArgs.create_engine_config
中设置。
默认 :None
2.1.12.2. --max-num-seqs 复制链接链接已复制到粘贴板!
在单个迭代中处理的最大序列号。
这个配置没有静态默认值。如果用户未指定,它将根据使用情况上下文在 EngineArgs.create_engine_config
中设置。
默认 :None
2.1.12.3. --max-num-partial-prefills 复制链接链接已复制到粘贴板!
对于块预填充,可以同时预先填充的最大序列数。
默认 :1
2.1.12.4. --max-long-partial-prefills 复制链接链接已复制到粘贴板!
对于块预填充,会同时预先填充的 long_prefill_token_threshold 的提示的最大数量。设置小于 max_num_partial_prefills 时,可以缩短提示,在一些情况下,在较长的提示前跳过队列,从而提高了延迟。
默认 :1
2.1.12.5. --cuda-graph-sizes 复制链接链接已复制到粘贴板!
CUDA 图形捕获大小
- 如果没有提供,则默认为 [min (max_num_seqs * 2, 512)]
- 如果提供了一个值,则捕获列表将遵循模式:[1, 2, 4] + [i for i in range (8, cuda_graph_sizes + 1, 8)]
- 提供了多个值(如 1 2 128),然后捕获列表将遵循提供的列表。
默认:[]
2.1.12.6. --long-prefill-token-threshold 复制链接链接已复制到粘贴板!
对于块预先填充,如果提示符的时间超过这个数量的令牌,则请求会被视为很长时间。
默认:0
2.1.12.7. --num-lookahead-slots 复制链接链接已复制到粘贴板!
除已知令牌 ID 外,要按顺序分配的插槽数量。这用于规范解码来存储可能或不接受的令牌的 KV 激活。
这将在以后被 speculative config 替换。它会被正确的测试替代,直到它们为止。
默认:0
2.1.12.8. --scheduler-delay-factor 复制链接链接已复制到粘贴板!
在调度下一个提示前,应用延迟(延迟因素乘以以前的提示延迟)。
默认 :0.0
2.1.12.9. --preemption-mode 复制链接链接已复制到粘贴板!
可能的选项: 重新计算、
交换
、无
是否通过交换或声望来执行抢占。如果未指定,我们按如下方式确定模式:我们默认使用声望,因为其开销比交换降低。但是,当序列组有多个序列时(如 beam search ),目前不支持撤销。在这种情况下,我们改为使用交换。
默认 :None
2.1.12.10. --scheduling-policy 复制链接链接已复制到粘贴板!
可能的选项: fcfs
、priority
要使用的调度策略:
- "fcfs"意味着首先提供第一个服务,即按 arrival 的顺序处理请求。
- "优先级"意味着根据给定优先级处理请求(较低值意味着早期处理)和 arrival 决定任何绑定的时间。
默认:fcfs
如果为 True,则预先填充请求可以根据剩余的 max_num_batched_tokens 进行块。
默认 :None
如果设置为 true,并且启用了块的预先填充,我们不希望部分调度多模式项目。仅在 V1 中使用,这样可确保在请求具有混合提示(如文本令牌 TTTTTTTTTTTTTTTTTTTTTTIIIII)时,它会被调度为镜像令牌 IIIIIIIIIIII),其中只能调度到下一步骤(如 TTTTIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII),其中仅能调度某些镜像令牌(如 TTTTTTIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII),其中只能调度某些镜像令牌(如 TTTTTIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
默认 :False
2.1.12.13. --scheduler-cls 复制链接链接已复制到粘贴板!
要使用的调度程序类。"vllm.core.scheduler.Scheduler" 是默认的调度程序。可以直接是一个类,也可以是形式为"mod.custom_class"的类的路径。
默认:vllm.core.scheduler.Scheduler
如果设置为 True,KV 缓存管理器会为所有关注层分配相同的 KV 缓存大小,即使存在多种关注层,如完整关注和滑动窗口注意。
默认 :False
2.1.12.15. --async-scheduling, --no-async-scheduling 复制链接链接已复制到粘贴板!
这是一个实验性功能。
如果设置为 True,请执行 async 调度。这有助于减少 CPU 开销,从而提高延迟和吞吐量。但是,目前不支持 async 调度,如结构化输出、规范解码和管道并行性。
默认 :False
2.1.13. VllmConfig 复制链接链接已复制到粘贴板!
Dataclass 包含所有与 vllm 相关的配置。这简化了在代码库中传递不同配置的过程。
2.1.13.1. --speculative-config 复制链接链接已复制到粘贴板!
规范解码配置。
应该是有效的 JSON 字符串或 JSON 密钥。
默认 :None
2.1.13.2. --kv-transfer-config 复制链接链接已复制到粘贴板!
分布式 KV 缓存传输的配置。
应该是有效的 JSON 字符串或 JSON 密钥。
默认 :None
2.1.13.3. --kv-events-config 复制链接链接已复制到粘贴板!
事件发布的配置。
应该是有效的 JSON 字符串或 JSON 密钥。
默认 :None
2.1.13.4. --compilation-config, -O 复制链接链接已复制到粘贴板!
torch.compile
and cudagraph 捕获模型配置。
作为一个简写,-O<n
> 可用于直接指定编译级别 n
:-O3
等同于 -O.level=3
(same as -O='{"level":3}'
)。目前,-O <n>and -O=<n> are supported as well but this will likely be removed in favor of clearer -O<n>syntax in the future.</n></n></n>
级别 0 是没有任何优化的默认级别。级别 1 和 2 仅用于内部测试。3 级是生产环境的建议级别,在 V1 中是默认级别。
您可以指定完整的编译配置,如 so: {"level": 3, "cudagraph_capture_sizes": [1, 2, 4, 8]}
应该是有效的 JSON 字符串或 JSON 密钥。
Default:
2.1.13.5. --additional-config 复制链接链接已复制到粘贴板!
指定平台的额外配置。不同的平台可能支持不同的配置。确保配置对您要使用的平台有效。内容必须可以哈希。
默认 :{}