鲲鹏+昇腾Atlas800IA2(910B4)部署Qwen3-32B【简单自用版】
参考文章:昇腾社区Qwen-32B
一直没有环境部署Qwen3,今天终于可以部署了!
Qwen3-32B(目前最强的32B大语言模型)
简介
Qwen3 是 Qwen 系列中最新一代的大型语言模型,提供了 密集模型 和 混合专家(MoE)模型 的全面套件。基于广泛的训练,Qwen3 在推理、指令遵循、代理功能和多语言支持方面取得了显著进展,主要具有以下功能:
- 思维模式(用于复杂逻辑推理、数学和编码)与 非思维模式(用于高效通用对话)在单个模型内无缝切换,确保跨各种场景的最佳性能。
- 增强的推理能力,在数学、代码生成和常识逻辑推理方面超过了之前的 **QwQ(思维模式)**和 Qwen2.5(非思维模式)。
- 经过人类偏好调整,擅长创意写作、角色扮演、多轮对话和指令跟随,提供更自然、更吸引人、更沉浸式的对话体验。
- 在代理能力方面表现出色,能够在思考模式和非思考模式下与外部工具精确集成,在基于代理的复杂任务中实现开源模型中的领先性能。
- 支持 100 多种语言和方言,具备强大多语言教学能力和翻译能力。
权重下载
请前往权重下载页面获取对应模型的权重数据:
- 模型名称:
下载地址:Qwen3-32B(魔搭社区)
加载镜像
前往昇腾社区/开发资源下载适配本模型的镜像包,要申请才可以有镜像,但是如果不是合作伙伴基本不太可能得这个镜像:
mindie:2.0.T17.B010-800I-A2-py3.11-openeuler24.03-lts-aarch64.tar.gz
加载镜像命令如下:
docker load -i mindie_2.0.T17.B010-800I-A2-py3.11-openeuler24.03-lts-aarch64.tar.gz
加载完成后,请使用以下命令确认镜像是否加载成功:
docker images
约束条件
- 当前支持 TP=4/8 推理。
/usr/local/Ascend/mindie/latest/mindie-service/conf/config.json
的权限默认为 640,请勿更改该文件权限。
新建容器
目前提供的 MindIE 镜像已预置了 Qwen3-32B
模型推理脚本,无需再额外下载魔乐仓库承载的模型适配代码,可直接新建容器。
启动命令(root)
使用 root 用户镜像(例如从 Ascend Hub 获取)并可以使用特权容器:
docker run -it --privileged -u root --net=host --ipc=host \--name qwen3-32b \--device=/dev/davinci_manager \--device=/dev/hisi_hdc \--device=/dev/devmm_svm \--device=/dev/davinci0 \--device=/dev/davinci1 \--device=/dev/davinci2 \--device=/dev/davinci3 \--device=/dev/davinci4 \--device=/dev/davinci5 \--device=/dev/davinci6 \--device=/dev/davinci7 \ ##八个芯片-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \ -v /usr/local/sbin:/usr/local/sbin:ro \-v /root/:/root/ \ ##这个是模型的路径
mindie:2.0.T17.B010-800I-A2-py3.11-openeuler24.03-lts-aarch64 /bin/bash
⚠️ 注意事项:
--user
:如果您的环境中 HDK 是通过普通用户安装(如默认的 HwHiAiUser),请设置对应的用户组,例如用户组 ID 为 1001,则使用--user mindieuser:1001
;镜像中默认使用的是用户组 1000。- 设置容器名称
--name
与镜像名称,例如 800I A2 服务器使用mindie:2.0.T17.B010-800I-A2-py3.11-openeuler24.03-lts-aarch64
。- 根据实际需求设定使用的卡号
--device
。- 设定权重挂载路径
-v /path-to-weights:/path-to-weights:ro
,注意权限设置:
chown -R 1000:1000 /path-to-weights ##模型权重路径
chmod -R 750 /path-to-weights ##模型权重路径
进入容器
docker exec -it ${容器名称} bash
服务化推理
打开配置文件
vim /usr/local/Ascend/mindie/latest/mindie-service/conf/config.json
更改配置文件内容示例:
{..."ServerConfig": {..."port": 1025,"managementPort": 1041,"metricsPort": 1042,"httpsEnabled": false ##1.记得改这个},"BackendConfig": {..."npuDeviceIds": [[0,1,2,3,4,5,6,7]],#2.改这个,我是用八个芯片一起跑..."ModelDeployConfig": {"truncation": false,"ModelConfig": [{"modelName": "qwen3","modelWeightPath": "/data/datasets/Qwen3-32B", ##4.模型权重路径哈,记得改"worldSize": 8 #3.这个得改成8,因为调用8芯片}]}}
}
拉起服务化
cd /usr/local/Ascend/mindie/latest/mindie-service/bin
./mindieservice_daemon
拉起服务化推理出现这个问题:
解决啦,缺少一些依赖,感谢昇腾社区!
新建窗口进行测试(使用 OpenAI 接口):
curl -X POST 127.0.0.1:1025/v1/chat/completions \
-d '{
"messages": [
{"role": "system", "content": "you are a helpful assistant."},
{"role": "user", "content": "How many r are in the word \"strawberry\""}
],
"max_tokens": 256,
"stream": false,
"do_sample": true,
"temperature": 0.6,
"top_p": 0.95,
"top_k": 20,
"model": "qwen3-32b"
}'
注:服务化推理的更多信息请参考《MindIE Service 用户指南》