3月6日凌晨,阿里云发布并开源全新的推理模型通义千问QwQ-32B。通过大规模强化学习,千问QwQ-32B在数学、代码及通用能力上实现质的飞跃,性能足以比肩 671B 参数(其中 370 亿被激活)的 DeepSeek-R1。在保持强劲性能的同时,千问QwQ-32B还大幅降低了部署使用成本,在消费级显卡上也能实现本地部署。此次,阿里云采用宽松的Apache2.0协议,将千问QwQ-32B模型向全球开源,所有人都可免费下载及商用。
昇腾MindIE原生支持QwQ-32B, 魔乐社区已第一时间上架该模型,欢迎广大开发者下载体验!
模型链接:
🔗 https://modelers.cn/models/Models_Ecosystem/QwQ-32B
01 模型介绍
千问QwQ-32B是阿里探索推理模型的最新成果。在冷启动基础上,通义团队针对数学和编程任务、通用能力分别进行了两轮大规模强化学习,在32B的模型尺寸上获得了令人惊喜的推理能力提升,应证了大规模强化学习可显著提高模型性能。
QwQ-32B 在一系列基准测试中进行了评估,测试了数学推理、编程能力和通用能力。下图展示了 QwQ-32B 与其他模型的性能对比,包括 DeepSeek-R1-Distilled-Qwen-32B、DeepSeek-R1-Distilled-Llama-70B、o1-mini 以及原始的 DeepSeek-R1。
在数学能力的 AIME24 测评集上,以及评估代码能力的 LiveCodeBench 中,通义千问 QwQ-32B 测试表现与 DeepSeek-R1 相当,远胜于 o1-mini 及相同尺寸的 R1 后续模型。
由 Meta 首席科学家杨立昆领衔的“最难 LLMs 测评榜” LiveBench、谷歌等提出的指令遵循能力 IFEval 测试集、由加州大学伯克利分校等提出的评估调用函数或工具方面的 BFCL 测试中,QwQ-32B 的得分均超越了 DeepSeek- R1。
02 环境准备
2.1 加载镜像
前往昇腾社区/开发资源下载适配本模型的镜像包:1.0.0-800I-A2-py311-openeuler24.03-lts 或 1.0.0-300I-Duo-py311-openeuler24.03-lts
🔗 下载链接:https://www.hiascend.com/developer/ascendhub/detail/af85b724a7e5469ebd7ea13c3439d48f
完成加载镜像后,请使用docker images命令确认查找具体镜像名称与标签。
docker load -i mindie:1.0.0-800I-A2-py311-openeuler24.03-lts(下载的镜像名称与标签)
或
docker load -i mindie:1.0.0-300I-Duo-py311-openeuler24.03-lts(下载的镜像名称与标签)
镜像中各组件版本配套如下:
组件 | 版本 |
---|---|
MindIE | 1.0.0 |
CANN | 8.0.0 |
PTA | 6.0.0 |
MindStudio | 7.0.0 |
HDK | 24.1.0 |
2.2 新建容器
目前提供的 MindIE 镜像预置了 QwQ-32B 模型推理脚本,无需再额外下载魔乐仓库承载的模型适配代码,直接新建容器即可。
执行以下启动命令(参考):如果您使用的是 root 用户镜像(例如从 Ascend Hub 上取得),并且可以使用特权容器,请使用以下命令启动容器:
docker run -it -d --net=host --shm-size=1g \
--privileged \
--name <container-name> \
--device=/dev/davinci_manager \
--device=/dev/hisi_hdc \
--device=/dev/devmm_svm \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
-v /usr/local/sbin:/usr/local/sbin:ro \
-v /path-to-weights:/path-to-weights:ro \
mindie:1.0.0-800I-A2-py311-openeuler24.03-lts bash
如果您希望使用自行构建的普通用户镜像,并且规避容器相关权限风险,可以使用以下命令指定用户与设备:
docker run -it -d --net=host --shm-size=1g \
--user mindieuser:<HDK-user-group> \
--name <container-name> \
--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 /path-to-weights:/path-to-weights:ro \
mindie:1.0.0-800I-A2-py311-openeuler24.03-lts bash
注意,以上启动命令仅供参考,请根据需求自行修改再启动容器,尤其需要注意:
1. --user,如果您的环境中 HDK 是通过普通用户安装(例如默认的HwHiAiUser,可以通过id HwHiAiUser命令查看该用户组 ID),请设置好对应的用户组,例如用户组 1001 可以使用 HDK,则--user mindieuser:1001,镜像中默认使用的是用户组 1000。如果您的 HDK 是由 root 用户安装,且指定了--install-for-all参数,则无需指定--user参数。
2. 设定容器名称--name与镜像名称,800I A2 和 300I DUO 各自使用对应版本的镜像,例如 800I A2 服务器使用mindie:1.0.0-py3.11-800I-A2-aarch64-Ubuntu22.04。
3. 设定想要使用的卡号--device。
4. 设定权重挂载的路径,-v /path-to-weights:/path-to-weights:ro,注意,如果使用普通用户镜像,权重路径所属应为镜像内默认的 1000 用户,且权限可设置为 750。可使用以下命令进行修改:
chown -R 1000:1000 /path-to-weights
chmod -R 755 /path-to-weights
5. 在普通用户镜像中,注意所有文件均在 /home/mindieuser 下,请勿直接挂载 /home 目录,以免宿主机上存在相同目录,将容器内文件覆盖清除。
2.3 进入容器
docker exec -it ${容器名称} bash
03 执行推理
3.1 纯模型推理
对话测试
进入 llm_model 路径:
ATB_SPEED_HOME_PATH 默认 /usr/local/Ascend/llm_model, 以情况而定
cd $ATB_SPEED_HOME_PATH
执行对话测试:
torchrun --nproc_per_node 2 \
--master_port 20037 \
-m examples.run_pa \
--model_path {权重路径} \
--max_output_length 20
3.2 服务化推理
打开配置文件:
vim /usr/local/Ascend/mindie/latest/mindie-service/conf/config.json
更改配置文件:
{
...
"ServerConfig": {
"_comment": "服务器相关配置",
"port": 1040, // 自定义主服务端口
"managementPort": 1041, // 自定义管理端口
"metricsPort": 1042, // 自定义指标端口
"httpsEnabled": false
},
"BackendConfig": {
"_comment": "后端服务相关配置",
"npuDeviceIds": [[0, 1, 2, 3]],
"ModelDeployConfig": {
"truncation": false,
"ModelConfig": [
{
"_comment": "模型配置项",
"modelName": "qwen2",
"modelWeightPath": "/data/datasets/QwQ-32B",
"worldSize": 4
}
]
}
}
}
拉起服务化:
cd /usr/local/Ascend/mindie/latest/mindie-service/bin
./mindieservice_daemon
新建窗口测试(VLLM 接口):
curl -X POST 127.0.0.1:1040/chat/completion \
-d "{
\"prompt\": [
{\"role\": \"user\", \"content\": \"How many r's are in the word \\\"strawberry\\\"\"}
],
\"max_tokens\": 32,
\"stream\": false,
\"do_sample\": true,
\"repetition_penalty\": 1.00,
\"temperature\": 0.6,
\"top_p\": 0.95,
\"top_k\": 20,
\"model\": \"qwen2\"
}"
欢迎体验
欢迎大家下载体验QwQ-32B昇腾MindIE版,也欢迎广大开发者在模型评论区留言交流!
🔗 https://modelers.cn/models/Models_Ecosystem/QwQ-32B
--End-