附加配置#
附加配置是 vLLM 提供的一种机制,允许插件自行控制内部行为。vLLM Ascend 利用这种机制来增强项目的灵活性。
Migration Guide#
Starting from PR #9064, vLLM Ascend is migrating 10 environment variables to --additional-config.
Important Notice#
Current Support: Both environment variables and
--additional-configare supported during the transition periodRecommendation: Use
--additional-configfor new deployments and migrate existing configurationsFuture Plan: Environment variables will be removed in a future release; only
--additional-configwill be supported
Quick Reference#
Environment Variable |
Config Key |
Type Conversion |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
Integer (unchanged) |
|
|
|
|
|
|
|
|
Integer (unchanged, field name changed) |
|
|
|
|
|
Integer (unchanged) |
|
|
|
Example Migration#
Before (environment variable):
export VLLM_ASCEND_ENABLE_FLASHCOMM1=1
vllm serve Qwen/Qwen3-8B
After (additional-config):
vllm serve Qwen/Qwen3-8B --additional-config='{"enable_flashcomm1": true}'
如何使用#
无论是在线模式还是离线模式,用户都可以使用附加配置。以 Qwen3 为例:
在线模式:
vllm serve Qwen/Qwen3-8B --additional-config='{"config_key":"config_value"}'
离线模式:
from vllm import LLM
LLM(model="Qwen/Qwen3-8B", additional_config={"config_key":"config_value"})
配置选项#
下表列出了 vLLM Ascend 中可用的附加配置选项:
名称 |
类型 |
默认值 |
描述 |
|---|---|---|---|
|
dict |
|
Xlite 图模式的配置选项 |
|
dict |
|
权重预取的配置选项 |
|
dict |
|
模块级张量并行的配置选项 |
|
dict |
|
昇腾编译选项配置 |
|
dict |
|
EPLB 的配置选项 |
|
bool |
|
是否刷新全局昇腾配置内容。通常用于 RLHF 训练或 UT/E2E 测试用例。 |
|
dict |
|
内联 msprobe dump 配置。vLLM-Ascend 会将其物化为临时 JSON 文件,并将该文件传递给调试器。 |
|
str |
|
msprobe dump 的配置文件路径(兼容旧版选项)。 |
|
bool |
|
是否启用异步指数重叠。设置为 True 以启用异步指数。 |
|
bool |
|
在数据并行中共享专家模型可提供更好的性能,但会消耗更多显存。目前仅支持 DeepSeek 系列模型。 |
|
bool |
|
是否启用多流共享专家。此选项仅对包含共享专家的 MoE 模型生效。 |
|
bool |
|
是否启用多流门控重叠。此选项仅对包含共享专家的 MoE 模型生效。 |
|
bool |
|
是否启用重计算调度器。仅在 PD 解耦模式下有效( |
|
bool |
|
在 ARM 服务器上启用昇腾原生 CPU 绑定。设置为 |
|
int |
|
动态批处理的服务级别目标限制。这是支持动态批处理功能的新调度器。 |
|
bool |
|
是否启用 npugraph_ex 图模式。 |
|
list |
|
页面注意力算子的自定义形状列表。 |
|
bool |
|
是否启用 KV 缓存 NZ 布局。此选项仅对使用 MLA 的模型(如 DeepSeek)生效。 |
|
dict |
|
层分片线性的配置选项。层分片只能在 PD 解耦的 P 节点中启用。 |
|
bool |
|
是否在 DSA 模型中启用 KV 缓存 C8(例如 DeepSeekV3.2 和 GLM5)。目前 A5 设备不支持。 |
|
bool |
|
通过 ROCE 启用分发/组合操作的节点间通信。 |
|
dict |
|
动态分块流水线并行的配置选项。详情请参见动态分块流水线并行。 |
|
bool |
|
Whether to enable balance scheduling. Can also be configured via |
|
bool |
|
Whether to enable FlashComm1 optimization. Can also be configured via |
|
bool |
|
Whether to enable matmul allreduce optimization. Can also be configured via |
|
int |
|
FlashComm2 parallel size. Can also be configured via |
|
bool |
|
Whether to use daemon mode for msmonitor. Can also be configured via |
|
bool |
|
Whether to enable MLAPO (Model Layer-wise Adaptive Parallel Optimization). Can also be configured via |
|
int |
|
Weight NZ mode. Can also be configured via |
|
bool |
|
Whether to enable context parallelism. Can also be configured via |
|
int |
|
Fused MC2 configuration. Can also be configured via |
|
bool |
|
Whether to enable transpose KV cache by block. Can also be configured via |
|
bool |
|
Whether to enable dsa_cp for DeepSeek V3.2, DeepSeek V4, and other models with the same architecture. This feature depends on FLASHCOMM1. Please ensure that FLASHCOMM1 is enabled before enabling this feature. |
每个配置选项的详细说明如下:
xlite_graph_config
名称 |
类型 |
默认值 |
描述 |
|---|---|---|---|
|
bool |
|
是否启用 Xlite 图模式。目前仅支持 Llama、Qwen 全量系列模型以及 Qwen3-VL。 |
|
bool |
|
是否在预填充和解码阶段同时启用 Xlite。默认情况下,Xlite 仅在解码阶段启用。 |
weight_prefetch_config
名称 |
类型 |
默认值 |
描述 |
|---|---|---|---|
|
bool |
|
是否启用权重预取。 |
|
dict |
|
各项权重的预取比例。 |
finegrained_tp_config
名称 |
类型 |
默认值 |
描述 |
|---|---|---|---|
|
int |
|
lm_head 的自定义张量并行大小。 |
|
int |
|
o_proj 的自定义张量并行大小。 |
|
int |
|
embedding 层的自定义张量并行大小。 |
|
int |
|
MLP 层的自定义张量并行大小。 |
ascend_compilation_config
名称 |
类型 |
默认值 |
描述 |
|---|---|---|---|
|
bool |
|
是否启用 npugraph_ex 后端。 |
|
bool |
|
是否启用静态内核。适用于形状变化极小且有时间为静态内核编译预留时间的场景。 |
|
bool |
|
是否启用 fuse_norm_quant 优化通道。 |
|
bool |
|
是否启用 fuse_qknorm_rope 优化通道。如果环境中没有安装 Triton,请将其设置为 False。 |
|
bool |
|
是否启用 fuse_allreduce_rms 优化通道。由于与 SP 存在冲突,默认设置为 False。 |
|
bool |
|
是否启用 fuse_muls_add 优化通道。 |
eplb_config
名称 |
类型 |
默认值 |
描述 |
|---|---|---|---|
|
bool |
|
是否启用动态专家并行负载均衡 (EPLB)。 |
|
str |
|
为 MoE 模型使用专家负载均衡时,需要传入专家映射表的路径。 |
|
int |
|
EPLB 开始前的正向迭代次数。 |
|
int |
|
EPLB 工作线程完成 CPU 任务所需的正向迭代次数。 |
|
str |
|
将专家负载计算结果保存到指定目录下的新专家表中。 |
|
int |
|
在初始化阶段指定冗余专家的数量。 |
profiling_chunk_config
名称 |
类型 |
默认值 |
描述 |
|---|---|---|---|
|
bool |
|
是否启用动态分块流水线并行。需要 |
|
float |
|
平滑因子 (0 < x ≤ 1.0)。值越大越信任动态预测; |
|
int |
|
动态计算的最小分块大小。应小于 |
|
bool |
True |
启用/禁用在线校准 |
示例#
附加配置的一个示例如下:
{
"weight_prefetch_config": {
"enabled": True,
"prefetch_ratio": {
"attn": {
"qkv": 1.0,
"o": 1.0,
},
"moe": {
"gate_up": 0.8
},
"mlp": {
"gate_up": 1.0,
"down": 1.0
}
},
},
"finegrained_tp_config": {
"lmhead_tensor_parallel_size": 8,
"oproj_tensor_parallel_size": 8,
"embedding_tensor_parallel_size": 8,
"mlp_tensor_parallel_size": 8,
},
"enable_kv_nz": False,
"multistream_overlap_shared_expert": True,
"refresh": False
}