| 名称 | 版本 |
|---|---|
| 驱动程序 | 24.1 |
| CANN | 8.2 |
| vllm-ascend | 0.11.0.RC2 |
export HCCL_OP_EXPANSION_MODE="AIV"
export HCCL_BUFFSIZE=512
export NPU_MEMORY_FRACTION=0.95
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export MINDIE_ASYNC_SCHEDULING_ENABLE=1
export OMP_PROC_BIND=false
export OMP_NUM_THREADS=10
export LD_PRELOAD=/usr/lib/"(uname -i)"-linux-gnu/libjemalloc.so.2:\LD_PRELOAD
注:若 libjemalloc.so.2 文件不存在,可使用 yum install jemalloc 命令进行安装,安装完成后重新启用
vllm serve /app/models/Qwen/Qwen3-30B-A3B/
--served-model-name qwen3
--async-scheduling
--tensor-parallel-size 4
--port 8022
--data-parallel-size 1
--max-num-seqs 32
--max-model-len 20480
--max-num-batched-tokens 204800
--gpu-memory-utilization 0.9
--trust-remote-code
--additional-config '{"enable_cpu_binding":true}'
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
参考链接:
https://github.com/Angazenn/vllm/commit/c78796f#diff-3ffb829a39ab2b3e4706aa28f5e476815f36c3a87b98d6a66514ebedc8f3ffb4\
修改完成后需安装 tritont-ascend
wget https://vllm-ascend.obs.cn-north-4.myhuaweicloud.com/vllm-ascend/triton_ascend-3.2.0.dev20250914-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl\
pip install triton_ascend-3.2.0.dev20250914-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
--async-scheduling
客户端请求时,将 temperature 设置为 0.0,并注释掉 top_p 和 top_k 参数
https://github.com/vllm-project/vllm-ascend/pull/4524/files\
git remote add repoB https://github.com/Angazenn/vllm-ascend.git\
git fetch repoB
git checkout v0.11.0rc2
git cherry-pick 782505fb61e77231861b76bf8513a84ad62c3237
--additional-config '{"enable_cpu_binding":true}'
sysctl -w vm.swappiness=0
sysctl -w kernel.numa_balancing=0
sysctl kernel.sched_migration_cost_ns=50000
初始命令直接启动服务的性能结果: 端到端延迟(E2EL)为 95 秒
开启算子入图、接入 qk_rmsnorm_rope 融合算子及异步调度优化点后: 端到端延迟(E2EL)为 79 秒
关闭后处理并启用 libjemalloc 后的测试结果: 端到端延迟(E2EL)为 58 秒
将 PA 算子替换为 FIA 后的测试结果: 端到端延迟(E2EL)为 55 秒
完成绑核及系统性能调优后的测试结果: 端到端延迟(E2EL)为 52 秒
| 措施 | 收益 |
|---|---|
| 开启 FULL_DECODE_ONLY 接入 qk_rmsnorm_rope --async-scheduling | 端到端时延下降16秒 |
| 关闭后处理 使用jemalloc库 | 端到端时延下降21秒 |
| 替换PA算子为FIA | 端到端时延下降3秒 |
| 绑核及系统性能调优 | 端到端时延下降3秒 |