引擎参数¶
引擎参数控制vLLM引擎的行为。
引擎参数类EngineArgs和AsyncEngineArgs是vllm.config中定义配置类的组合。因此,如果您对开发者文档感兴趣,我们建议查看这些配置类,因为它们是类型、默认值和文档字符串的权威来源。
EngineArgs¶
--disable-log-stats¶
禁用日志统计。
默认值: False
--enable-prompt-adapter¶
[已弃用] 提示适配器已被移除。将此标志设置为True或False对vLLM行为没有影响。
默认值: False
ModelConfig¶
模型配置。
--model¶
使用的Hugging Face模型名称或路径。当未指定served_model_name时,该值也会作为指标输出中model_name标签的内容。
默认值: Qwen/Qwen3-0.6B
--runner¶
可选选项: auto, draft, generate, pooling
要使用的模型运行器类型。每个vLLM实例仅支持一个模型运行器,即使同一模型可用于多种类型。
默认值: auto
--convert¶
可选选项: auto, classify, embed, none, reward
使用vllm.model_executor.models.adapters中定义的适配器转换模型。最常见的应用场景是将文本生成模型适配用于池化任务。
默认值: auto
--task¶
可选选项:auto, classify, draft, embed, embedding, generate, reward, score, transcription, None
[已弃用] 该任务用于指定模型用途。如果模型支持多个模型运行器,此参数用于选择要运行的模型运行器。
请注意,该模型可能支持使用相同模型运行器的其他任务。
默认值: None
--tokenizer¶
要使用的Hugging Face分词器名称或路径。如果未指定,将使用模型名称或路径。
默认值: None
--tokenizer-mode¶
可选值: auto, custom, mistral, slow
分词器模式:
-
"auto" 会在可用时使用快速分词器。
-
"slow" 将始终使用慢速分词器。
-
"mistral" 将始终使用
mistral_common中的分词器。 -
"custom" 将使用 --tokenizer 来选择预注册的分词器。
默认值: auto
--trust-remote-code, --no-trust-remote-code¶
下载模型和分词器时信任远程代码(例如来自HuggingFace)。
默认值: False
--dtype¶
可选值:auto, bfloat16, float, float16, float32, half
模型权重和激活值的数据类型:
-
"auto" 模式将针对FP32和FP16模型使用FP16精度,针对BF16模型使用BF16精度。
-
"half" 表示 FP16(半精度浮点数)。推荐用于 AWQ 量化。
-
"float16" 等同于 "half"。
-
"bfloat16" 在精度和范围之间取得平衡。
-
"float" 是 FP32 精度的简写。
-
"float32" 表示 FP32 精度。
默认值: auto
--seed¶
用于复现的随机种子。在V0版本中初始化为None,但在V1版本中初始化为0。
默认值: None
--hf-config-path¶
要使用的Hugging Face配置名称或路径。如果未指定,将使用模型名称或路径。
默认值: None
--allowed-local-media-path¶
允许API请求从服务器文件系统指定的目录中读取本地图片或视频。这会带来安全风险,仅应在可信环境中启用。
默认值:``
--revision¶
指定要使用的具体模型版本。可以是分支名称、标签名称或提交ID。如果未指定,将使用默认版本。
默认值: None
--code-revision¶
指定Hugging Face Hub上模型代码使用的具体版本号。可以是分支名称、标签名称或提交ID。如果未指定,将使用默认版本。
默认值: None
--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
此外,可以使用 + 逐个传递列表元素:
-
--json-arg '{"key4": ["value3", "value4", "value5"]}' -
--json-arg.key4+ value3 --json-arg.key4+='value4,value5'
默认值: {}
--rope-theta¶
RoPE theta。与rope_scaling配合使用。在某些情况下,调整RoPE theta可以提升缩放模型的性能。
默认值: None
--tokenizer-revision¶
指定Hugging Face Hub上分词器使用的具体版本修订号。可以是分支名称、标签名称或提交ID。如果未指定,将使用默认版本。
默认值: None
--max-model-len¶
模型上下文长度(提示词与输出)。如果未指定,将自动从模型配置中推导得出。
当通过--max-model-len传递时,支持以人类可读格式使用k/m/g/K/M/G。示例:
-
1k -> 1000
-
1K 转换为 1024
-
25.6k -> 25,600
默认值: None
--quantization, -q¶
用于量化权重的方法。如果为None,我们首先检查模型配置文件中的quantization_config属性。如果该属性也是None,我们假定模型权重未被量化,并使用dtype来确定权重的数据类型。
默认值: None
--enforce-eager, --no-enforce-eager¶
是否始终使用PyTorch的eager模式。如果为True,将禁用CUDA图并始终以eager模式执行模型。如果为False,将混合使用CUDA图和eager执行以获得最佳性能和灵活性。
默认值: False
--max-seq-len-to-capture¶
CUDA图覆盖的最大序列长度。当序列的上下文长度超过此值时,我们将回退到即时执行模式。此外,对于编码器-解码器模型,如果编码器输入的序列长度超过此值,我们也将回退到即时执行模式。
默认值: 8192
--max-logprobs¶
当在SamplingParams中指定logprobs时,要返回的最大对数概率数。默认值来自OpenAI Chat Completions API的默认设置。
默认值: 20
--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
--disable-sliding-window, --no-disable-sliding-window¶
是否禁用滑动窗口。如果为True,将禁用模型的滑动窗口功能,限制为滑动窗口大小。如果模型不支持滑动窗口,则忽略此参数。
默认值: False
--disable-cascade-attn, --no-disable-cascade-attn¶
为V1禁用级联注意力机制。虽然级联注意力不会改变数学正确性,但禁用它可能有助于防止潜在的数字问题。请注意,即使将此设置为False,级联注意力也仅会在启发式判断认为有益时使用。
默认值: False
--skip-tokenizer-init, --no-skip-tokenizer-init¶
跳过分词器和逆分词器的初始化。期望输入中的prompt_token_ids有效且提示为None。生成的输出将包含令牌ID。
默认值: False
--enable-prompt-embeds, --no-enable-prompt-embeds¶
如果设为True,则允许通过prompt_embeds键传入文本嵌入作为输入。请注意,启用此选项将使图编译所需时间翻倍。
默认值: False
--served-model-name¶
API中使用的模型名称。如果提供多个名称,服务器将响应其中任何一个名称。响应中model字段的模型名称将是此列表中的第一个名称。如果未指定,模型名称将与--model参数相同。请注意,此名称也将用于prometheus指标的model_name标签内容,如果提供多个名称,指标标签将采用第一个名称。
默认值: None
--disable-async-output-proc¶
禁用异步输出处理。这可能导致性能下降。
默认值: False
--config-format¶
可选选项: auto, hf, mistral
加载模型配置的格式:
-
"auto"会尝试加载hf格式的配置(如果可用),否则将尝试加载mistral格式的配置。
-
"hf"将以hf格式加载配置。
-
"mistral" 将以 mistral 格式加载配置。
默认值: auto
--hf-token¶
用于远程文件的HTTP Bearer授权令牌。如果设为True,将使用运行huggingface-cli login时生成的令牌(存储在~/.huggingface中)。
默认值: None
--hf-overrides¶
如果是字典,包含要转发给Hugging Face配置的参数。如果是可调用对象,则调用它来更新HuggingFace配置。
默认值: {}
--override-neuron-config¶
初始化非默认的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
此外,可以使用 + 逐个传递列表元素:
-
--json-arg '{"key4": ["value3", "value4", "value5"]}' -
--json-arg.key4+ value3 --json-arg.key4+='value4,value5'
默认值: {}
--override-pooler-config¶
初始化非默认的池化配置或覆盖池化模型的默认池化配置。例如 {"pooling_type": "mean", "normalize": false}。
默认值: None
--logits-processor-pattern¶
可选的正则表达式模式,用于指定可以通过logits_processors额外完成参数传递的有效logits处理器限定名称。默认为None,表示不允许使用任何处理器。
默认值: None
--generation-config¶
生成配置的文件夹路径。默认为"auto",生成配置将从模型路径加载。如果设置为"vllm",则不加载生成配置,将使用vLLM默认值。如果设置为文件夹路径,生成配置将从指定的文件夹路径加载。如果在生成配置中指定了max_new_tokens,那么它将为所有请求设置服务器范围内的输出令牌数量限制。
默认值: auto
--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
此外,可以使用 + 逐个传递列表元素:
-
--json-arg '{"key4": ["value3", "value4", "value5"]}' -
--json-arg.key4+ value3 --json-arg.key4+='value4,value5'
默认值: {}
--enable-sleep-mode, --no-enable-sleep-mode¶
为引擎启用休眠模式(仅支持CUDA平台)。
默认值: False
--model-impl¶
可选选项: auto, vllm, transformers
选择使用哪种模型实现:
-
"auto"将尝试使用vLLM实现(如果存在),如果没有可用的vLLM实现,则回退到Transformers实现。
-
"vllm" 将使用 vLLM 模型实现。
-
"transformers" 将使用 Transformers 模型实现。
默认值: auto
--override-attention-dtype¶
覆盖注意力机制的数据类型
默认值: None
加载配置¶
用于加载模型权重的配置。
--load-format¶
要加载的模型权重格式:
-
"auto" 将尝试加载 safetensors 格式的权重,如果 safetensors 格式不可用,则回退到 pytorch bin 格式。
-
"pt" 将以 PyTorch 二进制格式加载权重。
-
"safetensors" 将以 safetensors 格式加载权重。
-
"npcache" 将以pytorch格式加载权重并存储一个numpy缓存以加速加载过程。
-
"dummy" 将使用随机值初始化权重,主要用于性能分析。
-
"tensorizer"将使用CoreWeave的tensorizer库实现快速权重加载。更多信息请参阅示例章节中的Tensorize vLLM Model脚本。
-
"runai_streamer" 将使用 Run:ai 模型流式加载器加载 Safetensors 权重。
-
"bitsandbytes" 将使用 bitsandbytes 量化方式加载权重。
-
"sharded_state" 会从预分片的检查点文件加载权重,支持高效加载张量并行模型。
-
"gguf" 将从 GGUF 格式文件中加载权重(具体细节详见 https://github.com/ggml-org/ggml/blob/master/docs/gguf.md)。
-
"mistral" 将从 Mistral 模型使用的 consolidated safetensors 文件中加载权重。
- 其他自定义值可以通过插件支持。
默认值: auto
--download-dir¶
下载和加载权重的目录,默认为Hugging Face的默认缓存目录。
默认值: None
--model-loader-extra-config¶
模型加载器的额外配置。这将传递给与所选加载格式对应的模型加载器。
默认值: {}
--ignore-patterns¶
加载模型时需要忽略的模式列表。默认为"original/*/"以避免重复加载llama的检查点。
默认值: None
--use-tqdm-on-load, --no-use-tqdm-on-load¶
是否启用tqdm以在加载模型权重时显示进度条。
默认值: True
--pt-load-map-location¶
pt_load_map_location: the map location for loading pytorch checkpoint, to support loading checkpoints can only be loaded on certain devices like "cuda", this is equivalent to {"": "cuda"}. Another supported format is mapping from different devices like from GPU 1 to GPU 0: {"cuda:1": "cuda:0"}. Note that when passed from command line, the strings in dictionary needs to be double quoted for json parsing. For more details, see original doc for map_location in https://pytorch.org/docs/stable/generated/torch.load.html
默认值: cpu
解码配置¶
包含引擎解码策略的数据类。
--guided-decoding-backend¶
可选选项: auto, guidance, outlines, xgrammar
默认情况下将使用哪种引擎进行引导式解码(JSON模式/正则表达式等)。设置为"auto"时,我们会根据请求内容和后端库当前支持的功能做出预设选择,因此每个版本的行为可能会有所变化。
默认值: auto
--guided-decoding-disable-fallback, --no-guided-decoding-disable-fallback¶
如果设为True,vLLM在出错时将不会回退到其他后端。
默认值: False
--guided-decoding-disable-any-whitespace, --no-guided-decoding-disable-any-whitespace¶
如果设为True,模型在引导式解码过程中将不会生成任何空白字符。该功能目前仅支持xgrammar和guidance后端。
默认值: False
--guided-decoding-disable-additional-properties, --no-guided-decoding-disable-additional-properties¶
如果设为True,guidance后端将不会在JSON模式中使用additionalProperties。此功能仅适用于guidance后端,用于使其行为更好地与outlines和xgrammar保持一致。
默认值: False
--reasoning-parser¶
可选选项:deepseek_r1, glm45, granite, hunyuan_a13b, mistral, qwen3, step3
根据您使用的模型选择合适的推理解析器。该解析器用于将推理内容转换为OpenAI API格式。
默认值:``
ParallelConfig¶
分布式执行的配置。
--distributed-executor-backend¶
可选选项:external_launcher, mp, ray, uni, None
分布式模型工作器使用的后端,可选"ray"或"mp"(多进程)。如果pipeline_parallel_size和tensor_parallel_size的乘积小于等于可用GPU数量,将使用"mp"以保持单主机处理。否则,若已安装Ray则默认使用"ray",未安装则会报错。注意TPU仅支持通过Ray进行分布式推理。
默认值: None
--pipeline-parallel-size, -pp¶
流水线并行组的数量。
默认值: 1
--tensor-parallel-size, -tp¶
张量并行组的数量。
默认值: 1
--data-parallel-size, -dp¶
数据并行组的数量。MoE层将根据张量并行规模与数据并行规模的乘积进行分片。
默认值: 1
--data-parallel-rank, -dpn¶
该实例的数据并行等级。设置后,将启用外部负载均衡器模式。
默认值: None
--data-parallel-start-rank, -dpr¶
启动次级节点的数据并行等级。
默认值: None
--data-parallel-size-local, -dpl¶
在此节点上运行的数据并行副本数量。
默认值: None
--data-parallel-address, -dpa¶
数据并行集群头节点的地址。
默认值: None
--data-parallel-rpc-port, -dpp¶
数据并行RPC通信的端口。
默认值: None
--data-parallel-backend, -dpb¶
数据并行的后端,可选 "mp" 或 "ray"。
默认值: mp
--data-parallel-hybrid-lb, --no-data-parallel-hybrid-lb¶
是否启用"混合"数据并行负载均衡模式。仅适用于在线服务且当data_parallel_size大于0时。该模式支持在"每节点"基础上运行AsyncLLM和API服务器,其中vLLM在本地数据并行等级间进行负载均衡,而外部负载均衡器则在vLLM节点/副本间进行均衡。需与--data-parallel-start-rank参数配合显式设置。
默认值: False
--enable-expert-parallel, --no-enable-expert-parallel¶
对MoE层使用专家并行而非张量并行。
默认值: False
--enable-eplb, --no-enable-eplb¶
为MoE层启用专家并行负载均衡。
默认值: False
--num-redundant-experts¶
用于专家并行化的冗余专家数量。
默认值: 0
--eplb-window-size¶
专家负载记录的窗口大小。
默认值: 1000
--eplb-step-interval¶
专家并行中重新排列专家的间隔时间。
请注意,如果该值大于EPLB窗口大小,则只有最后eplb_window_size步的指标会被用于重新排列专家。
默认值: 3000
--eplb-log-balancedness, --no-eplb-log-balancedness¶
记录专家并行化每一步的平衡性。默认情况下此功能是关闭的,因为它会导致通信开销。
默认值: False
--max-parallel-loading-workers¶
Maximum number of parallel loading workers when loading model sequentially in multiple batches. To avoid RAM OOM when using tensor parallel and large models.
默认值: None
--ray-workers-use-nsight, --no-ray-workers-use-nsight¶
Whether to profile Ray workers with nsight, see https://docs.ray.io/en/latest/ray-observability/user-guides/profiling.html#profiling-nsight-profiler.
默认值: False
--disable-custom-all-reduce, --no-disable-custom-all-reduce¶
禁用自定义的all-reduce内核并回退到NCCL。
默认值: False
--worker-cls¶
要使用的worker类的全名。如果为"auto",将根据平台自动确定worker类。
默认值: auto
--worker-extension-cls¶
要使用的worker扩展类的完整名称。worker扩展类会被worker类动态继承。这用于向worker类注入新的属性和方法,以便在collective_rpc调用中使用。
默认值:``
--enable-multimodal-encoder-data-parallel, --no-enable-multimodal-encoder-data-parallel¶
对视觉编码器使用数据并行而非张量并行。目前仅支持LLama4
默认值: False
CacheConfig¶
KV缓存的配置。
--block-size¶
可选值:1, 8, 16, 32, 64, 128
连续缓存块的大小,以令牌数量表示。在神经元设备上此设置会被忽略,并固定为--max-model-len。在CUDA设备上,仅支持最大32的块大小。在HPU设备上,块大小默认为128。
此配置没有静态默认值。如果用户未指定,将根据当前平台在Platform.check_and_update_config()中设置。
默认值: None
--gpu-memory-utilization¶
用于模型执行器的GPU内存比例,取值范围为0到1。例如,值为0.5表示50%%的GPU内存利用率。如果未指定,将使用默认值0.9。这是一个单实例限制,仅适用于当前vLLM实例。即使同一GPU上运行着另一个vLLM实例也不受影响。例如,如果在同一GPU上运行两个vLLM实例,可以为每个实例设置0.5的GPU内存利用率。
默认值: 0.9
--swap-space¶
每个GPU的CPU交换空间大小(以GiB为单位)。
默认值: 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
--num-gpu-blocks-override¶
指定使用的GPU块数量。如果设置了此参数,将覆盖性能分析得出的num_gpu_blocks值。若为None则不生效。用于测试抢占功能。
默认值: None
--enable-prefix-caching, --no-enable-prefix-caching¶
是否启用前缀缓存。V0版本默认禁用,V1版本默认启用。
默认值: None
--prefix-caching-hash-algo¶
可选值: builtin, sha256, sha256_cbor_64bit
设置前缀缓存的哈希算法:
-
"builtin" 是 Python 的内置哈希函数。
-
"sha256"具有抗碰撞性但存在一定开销。该选项在哈希处理前使用Pickle进行对象序列化。
-
"sha256_cbor_64bit" 提供了一种可重现、跨语言兼容的哈希算法。它使用规范CBOR序列化对象,并通过SHA-256进行哈希计算。最终生成的哈希值由SHA-256摘要的低64位组成。
默认值: builtin
--cpu-offload-gb¶
每块GPU可卸载到CPU的内存空间大小(单位为GiB)。默认值为0,表示不进行卸载。直观来说,这个参数可以视为虚拟扩展GPU内存容量的方式。例如,若您拥有一块24GB的GPU并将此参数设为10,从虚拟角度可以将其视为34GB的GPU。这样您就能加载需要至少26GB显存的13B BF16权重模型。请注意,这需要高速的CPU-GPU互连带宽,因为在每次模型前向传播时,部分模型权重会实时从CPU内存加载到GPU内存。
默认值: 0
--calculate-kv-scales, --no-calculate-kv-scales¶
当kv_cache_dtype为fp8时,这将启用k_scale和v_scale的动态计算。如果设为False,则会从模型检查点加载缩放因子(如果可用)。否则,缩放因子将默认为1.0。
默认值: False
--kv-sharing-fast-prefill, --no-kv-sharing-fast-prefill¶
此功能正在开发中,目前启用此标志时不会进行预填充优化。
在某些KV共享设置中,例如YOCO(https://arxiv.org/abs/2405.05254),某些层可以跳过与预填充对应的token。此标志允许符合条件的层的注意力元数据被覆盖,以便在某些模型(如Gemma3n)中实现此优化所需的元数据。
默认值: False
MultiModalConfig¶
控制多模态模型的行为。
--limit-mm-per-prompt¶
每个模态下每个提示允许的最大输入项数量。默认为每个模态1项(V0)或999项(V1)。
例如,允许每个提示最多包含16张图片和2个视频:{"image": 16, "video": 2}
可以是一个有效的JSON字符串,也可以单独传递JSON键。例如,以下参数组是等效的:
-
--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'
默认值: {}
--media-io-kwargs¶
传递给处理媒体输入的额外参数,按模态分类。例如,要为视频设置帧数,使用--media-io-kwargs '{"video": {"num_frames": 40} }'
可以是一个有效的JSON字符串,也可以单独传递JSON键。例如,以下参数组是等效的:
-
--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'
默认值: {}
--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
此外,可以使用 + 逐个传递列表元素:
-
--json-arg '{"key4": ["value3", "value4", "value5"]}' -
--json-arg.key4+ value3 --json-arg.key4+='value4,value5'
默认值: None
--disable-mm-preprocessor-cache, --no-disable-mm-preprocessor-cache¶
如果设为True,将禁用对处理后的多模态输入的缓存。
默认值: False
--interleave-mm-strings, --no-interleave-mm-strings¶
为多模态提示启用完全交错支持。
默认值: False
LoRA配置¶
LoRA的配置。
--enable-lora, --no-enable-lora¶
如果为True,则启用LoRA适配器的处理。
默认值: None
--enable-lora-bias, --no-enable-lora-bias¶
为LoRA适配器启用偏置。
默认值: False
--max-loras¶
单个批次中LoRA的最大数量。
默认值: 1
--max-lora-rank¶
最大LoRA秩。
默认值: 16
--lora-extra-vocab-size¶
LoRA适配器中可包含的额外词汇表的最大容量(将添加到基础模型词汇表中)。
默认值: 256
--lora-dtype¶
可选值: auto, bfloat16, float16
LoRA的数据类型。如果设为auto,将默认使用基础模型的数据类型。
默认值: auto
--max-cpu-loras¶
CPU内存中存储的最大LoRA数量。必须大于等于max_loras。
默认值: None
--fully-sharded-loras, --no-fully-sharded-loras¶
默认情况下,只有一半的LoRA计算会通过张量并行进行分片。启用此选项将使用完全分片的层。在高序列长度、最大秩或张量并行规模的情况下,这种方式可能会更快。
默认值: False
--default-mm-loras¶
字典映射特定模态到LoRA模型路径;该字段仅适用于多模态模型,当模型始终期望在给定模态存在时激活LoRA时使用。请注意,目前如果请求提供多个附加模态(每个模态都有自己的LoRA),我们不会应用default_mm_loras,因为当前每个提示仅支持一个lora适配器。在离线模式下运行时,n个模态的lora ID将自动分配为1-n(按模态名称字母顺序排列)。
可以是一个有效的JSON字符串,也可以单独传递JSON键。例如,以下参数组是等效的:
-
--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'
默认值: None
SpeculativeConfig¶
推测解码的配置。
--speculative-config¶
推测解码的配置。应为JSON字符串。
默认值: None
可观测性配置¶
可观测性配置 - 指标与追踪。
--show-hidden-metrics-for-version¶
启用自指定版本起已隐藏的废弃Prometheus指标。例如,如果某个之前废弃的指标自v0.7.0版本起被隐藏,您可以使用--show-hidden-metrics-for-version=0.7作为迁移到新指标前的临时应急方案。该指标很可能会在后续版本中被完全移除。
默认值: None
--otlp-traces-endpoint¶
OpenTelemetry追踪数据将发送的目标URL。
默认值: None
--collect-detailed-traces¶
可选值:all, model, worker, None, model,worker, model,all, worker,model, worker,all, all,model, all,worker
只有在设置了--otlp-traces-endpoint时才需要设置此选项。如果设置,它将为指定模块收集详细跟踪信息。这可能会涉及使用成本较高或阻塞性的操作,因此可能会影响性能。
请注意,收集每个请求的详细计时信息可能会很耗费资源。
默认值: None
SchedulerConfig¶
调度器配置。
--max-num-batched-tokens¶
单次迭代中处理的最大token数量。
此配置没有静态默认值。如果用户未指定,将根据使用场景在EngineArgs.create_engine_config中进行设置。
默认值: None
--max-num-seqs¶
单次迭代中可处理的最大序列数。
此配置没有静态默认值。如果用户未指定,将根据使用场景在EngineArgs.create_engine_config中设置。
默认值: None
--max-num-partial-prefills¶
对于分块预填充,可以同时部分预填充的最大序列数。
默认值: 1
--max-long-partial-prefills¶
对于分块预填充,可以并发预填充的超过长预填充令牌阈值的提示词最大数量。将此值设置为小于最大部分预填充数时,在某些情况下可以让较短的提示词优先于较长的提示词进行填充,从而改善延迟。
默认值: 1
--cuda-graph-sizes¶
CUDA图捕获大小 1. 如果未提供,则默认设置为[min(max_num_seqs * 2, 512)] 2. 如果提供一个值,则捕获列表将遵循模式:[1, 2, 4] + [i for i in range(8, cuda_graph_sizes + 1, 8)] 3. 如果提供多个值(例如1 2 128),则捕获列表将遵循提供的列表。
默认值: []
--long-prefill-token-threshold¶
对于分块预填充,如果提示词长度超过此令牌数,则该请求被视为长请求。
默认值: 0
--num-lookahead-slots¶
每个序列每一步额外分配的槽位数,超出已知令牌ID的部分。这用于推测性解码,存储可能被接受或拒绝的令牌的KV激活状态。
注意:未来这将由推测性配置替代;目前保留该设置是为了在过渡期间确保测试的正确性。
默认值: 0
--scheduler-delay-factor¶
在调度下一个提示之前应用一个延迟(延迟因子乘以前一个提示的延迟时间)。
默认值: 0.0
--preemption-mode¶
可选值: recompute, swap, None
是否通过交换或重新计算来执行抢占。如果未指定,我们将按以下方式确定模式:默认使用重新计算,因为它的开销比交换低。然而,当序列组包含多个序列时(例如束搜索),目前不支持重新计算。在这种情况下,我们将改用交换。
默认值: None
--num-scheduler-steps¶
每次调度器调用的最大前向步数。
默认值: 1
--multi-step-stream-outputs, --no-multi-step-stream-outputs¶
如果为False,则多步操作将在所有步骤结束时流式输出结果
默认值: True
--scheduling-policy¶
可选选项: fcfs, priority
要使用的调度策略:
-
"fcfs" 表示先到先服务,即请求按到达顺序处理。
-
"priority"表示请求将根据给定的优先级(数值越低处理越早)和到达时间(用于处理平局情况)进行处理。
默认值: fcfs
--enable-chunked-prefill, --no-enable-chunked-prefill¶
如果为True,可以根据剩余的max_num_batched_tokens对预填充请求进行分块处理。
默认值: None
--disable-chunked-mm-input, --no-disable-chunked-mm-input¶
如果设置为true且启用了分块预填充,我们不希望部分调度多模态项目。仅在V1中使用,这确保如果一个请求包含混合提示(例如文本标记TTTT后跟图像标记IIIIIIIIII),其中只有部分图像标记可以被调度(例如TTTTIIIII,剩余IIIII),它将在一步中调度为TTTT,下一步中调度为IIIIIIIIII。
默认值: False
--scheduler-cls¶
要使用的调度器类。"vllm.core.scheduler.Scheduler"是默认调度器。可以是一个类,也可以是形式为"mod.custom_class"的类路径。
默认值: vllm.core.scheduler.Scheduler
--disable-hybrid-kv-cache-manager, --no-disable-hybrid-kv-cache-manager¶
如果设置为True,KV缓存管理器将为所有注意力层分配相同大小的KV缓存,即使存在多种类型的注意力层(如全注意力和滑动窗口注意力)。
默认值: False
--async-scheduling, --no-async-scheduling¶
实验性功能:如果设置为True,将执行异步调度。这有助于降低CPU开销,从而改善延迟和吞吐量。但请注意,异步调度目前不支持某些功能,如结构化输出、推测性解码和流水线并行。
默认值: False
Vllm配置¶
包含所有vllm相关配置的数据类。这简化了在代码库中传递不同配置的过程。
--kv-transfer-config¶
分布式KV缓存传输的配置。
可以是一个有效的JSON字符串,也可以单独传递JSON键。例如,以下参数组是等效的:
-
--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'
默认值: None
--kv-events-config¶
事件发布的配置。
可以是一个有效的JSON字符串,也可以单独传递JSON键。例如,以下参数组是等效的:
-
--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'
默认值: None
--compilation-config, -O¶
torch.compile 和模型的 cudagraph 捕获配置。
作为简写形式,-O 可直接用于指定编译级别 n:-O3 等同于 -O.level=3(与 -O='{"level":3}' 相同)。目前也支持 -O
注意:级别0是没有任何优化的默认级别。级别1和2仅用于内部测试。级别3是生产环境推荐级别,也是V1版本的默认级别。
你可以像这样指定完整的编译配置:{"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
此外,可以使用 + 逐个传递列表元素:
-
--json-arg '{"key4": ["value3", "value4", "value5"]}' -
--json-arg.key4+ value3 --json-arg.key4+='value4,value5'
默认值: {"level":null,"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}
--additional-config¶
针对指定平台的额外配置。不同平台可能支持不同的配置项。请确保您使用的配置在当前平台有效。配置内容必须可哈希化。
默认值: {}
AsyncEngineArgs¶
--disable-log-requests¶
禁用日志记录请求。
默认值: False