附加配置

附加配置#

附加配置是 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 中可用的附加配置选项:

名称

类型

默认值

描述

xlite_graph_config

dict

{}

xlite 图模式的配置选项

weight_prefetch_config

dict

{}

权重预取 (Weight Prefetch) 的配置选项

finegrained_tp_config

dict

{}

模块级张量并行 (Module Tensor Parallelism) 的配置选项

ascend_compilation_config

dict

{}

昇腾编译选项配置

eplb_config

dict

{}

昇腾编译选项配置

refresh

bool

false

是否刷新全局昇腾配置内容。通常用于 RLHF 训练或 UT/E2E 测试用例。

dump_config_path

str

None

msprobe dump 的配置文件路径(仅限 Eager 模式)。

enable_async_exponential

bool

False

是否启用异步指数 (Async Exponential) Overlap。设置为 True 以启用此功能。

enable_shared_expert_dp

bool

False

在数据并行 (DP) 中共享专家模型可提供更好的性能,但会消耗更多显存。目前仅支持 DeepSeek 系列模型。

multistream_overlap_shared_expert

bool

False

是否启用多流共享专家 Overlap。此选项仅对包含共享专家的 MoE 模型生效。

multistream_overlap_gate

bool

False

是否启用多流门控 (Gate) Overlap。此选项仅对包含共享专家的 MoE 模型生效。

recompute_scheduler_enable

bool

False

是否启用重计算调度器。

enable_cpu_binding

bool

False

是否启用 CPU 绑定(亲和性设置)。

SLO_limits_for_dynamic_batch

int

-1

动态 Batch 的 SLO(服务等级目标)限制。这是用于支持动态特性的新调度器参数。

pa_shape_list

list

[]

Page Attention 算子的自定义 Shape 列表。

init_redundancy_expert

int

0

初始化阶段指定的冗余专家数量。

enable_kv_nz

bool

False

是否启用 KVCache NZ 布局。此选项仅对使用 MLA(多头潜在注意力)的模型(如 DeepSeek)生效。

layer_sharding

dict

{}

层分片 (Layer Sharding) 线性层的配置选项

每个配置选项的详细说明如下:

xlite_graph_config

名称

类型

默认值

描述

enabled (启用)

bool

False

是否启用 xlite 图模式。目前仅支持 Llama、Qwen 全量(dense)系列模型以及 Qwen3-VL。

full_mode

bool

False

是否在 Prefill(预填充)和 Decode(解码)阶段同时启用 xlite。默认情况下,xlite 仅在 Decode 阶段启用。

weight_prefetch_config

名称

类型

默认值

描述

enabled (启用)

bool

False

是否启用权重预取。

prefetch_ratio

dict

{"attn": {"qkv": 1.0, "o": 1.0}, "moe": {"gate_up": 0.8}}

各项权重的预取比例。

finegrained_tp_config

名称

类型

默认值

描述

lmhead_tensor_parallel_size

int

0

LM Head 层的自定义张量并行大小。

oproj_tensor_parallel_size

int

0

Oproj 层的自定义张量并行大小。

embedding_tensor_parallel_size

int

0

Embedding 层的自定义张量并行大小。

mlp_tensor_parallel_size

int

0

MLP 层的自定义张量并行大小。

ascend_compilation_config

名称

类型

默认值

描述

fuse_norm_quant

bool

True

是否启用 Norm 与量化 (Quant) 的算子融合(Operator Fusion)优化。

fuse_qknorm_rope

bool

False

是否启用 QKNorm 与 RoPE 的算子融合优化。安装 Triton 后,此项默认为 True。

eplb_config

名称

类型

默认值

描述

dynamic_eplb

bool

False

是否启用动态专家负载均衡 (Dynamic EPLB)。

expert_map_path

str

None

在使用 MoE 模型的专家负载均衡时,需要传入专家映射表的路径。

expert_heat_collection_interval

int

400

开始 EPLB 调整前的正向迭代次数。

algorithm_execution_interval

int

30

The forward iterations when the EPLB worker will finish CPU tasks.

expert_map_record_path

str

None

将专家负载计算结果保存到指定目录下的新专家表中。

num_redundant_experts

int

0

初始化阶段指定的冗余专家数量。

示例#

附加配置的一个示例如下:

{
    "weight_prefetch_config": {
        "enabled": True,
        "prefetch_ratio": {
            "attn": {
                "qkv": 1.0,
                "o": 1.0,
            },
            "moe": {
                "gate_up": 0.8
            }
        },
    },
    "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
}