单机 4 卡昇腾 910B,用 SGLang 部署 Qwen3.6-35B-A3B(MoE,激活参数 35B,总参数约 300B),TP=4,上下文 256K。记录容器启动与调优脚本,后续直接复用。
一、拉取镜像
使用官方昇腾适配镜像,910B 对应 CANN 9.0 版本:
export IMAGE=quay.io/ascend/sglang:v0.5.16-cann9.0.0-910b
export NAME=sglang-qwen36-35b-1
二、启动容器
昇腾 910B 八块卡全部透传进容器,挂载 DCMI/HCCL 驱动与数据目录。注意 --shm-size 给到 200g,避免大上下文场景下共享内存不足:
docker run -itd \
--name $NAME \
--net=host \
--shm-size=200g \
--privileged \
--device /dev/davinci0 \
--device /dev/davinci1 \
--device /dev/davinci2 \
--device /dev/davinci3 \
--device /dev/davinci4 \
--device /dev/davinci5 \
--device /dev/davinci6 \
--device /dev/davinci7 \
--device /dev/davinci_manager \
--device /dev/devmm_svm \
--device /dev/hisi_hdc \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/Ascend/driver/tools/hccn_tool:/usr/local/Ascend/driver/tools/hccn_tool \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ \
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /etc/hccn.conf:/etc/hccn.conf \
-v /mnt/data:/mnt/data \
-v /data/huawei/:/data \
-it $IMAGE bash
三、编写调优脚本 qwen36.sh
在容器 /data 下编写启动脚本,先做 CPU / NPU 调优,再拉起服务:
# CPU调优
#echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
sysctl -w vm.swappiness=0
sysctl -w kernel.numa_balancing=0
sysctl -w kernel.sched_migration_cost_ns=50000
export ASCEND_VISIBLE_DEVICES=4,5,6,7
export ASCEND_RT_VISIBLE_DEVICES=4,5,6,7
export SGLANG_SET_CPU_AFFINITY=1
# 清除代理
unset https_proxy http_proxy HTTPS_PROXY HTTP_PROXY
unset ASCEND_LAUNCH_BLOCKING
# 抑制torch_npu冗余警告
export TORCH_NPU_TRANSFER_WARNING=0
# CANN环境
source /usr/local/Ascend/ascend-toolkit/set_env.sh
source /usr/local/Ascend/nnal/atb/set_env.sh
# NPU调优环境变量
export STREAMS_PER_DEVICE=32
export HCCL_OP_EXPANSION_MODE=AIV
export HCCL_SOCKET_IFNAME=lo
export GLOO_SOCKET_IFNAME=lo
export SGLANG_ENABLE_SPEC_V2=1
export SGLANG_ENABLE_OVERLAP_PLAN_STREAM=0
# 启动服务
python3 -m sglang.launch_server \
--model-path /data/models/Qwen3.6-35B-A3B \
--served-model-name Qwen35 \
--host 0.0.0.0 \
--port 21414 \
--tp-size 4 \
--context-length 262144 \
--reasoning-parser qwen3 \
--tool-call-parser qwen3_coder \
--device npu \
--attention-backend ascend \
--disable-radix-cache \
--mem-fraction-static 0.70 \
--trust-remote-code \
--dtype bfloat16 \
--enable-prefill-delayer \
--prefill-delayer-max-delay-passes 100
其中 ASCEND_VISIBLE_DEVICES=4,5,6,7 选择四张卡,对应容器内透传的设备,按实际资源自行调整。
四、启动命令参数解析
| 参数 | 值 | 说明 |
|---|---|---|
--tp-size | 4 | 张量并行度,对应 4 张 910B |
--context-length | 262144 | 最大上下文 256K |
--device npu | — | 指定昇腾 NPU 后端 |
--attention-backend | ascend | 使用昇腾 attention 实现 |
--disable-radix-cache | — | 关闭 radix cache(昇腾场景常用) |
--mem-fraction-static | 0.70 | 静态 KV 缓存显存占比 |
--dtype | bfloat16 | 模型精度 |
--reasoning-parser | qwen3 | 推理模型 reasoning 解析 |
--tool-call-parser | qwen3_coder | 工具调用解析 |
--enable-prefill-delayer | — | 启用 prefill 延迟,配合 max-delay-passes 缓解长输入时的 prefill/decode 抢占 |
调优环境变量解析:
STREAMS_PER_DEVICE=32:提升并发流HCCL_OP_EXPANSION_MODE=AIV:HCCL 算子扩展模式HCCL_SOCKET_IFNAME=lo/GLOO_SOCKET_IFNAME=lo:多机/多卡走回环网卡SGLANG_ENABLE_SPEC_V2=1:启用 speculation v2SGLANG_ENABLE_OVERLAP_PLAN_STREAM=0:关闭计划流重叠
五、注意事项
- 使用的卡号(4,5,6,7)可按实际资源调整,需与容器挂载的设备一致
--shm-size场景下,若出现 OOM 优先检查共享内存大小- 若需多机部署,将
HCCL_SOCKET_IFNAME改为实际业务网卡并配置--nnodes - 大上下文场景建议根据显存余量微调
--mem-fraction-static
以上为单机 4 卡 TP=4 部署 Qwen3.6-35B-A3B 的完整简记,供后续复用。






COMMENTS | NOTHING