Lucent's Blog

当时明月在 曾照彩云归

人生不相见,动如参与商。

6LCi5Y2O5qKFLOaIkeaDs+S9oOS6hg==


使用vllm-ascend在昇腾910B部署千问3(Qwen3)

千问3已经发布几天了,华为公开最新的Mindeie镜像,我们可以暂时使用vllm-ascend进行推理

下载镜像

docker pull quay.io/ascend/vllm-ascend:v0.8.4rc2

下载模型

我们这里以Qwen3-32B为例,其它模型同理

权重在这里下载: https://www.modelscope.cn/models/Qwen/Qwen3-32B

下载到你想要的位置

编写启动命令

docker run --rm -d \
--name Qwen3-32B \
--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/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 /data/4pd-workspace/models/Qwen3-32B:/data1/Qwen3-32B:ro \
-p 18034:8000 \
-e PYTORCH_NPU_ALLOC_CONF=max_split_size_mb:256 \
quay.io/ascend/vllm-ascend:v0.8.4rc2 \
vllm serve /data1/Qwen3-32B --max_model_len 32768 -tp 4 --served-model-name Qwen3-32B

解释

  • vllm serve /data1/Qwen3-32B 启动推理的命令,后面是模型权重路径

  • --max_model_len 32768 指定上下文长度32k

  • -tp 4 指定4卡推理,其实2卡就够,看你需要

  • --served-model-name Qwen3-32B 指定推理服务的模型名称

  • -v /data/4pd-workspace/models/Qwen3-32B:/data1/Qwen3-32B:ro 映射模型权重路径

  • -p 18034:8000 映射端口,vllm内部默认使用了8000端口推理

启动

执行上面的命令后,我们可以查看容器状态

docker ps |grep Qwen3-32B

测试

curl "http://localhost:18034/v1/chat/completions" -H "Content-Type: application/json" \
    -H "Authorization: Bearer xxx" \
    -d '{
        "model": "Qwen3-32B",
        "stream": true,
        "messages": [
            {
                "role": "user",
                "content": "/no_think 你好."
            }
        ]
    }'

至此,使用vllm-ascend在昇腾910B上部署千问3已经成功

上一篇

终于拿到了华为的最新版本Mindie镜像 mindie_2.0.T17.B010-800I-A2-py3.11-openeuler24.03-lts-aarch64.tar.gz 终于可以在昇腾平台上部署Qwen3了 Qwen3简介 Qwen3是Qwen系列中最新一代的大型语言模型,提供了密集和混合…

阅读
下一篇

AI Services是什么 AI Services 的设计灵感来源于 Spring Data JPA 和 Retrofit 等框架,采用声明式接口定义所需的 API,然后由框架自动生成实现该接口的代理对象。这种方法隐藏了与 LLM 交互的复杂性,提供了简单直观的 API。 AI Services …

阅读