cann-recipes-train 实战:昇腾 DeepSeek-R1 与 Qwen2.5 RL 训练优化
背景与仓库定位
DeepSeek-R1 发布后,大模型强化学习(RL)训练成为焦点。各大厂商与开源社区持续探索更高效的 RL 训练体系。本文基于 cann-recipes-train 仓库,解读两个实践样例:DeepSeek-R1 的 RL 训练优化、基于 verl 框架的 Qwen2.5 强化学习。
cann-recipes-train 不搞抽象理论,提供能直接复用的代码样例。它面向典型的 LLM 与多模态模型训练任务,提供基于 CANN 平台优化样例与实践指南,帮助开发者简单、快速、高效在昇腾平台上完成模型训练与优化部署。首批版本中,上线了两个基于 Verl 强化学习框架的典型训练样例,分别覆盖 Qwen2.5 与 DeepSeek-R1-671B 两大模型。
大模型训练拼效率的阶段,CANN 直接帮我们搞定了底层异构硬件适配、资源调度这些麻烦事,不用再从零研究 GPU 和 NPU 怎么协同,现有模型代码也不用大改就能对接,训 LLM 或多模态模型时还能通过算子优化、内存复用提升速度、减少资源浪费。
环境部署准备
资源配置:
- 计算资源: NPU:1*NPU 910B,32vCPU + 64GB 内存
- 容器镜像: ubuntu22.04-py3.11-cann8.2.rc1-sglang-main-notebook
启动成功后使用 npu-smi 查看 NPU 状态、利用率。当前 Notebook 的昇腾 910B3 NPU 状态正常,功耗 96.5W、温度 46℃,HBM 显存仅用 3.3G(总 64G),无运行进程,资源低负载。
克隆 cann-recipes-train 到本地,进入 rl_train 目录,可以看到特定模型的 RL(强化学习)训练相关样例集合:
deepseek:DeepSeek-R1 RL 训练优化实践样例qwen2_5:基于 verl 框架的 Qwen2.5 强化学习实践样例
DeepSeek-R1 RL 训练优化实践
环境部署
针对 DeepSeek-R1 模型,基于 verl 开源框架,配合 MindSpeed-LLM 和 vLLM-Ascend 框架,完成 RL 训练全流程的优化适配。
硬件要求:
- 产品型号: Atlas A3 系列
- 最少卡数: 128 张 A3
- 安装样例依赖: 基础环境适配(安装核心依赖如 verl、torch_npu等)。虽有部分版本冲突,但不影响核心功能。
- 下载依赖框架: 拉取 Verl(指定 Commit)、vLLM(v0.9.1)、vLLM-Ascend(打补丁)及 Megatron-LM、MindSpeed 等多个指定版本的 AI 相关依赖框架,将其复制到
cann-recipes-train/rl_train/deepseek/目录,为该目录下的 deepseek 样例运行搭建适配的依赖环境。 - 修改 verl 代码: 为了使能 patch 修改,需要修改以下 verl 源码。


