作者:昇腾实战派

背景概述

在大模型推理场景中,高并发、长序列下的单路吞吐性能直接影响系统整体效率与资源利用率。本文针对Qwen3-235B模型在Atlas 800I A2平台8卡部署的性能瓶颈问题,围绕输入长度1k、输出长度1k、25并发的典型场景,开展系统性性能调优。初始吞吐未达预期目标,亟需通过深度分析与多维度优化,挖掘潜在性能空间,提升推理效率。

环境版本

环境 版本
推理引擎 vllm-ascend_v0.13.0
CANN 8.5.0
驱动固件 25.5.0
python 3.11.0
torch_npu 2.9.0

优化策略与实践

1. 关闭专家并行与FLASH_COMM1通信优化

在初步性能分析中发现,启用--enable-expert-parallel与环境变量VLLM_ASCEND_ENABLE_FLASHCOMM1=1会引入hcom_reduceScatter_hcom_allGather_等通信算子,显著增加调度开销。通过关闭这两个特性,可有效消除通信算子,降低图执行时延。

该优化使整体推理效率提升约3%,为后续优化奠定基础。

2. 消除MoeInitRoutingCustom中的cumsum算子

关闭专家并行后,引入MoeInitRoutingCustom算子,其内部包含cumsum操作,成为关键性能瓶颈。通过修改源码,将该算子中cumsum逻辑替换为自定义融合实现,成功移除该耗时算子。

该优化显著降低前向计算延迟,尤其在MoE模型中具有普适性价值。

代码修改点
路径:vllm-ascend/vllm_ascend/ops/fused_moe/token_dispatcher.py
将两处cumsum相关参数设为0,禁用默认cumsum实现。

3. 图模式CudaGraph Capture Size设置为并发数

在关闭专家并行与FLASH_COMM1后,CudaGraph Capture Size不再强制要求为TP Size的倍数。针对25并发场景,将cudagraph_capture_size显式设置为[25],使图捕获更贴合实际负载分布。

该设置有效减少图重建与调度开销,提升图复用率,吞吐提升约7%,尤其适用于固定并发场景。

最终部署命令

export HCCL_OP_EXPANSION_MODE="AIV"
export HCCL_BUFFSIZE=1024
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export OMP_NUM_THREADS=1
echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
sysctl -w vm.swappiness=0
sysctl -w kernel.numa_balancing=0
sysctl kernel.sched_migration_cost_ns=50000
export TASK_QUEUE_ENABLE=1

vllm serve /home/weights/Qwen3-235B-A22B-Instruct-2507-w8a8 \
  --host 0.0.0.0 \
  --port 9001 \
  --served-model-name qwen \
  --trust-remote-code \
  --tensor-parallel-size 8 \
  --data-parallel-size 1 \
  --data-parallel-size-local 1 \
  --max-model-len 102400 \
  --max-num-batched-tokens 16384 \
  --compilation-config '{"cudagraph_mode":"FULL_DECODE_ONLY", "cudagraph_capture_size":[25]}' \
  --max-num-seqs 128 \
  --gpu-memory-utilization 0.95 \
  --enable-auto-tool-choice \
  --tool-call-parser hermes \
  --async-scheduling \
  --enable-prefix-caching \
  --disable-log-requests \
  --additional-config '{"enable_cpu_binding":true,"ascend_scheduler_config":{"enabled":false}}' \
  --quantization ascend

总结

通过“关闭非必要通信路径 → 消除冗余算子 → 优化图捕获策略”三步递进式优化,Qwen3-235B模型在昇腾A2平台8卡部署下的单路吞吐提升约19.3%。该实践验证了在MoE架构与长序列场景下,精细化控制通信、算子融合与图调度对推理性能的关键影响,为后续大模型在异构硬件上的高效部署提供了可复用的技术路径。

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐