cann-recipes-train 解析:昇腾平台 DeepSeek-R1 与 Qwen2.5 强化学习实践
在大模型训练追求效率的阶段,CANN 解决了底层异构硬件适配与资源调度问题。现有模型代码无需大改即可对接,训 LLM 或多模态模型时可通过算子优化、内存复用提升速度。
cann-recipes-train 仓库提供可直接复用的代码样例,涵盖具体 LLM 的训练优化步骤、多模态模型的算子调试方法,帮助开发者跳过文档理解到实际应用的坑,快速掌握 CANN 优化技巧。
该仓库面向典型的 LLM 与多模态模型训练任务,提供基于 CANN 平台优化样例与实践指南。首批版本包含两个基于 verl 强化学习框架的典型训练样例,分别覆盖 Qwen2.5 与 DeepSeek-R1-671B 两大模型。
DeepSeek-R1 RL 训练优化实践样例:基于开源 verl 框架,搭配 MindSpeed+vLLM-Ascend 框架,在 Atlas A3 集群实现 GRPO 算法的高吞吐 RL 训练,并达到 120TPS/卡的系统吞吐量。
基于 verl 框架的 Qwen2.5 强化学习(入门样例):基于 Qwen2.5-1.5B-Instruct 模型,采用 verl 强化学习框架,在 MATH-lighteval 数学推理数据集上进行了训练,只需要单卡 Atlas A2 环境,快速上手使用昇腾 NPU 完成 RL 训练任务。
开发环境部署准备
-
Notebook 资源配置
- 计算资源:NPU:1*NPU 910B 32vCPU + 64GB 内存
- 容器镜像:ubuntu22.04-py3.11-cann8.2.rc1-sglang-main-notebook
-
Notebook 启动后查看 NPU 状态 使用
npu-smi查看 NPU 状态、利用率。当前 Notebook 的昇腾 910B3 NPU 状态正常,功耗 96.5W、温度 46℃,HBM 显存仅用 3.3G(总 64G),无运行进程,资源低负载。 -
克隆仓库 将 cann-recipes-train 克隆到本地。
-
进入目录 进入 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 源码。

