【大模型实战篇】华为信创环境采用vllm部署QwQ-32B模型

1. 背景

本文分享在华为昇腾机器上部署QwQ-32B模型的实践。

首先华为自己是提供了一套在信创机器(NPU)上部署模型的方案【1】,但是部署之后,测试发现会有输出截断的现象。QwQ-32B本身是支持128k的最大上下文长度,定位可能是max-model-len的设置没有生效,但是华为的启动参数中只有maxSeqLen以及maxInputTokenLen参数,修改后也不奏效。

因此我们希望采用更通用更可靠的部署方案。vllm是一种比较通用可靠的推理框架,我们发现vllm已经可以原生支持Ascend【2,3】。

2. 部署及测试

(1)拉取vllm-ascend镜像,为了速度快,可以使用国内镜像地址:

quay.io/ascend/vllm-ascend:v0.8.4rc2-openeuler - 镜像下载 | quay.io

docker pull https://docker.aityp.com/image/quay.io/ascend/vllm-ascend:v0.8.4rc2-openeuler?platform=linux/arm64

(2)docker启动命令

拉取完成后,启动docker镜像,相关的配置修改如下:

bash 复制代码
docker run -itd --name vllm-QWQ-32B \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--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/common:/usr/local/Ascend/driver/lib64/common \
-v /usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/driver/lib64/driver \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /etc/vnpu.cfg:/etc/vnpu.cfg \
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
-v /data/qwq:/qwq \
--privileged=true \
-e ASCEND_RT_VISIBLE_DEVICES=0,1 \
-p 40928:40928 \
-it swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/ascend/vllm-ascend:v0.8.4rc2-openeuler-linuxarm64 bash

(3)进入docker镜像

docker exec -it vllm-QWQ-32B /bin/bash

(4)镜像中,配置QwQ-32B模型的启动脚本

cd /qwq/

vi run_vllm.sh

run_vllm.sh文件脚本如下:

bash 复制代码
export ASCEND_RT_VISIBLE_DEVICES=0,1
vllm serve "/qwq/model" \
--port 40928   \
--served-model-name QwQ-32B \
--dtype auto \
--kv-cache-dtype auto \
--max-model-len 32768 \
--tensor-parallel-size 2

(5)启动模型脚本

sh run_vllm.sh

(6)测试脚本(宿主机执行)

curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{
"model": "QwQ-32B",
"messages": { "role": "system", "content": "帮我写一首诗" },
"max_tokens": 8192
}' 127.0.0.1:40928/v1/chat/completions

3. 参考材料

【1】昇腾镜像仓库详情

【2】Installation --- vllm-ascend

【3】Ascend-vLLM

相关推荐
鬓戈2 小时前
Qwen3.8-27B + vLLM 性能优化
人工智能·性能优化·vllm
HwJack203 小时前
【HarmonyOS开发小实践】ArkUI 应用级状态AppStorage 与跨页面共享、持久化
ui·华为·性能优化·harmonyos
昇腾知识体系5 小时前
vLLM-Ascend 支持矩阵:supported_models 模型列表、BF16/ACLGraph 支持项核对方法
人工智能·华为·知识图谱·vllm
万物智能信息科技6 小时前
板载按键key的ADC转换和信号控制—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
嵌入式硬件·华为·开源·harmonyos·鸿蒙
威哥爱编程8 小时前
HarmonyOS 6.1 端侧 3DGS 重建实战:重建在 C 层,ArkTS 只管"看"和"改"
华为·harmonyos·arkts
●VON10 小时前
Flutter 鸿蒙 disk_space_2 1.0.13 使用实战:下载前检查磁盘空间
flutter·华为·harmonyos·鸿蒙
IT从业者张某某18 小时前
【鸿蒙PC命令行适配】GitUI 移植的工程实践:双 Git 引擎(libgit2/gitoxide)的鸿蒙适配之路
git·华为·harmonyos
lqj_本人18 小时前
WinPcap 鸿蒙 PC 适配全记录:从 NPF 原始抓包到 VPN_TUN 与 libpcap 双通路
qt·华为·harmonyos
thesky12345619 小时前
用 ONNX Runtime 把 PyTorch 模型变成跨平台极速推理引擎:导出、优化、量化完整实
人工智能·深度学习·模型部署
●VON19 小时前
Flutter 鸿蒙插件适配实战:用 device_screen_brightness 2.0.0 控制并监听屏幕亮度
flutter·华为·harmonyos