📘 昇腾 910B 上部署 Qwen3.6(vLLM-Ascend)

1️⃣ 环境说明

1.1 硬件环境

NPU:Ascend 910B(A2 架构)
多卡(如 8 卡:davinci0~7)


1.2 软件环境

操作系统:openEuler
CANN:8.5.0
推理框架:vLLM(Ascend 版本)


1.3 模型

模型:Qwen3.6-35B-A3B
本地路径示例:
/data/yourproject/models/qwen3.6-35b-a3b

huggingface-cli download Qwen/Qwen3.6-35B-A3B \
--local-dir /data/yourproject/models/qwen3.6-35b-a3b

2️⃣ 镜像选择

❗ 必须匹配 NPU 架构

NPU 镜像
A2 (910/910B) docker pull quay.io/ascend/vllm-ascend:v0.18.0rc1-openeuler
A3 docker pull quay.io/ascend/vllm-ascend:v0.18.0rc1-a3-openeuler

3️⃣ 启动容器

✅ 推荐命令(标准版)

docker run -it \
  --name qwen3_6_vllm \
  --privileged \
  --shm-size=64g \
  -v /usr/local/Ascend:/usr/local/Ascend \
  -v /dev:/dev \
  -v /data/yourproject/models/qwen3.6-35b-a3b:/models \
  -v /data/yourproject:/workspace \
  -p 8010:8010 \
  quay.io/ascend/vllm-ascend:v0.18.0rc1-openeuler \
  Bash

📌 参数说明

  • --device 映射 NPU,例如 --device /dev/davinci0,但建议直接 -v /dev:/dev
  • -v /usr/local/Ascend 挂载驱动/CANN
  • --shm-size=64g 避免大模型 OOM
  • /models 模型目录
  • /workspace 项目目录
  • --privileged 避免权限问题

4️⃣ Ascend 环境变量 & 动态库问题排查

Ascend 推理环境本质上是一个分层运行时体系:

1. CANN(基础执行层)
2. ATB(算子优化层)
3. 推理引擎(MindIE / vLLM 等)

🔍 问题本质

常见报错:

  • ImportError: libascend_hal.so: cannot open shared object file
  • OSError: libatb.so: cannot open shared object file

👉 本质原因:
动态库路径(LD_LIBRARY_PATH)未正确配置


❗ 问题1:CANN 版本路径不一致

实际:/usr/local/Ascend/cann-8.5.0

脚本引用:cann-8.5.1

✅ 方案1(临时验证)
ln -s /usr/local/Ascend/cann-8.5.0 /usr/local/Ascend/cann-8.5.1

⚠️ 不推荐长期使用(可能存在ABI风险)

✅ 方案2(推荐)

统一环境变量:

export ASCEND_HOME=/usr/local/Ascend
export ASCEND_TOOLKIT_HOME=$ASCEND_HOME/cann-8.5.0

❗ 问题2:动态库找不到(核心问题)

✅ 一次性修复(推荐)
export ASCEND_HOME=/usr/local/Ascend
export ASCEND_TOOLKIT_HOME=$ASCEND_HOME/cann-8.5.0

export LD_LIBRARY_PATH=\
$ASCEND_HOME/driver/lib64:\
$ASCEND_HOME/driver/lib64/driver:\
$ASCEND_TOOLKIT_HOME/lib64:\
$ASCEND_TOOLKIT_HOME/lib64/plugin/opskernel:\
$ASCEND_HOME/nnal/atb/latest/atb/cxx_abi_1/lib:\
$LD_LIBRARY_PATH

5️⃣ 启动 vLLM 推理服务

🚀 启动命令

vllm serve /models \
  --served-model-name qwen3.6 \
  --host 0.0.0.0 \
  --port 8010 \
  --tensor-parallel-size 2 \
  --max-model-len 8192 \
  --trust-remote-code \
  --async-scheduling

📌 参数说明

  • --tensor-parallel-size 并行卡数
  • --max-model-len 上下文长度
  • --async-scheduling 提升吞吐

📌 指定卡

在启动前:

export ASCEND_VISIBLE_DEVICES=0,1

6️⃣ 测试接口

curl http://localhost:8010/v1/completions \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "The future of AI is",
        "max_tokens": 100
      }'

多模态请求

curl http://localhost:8010/v1/completions \
  -H "Content-Type: application/json" \
    -d '{
        "model": "qwen3.6",
        "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": [
                {"type": "image_url", "image_url": {"url": "https://modelscope.oss-cn-beijing.aliyuncs.com/resource/qwen.png"}},
                {"type": "text", "text": "What is the text in the illustrate?"}
            ]}
        ]
    }'

7️⃣ 性能优化建议

https://modelscope.cn/models/Qwen/Qwen3.6-35B-A3B

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐