openPangu-2.0-RL:基于昇腾生态与 VERL 的强化学习加速项目

RL源码:配套昇腾原生的开源盘古2.0系列模型。

分支1Tags0
文件最后提交记录最后更新时间
9 天前
9 天前
9 天前
9 天前
9 天前
9 天前
9 天前
9 天前
9 天前
9 天前
9 天前
9 天前
9 天前
9 天前
9 天前

openPangu-2.0-RL:昇腾原生强化学习加速框架

中文 | English

简介

openPangu-2.0-RL 是面向华为昇腾的强化学习加速框架,以开源 VERL (gitcode镜像)为训练编排内核,通过运行时补丁与昇腾亲和优化,在昇腾集群上完成 Actor / Rollout / Reward 协同训练。更多详细信息,请参考openPangu-2.0技术报告。

面向openPangu的 GSPO / GRPO 后训练,典型使用场景包括:

  • 数学推理(Reasoning):单轮 Rollout。模型一次生成完整长思维链与答案,由规则奖励核对正确性与格式。
  • 面向推理的代码生成(Code-For-Reasoning):多轮 Rollout(ReAct)。模型在解题过程中调用 Python 解释器写代码、执行,并依据结果继续推理,由规则奖励核对正确性与格式。

代码仓目录结构

openPangu-2.0-RL/
├── omni_rl/                 # 核心 Python 包
│   ├── config/              # Hydra 配置:算法、Agent、模型、工具、HCCL
│   ├── dataset/             # 数据集加载(PanguDataset、JSONL)
│   ├── engines/             # 推理引擎适配(Omni-Infer 等)
│   ├── models/              # 盘古模型适配与 Chat Template
│   ├── patches/             # 运行时补丁(VERL / Megatron / Pangu / Torch 等)
│   ├── reward/              # 奖励适配
│   ├── rl/                  # RL 核心:Timely Agent、VERL 算法与混合引擎适配
│   ├── utils/               # 日志、补丁管理、指标
│   └── workers/             # Rollout Worker
├── scripts/                 # 安装、环境变量、Ray 集群拉起
├── tests/                   # 系统测试与场景示例配置(Reasoning / Code-For-Reasoning)
├── tools/                   # Ansible 等集群部署工具
├── third_party/             # 第三方依赖(VERL、奖励实现等)
├── docs/                    # 使用文档
├── LICENSE
├── README.md
├── README_EN.md
├── pyproject.toml
├── setup.py
└── requirements.txt

omni_rl/rl 中与训练最相关的两部分:timely_agent(多轮 Agent、工具、奖励与数据流)和 verl_adapt(相对 VERL 的算法与昇腾侧优化,如 Prefill/Decode 分离、张量压缩、路由重放)。

非侵入式适配通过 VERL_USE_EXTERNAL_MODULES=omni_rl.patches 在运行时注入补丁,不 Fork VERL 主线。

数据集准备

训练数据支持 JSONL / JSON / Parquet。每条样本需包含对话 prompt,规则奖励场景还需在 meta 中提供标准答案(gt / solution 等)。

  • Reasoning(单轮):题目 + 标准答案即可。
  • Code-For-Reasoning(多轮):字段相同,题目宜适合用代码验证。

多机时所有节点的数据路径必须一致。字段定义、示例与转换方法见 数据集准备。

镜像制作

训练作业在容器中运行。请先完整克隆本仓库及 Git 子模块,再制作镜像:

git clone -c core.autocrlf=input --recurse-submodules https://gitcode.com/ascend-tribe/openPangu-2.0-RL.git
  • -c core.autocrlf=input:统一换行符为 LF,避免 Windows 自动转为 CRLF。
  • 须带 --recurse-submodules,否则 third_party 等依赖不完整。构建依赖含 CANN、昇腾驱动的基础镜像,以及需手动放入 tools/docker/copy_data/ 的外部包;在仓库根目录执行 bash tools/docker/build.sh 即可。依赖清单、构建参数与自定义步骤见 镜像制作。

部署运行

使用上一节制作的镜像拉起作业。两个场景作业入口:

场景 示例配置 / 脚本
Reasoning tests/system_tests/e2e/pangu92b/reasoning/
Code-For-Reasoning tests/system_tests/e2e/pangu92b/code4math/

安装参数、Ray 参数、两场景启动命令与 Ansible 步骤见 部署运行。

安全说明

本项目为面向研究/演示用途的开源训练框架,请在部署与运行时注意:

  • 在隔离网络环境中运行:训练作业必须在隔离的网络环境(专用网络 / 安全组)中运行,请勿将 Ray、gRPC 等服务端口暴露给不受信网络。集群内服务(Ray Dashboard、对象存储等)未内建认证,依赖网络边界作为主控手段。
  • 模型生成代码按设计会被执行:Code-For-Reasoning 场景的 Python 解释器工具会执行大模型生成的代码(默认在独立子进程中运行,并带超时保护)。请仅在可信数据集上训练;不受信数据可能通过 prompt 注入诱导模型生成恶意代码。
  • 模型与 checkpoint 来源须可信:框架按 legacy Megatron pickle 格式加载 checkpoint,并按 Pangu 模型要求启用 tokenizer 自定义代码(trust_remote_code)。请确保模型与 checkpoint 来自可信来源。

License声明

  • openPangu-2.0-RL的使用许可证,具体请参见LICENSE。

免责声明

致openPangu-2.0-RL使用者

  1. openPangu-2.0-RL功能依赖的第三方开源软件,均由第三方社区提供和维护,因第三方开源软件导致的问题修复依赖相关社区的贡献和反馈。您应理解,openPangu-2.0-RL仓库不保证对第三方开源软件本身的问题进行修复,也不保证会测试、纠正所有第三方开源软件的漏洞和错误。
  2. 对于openPangu-2.0-RL示例文件中所涉及的数据集,平台仅用于功能测试,华为不提供任何数据集,如您使用这些数据集进行训练,请您特别注意应遵守对应数据集的License,如您因使用数据集而产生侵权纠纷,华为不承担任何责任。

反馈

如果有任何意见和建议,请提交issue或联系openPangu@huawei.com。

项目介绍

RL源码:配套昇腾原生的开源盘古2.0系列模型。

定制我的领域