附加配置#
附加配置是 vLLM 提供的一种机制,允许插件自行控制内部行为。VLLM Ascend 利用此机制使项目更加灵活。
使用方法#
无论是在线模式还是离线模式,用户都可以使用附加配置。以 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 |
|
是否刷新全局 Ascend 配置内容。通常由 RLHF 或 UT/E2E 测试用例使用。 |
|
str |
|
msprobe dump(eager 模式)的配置文件路径。 |
|
bool |
|
是否启用异步指数重叠。要启用异步指数,请将此配置设置为 True。 |
|
bool |
|
当专家在 DP 中共享时,可获得更好的性能但会消耗更多内存。目前仅支持 DeepSeek 系列模型。 |
|
bool |
|
是否启用多流共享专家。此选项仅对具有共享专家的 MoE 模型生效。 |
|
bool |
|
是否启用多流重叠门。此选项仅对具有共享专家的 MoE 模型生效。 |
|
bool |
|
是否启用重计算调度器。仅在 PD 解耦模式下有效( |
|
bool |
|
是否启用 CPU 绑定。仅在 ARM CPU 上生效;A3 使用全局切片 CPU 分配策略,其他设备类型使用拓扑亲和性 CPU 分配策略。 |
|
int |
|
动态批处理的 SLO 限制。这是支持动态批处理功能的新调度器。 |
|
bool |
|
是否启用 npugraph_ex 图模式。 |
|
list |
|
页面注意力算子的自定义形状列表。 |
|
bool |
|
是否启用 KV 缓存 NZ 布局。此选项仅对使用 MLA 的模型(例如 DeepSeek)生效。 |
|
dict |
|
层分片线性层的配置选项。在 PD 解耦部署中,仅支持在 |
|
bool |
|
是否在 DSA 模型(例如 DeepSeekV3.2 和 GLM5)中启用 KV 缓存 C8。目前 Ascend 950 设备不支持。 |
|
bool |
|
通过 ROCE 启用分发/组合算子的节点间通信。 |
每个配置选项的详细信息如下:
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 |
|
在初始化时指定冗余专家数量。 |
示例#
以下是额外配置的一个示例:
{
"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
}