使用vLLM-Ascend基于昇腾910B服务器部署大模型——以Qwen3-Coder和Qwen3-VL为例
分享一下最近使用vLLM-Ascend部署Qwen3-Coder-30B-A3B和Qwen3-VL-30B-A3B模型的经验,其实在中已经介绍得很清楚了,建议还是优先阅读官方文档。本文主要面向懒得看英文的读者,同时略去了一些与本人部署环境无关的信息。实际使用中,部署一个30B左右的大模型需使用4~8张卡(与最大上下文长度设置和并发数有关)。下面介绍使用vLLM-Ascend部署Qwen3-Code
分享一下最近使用vLLM-Ascend部署Qwen3-Coder-30B-A3B和Qwen3-VL-30B-A3B模型的经验,其实在vLLM-Ascend官方文档中已经介绍得很清楚了,建议还是优先阅读官方文档。本文主要面向懒得看英文的读者,同时略去了一些与本人部署环境无关的信息。
本人部署环境如下:
| 类型 | 规格 |
|---|---|
| 服务器 | Atlas 800T A2 |
| CPU | 4 * 鲲鹏920 |
| 内存 | 32 * 32GB |
| NPU | 8 * 昇腾910B |
| 显存 | 8 * 64GB |
| 操作系统 | Ubuntu 22.04 LTS |
| HDK驱动 | 25.0.rc1.1 |
实际使用中,部署一个30B左右的大模型需使用4~8张卡(与最大上下文长度设置和并发数有关)。
下面介绍使用vLLM-Ascend部署Qwen3-Coder-30B-A3B和Qwen3-VL-30B-A3B模型的主要步骤。
一、安装Docker
首先需要安装vLLM-Ascend,官方提供了pip和docker两种安装方式,本人选择docker安装,因为这样无需自行配置环境(如CANN、Pytorch等),直接使用官方提供的docker镜像部署即可。
因此在安装vLLM-Ascend前需首先安装docker,安装方式本文不做赘述,请自行查阅相关教程。
二、拉取镜像
安装好docker后,执行以下命令拉取官方镜像:
git clone https://github.com/vllm-project/vllm-ascend.git
cd vllm-ascend
docker build -t vllm-ascend-dev-image:latest -f ./Dockerfile .
如果使用git clone网速较慢,也可以直接手动下载github仓库再解压。
另外注意此处选用的是Dockerfile文件拉取镜像,此镜像支持的是Ubuntu系统910B服务器部署,其他系统或服务器可选用其他文件拉取镜像,或者也可以按需自行修改Dockerfile文件内容。
当前版本(2025年12月4日)的Dockerfile文件所对应的vLLM-Ascend镜像版本是v0.11.0rc3。如果要部署Qwen3-Coder-30B-A3B模型至少需要v0.11.0rc1及以上版本,而Qwen3-VL-30B-A3B模型似乎目前还没有版本正式支持。在本人实际测试中,v0.11.0rc1版本已基本支持该模型,但偶尔会发生乱码错误。
三、启动容器
镜像拉取完成后,可以先查看一下镜像:
docekr images
如果没有问题就可以启动容器了:
docker run -itd --net=host \
--privileged \
--name container_name \
--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 /root/.cache:/root/.cache \
-v /path/to/model:/path/to/model \
-e PYTORCH_NPU_ALLOC_CONF=max_split_size_mb:256
vllm-ascend-dev-image:v0.11.0rc3 bash
其中container_name为自定义的容器名称,/path/to/model替换为实际模型绝对路径,vllm-ascend-dev-image:v0.11.0rc3替换为实际镜像名称。
四、部署模型
首先进入容器:
docekr exec -it container_name bash
在容器内部部署模型:
export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3
vllm serve /path/to/model \
--host 0.0.0.0 \
--port 8000 \
--served-model-name model_name \
--tensor-parallel-size 4 \
--dtype bfloat16 \
--max-model-len 256000 \
--max-num-seqs 16 \
--gpu-memory-utilization 0.9 \
--enable-prefix-caching \
--enable_chunked_prefill
其中model_name为自定义模型名称,tensor-parallel-size为张量并行数,须与ASCEND_RT_VISIBLE_DEVICES分配的NPU数量一致,max-model-len为模型最大上下文长度(Qwen3-Coder-30B-A3B和Qwen3-VL-30B-A3B模型均支持最大256K上下文长度,但如果显存较为紧张 建议调小此值),max-num-seqs为最大并发数,gpu-memory-utilization为指定模型占用的显存比例,建议取值0.8~0.9。
参考文献
[1] https://docs.vllm.ai/projects/ascend/en/latest/installation.html.
[2] https://www.hiascend.com/hardware/ai-server?tag=900A2.
[3] https://blog.csdn.net/qq_28269995/article/details/145853237.
更多推荐



所有评论(0)