Qwen3 是 Qwen 系列中的最新一代大型语言模型,提供了一整套密集型和专家混合(MoE)模型。基于广泛的训练,Qwen3 在推理、指令执行、代理能力和多语言支持方面取得了突破性进展。 本项目提供Qwen3-8B模型在昇腾Atlas A2推理服务器基于 vllm-ascend的推理使用指导
详细模型介绍可以参考模型开源社区内容 https://www.modelscope.cn/models/Qwen/Qwen3-8B
部署时的基础环境是siirl_npu_0902_cann8.2.rc1_torch2.6.0:3 硬件设备
| 设备型号 | NPU配置 |
|---|---|
| Atlas 800I A2 910B | 1卡 |
1、创建模型下载的目录 (1)进入服务器后,创建Qwen系列模型目录
mkdir /home/model/Qwen(2)创建Qwen3-8B模型目录
mkdir /home/model/Qwen/Qwen3-8B2、模型下载: 从ModelScope 平台下载指定的模型到指定的模型目录(模型名称可以在modelscope.cn的模型库里拷贝,保持一致)
modelscope download --model Qwen/Qwen3-8B --local_dir /home/model/Qwen/Qwen3-8B查询服务器上已经安装哪些镜像
docker image ls如果服务器上已经有需要的vllm-ascend镜像,则此步骤可忽略,否则通过下面命令拉取指定版本的镜像
#从镜像仓库下载镜像到本地机器
docker pull quay.io/ascend/vllm-ascend:v0.10.0rc1备注:镜像版本在不断更新,新版本可以兼容老版本
在后台启动一个名为 vllm-qwen3-8B-zxl 的容器,以最高权限和直接硬件访问的方式,在主机的第一块昇腾 NPU (davinci3) 上运行 vLLM 服务来部署模型
docker run -itd -u 0 --ipc=host --privileged \
-e VLLM_USE_MODELSCOPE=True -e PYTORCH_NPU_ALLOC_CONF=max_split_size_mb:256 \
-e ASCEND_RT_VISIBLE_DEVICES=3 \
--name vllm-qwen3-8B-zxl \
--device=/dev/davinci3 \
--device /dev/davinci_manager \
--device /dev/devmm_svm \
--device /dev/hisi_hdc \
-v /usr/local/dcmi:/usr/local/dcmi \
-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 /home/model/Qwen/Qwen3-8B:/model \
-p 8080:8000 \
-it quay.io/ascend/vllm-ascend:v0.10.0rc1 bash命令含义说明:
#容器用户和权限
docker run -itd -u 0 --ipc=host --privileged
#指示vLLM 框架使用ModelScope下载或加载模型
-e VLLM_USE_MODELSCOPE=True -e PYTORCH_NPU_ALLOC_CONF=max_split_size_mb:256
#环境变量设置:指定程序使用哪张昇腾NPU卡
-e ASCEND_RT_VISIBLE_DEVICES=3
#容器名
--name vllm-qwen3-8B-zxl
#设备映射
--device=/dev/davinci3
--device /dev/davinci_manager
--device /dev/devmm_svm
--device /dev/hisi_hdc
#将主机上的目录或文件挂载到容器内,提供数据、驱动和配置
-v /usr/local/dcmi:/usr/local/dcmi
-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
#最关键映射! 将主机上存放Qwen3-8B 模型的目录挂载到容器的/model 路径
-v /home/model/Qwen/Qwen3-8B:/model
#主机的端口映射到容器的端口
-p 8080:8000
-it quay.io/ascend/vllm-ascend:v0.10.0rc1 bash
创建完成后,可通过如下命令查看容器创建的情况
docker ps首先进入容器(可以用容器ID或者名称)
docker exec -it vllm-qwen3-8B bash容器内启动vllm推理服务(模型下载之前已经下载在宿主机/home/model/Qwen/Qwen3-8B 中,并且模型文件已经映射在容器内/model)
nohup vllm serve /model --served-model-name Qwen3-8B &上面的命令会在后台执行,可以通过下面的命令查看执行日志
tail -f nohup.out当服务拉起完毕,可以到容器外进行验证(可以在xshell通过复制会话的方式,拉起另外一个验证界面)
curl http://localhost:8080/v1/models在容器外查看模型(注意端口要和刚才创建容器时的宿主服务器端口保持一致)
curl http://localhost:8080/v1/completions \
-H "Content-Type: application/json" \
-d '{"model":"Qwen3-8B","prompt":"说出你认为中国最宜居的城市","max_tokens":1024,"temperature":0.7,"top_p":0.8}'验证功能
curl http://localhost:8080/v1/completions \
-H "Content-Type: application/json" \
-d '{"model":"Qwen3-8B","prompt":"说出你认为中国最宜居的城市","max_tokens":1024,"temperature":0.7,"top_p":0.8}'