UltraData-RL-2609数据构建流水线揭秘:从原始数据到RL-ready样本的6个阶段
【免费下载链接】UltraData-RL-2609项目地址: https://ai.gitcode.com/OpenBMB/UltraData-RL-2609
UltraData-RL-2609 是 OpenBMB(MiniCPM 团队)面向大模型强化学习(RL)后训练发布的 RL 数据集,共 85,995 条可验证任务样本,覆盖数学、代码、长上下文与科学推理四大领域。它的核心价值在于一条六阶段数据构建流水线:从原始数据整合、标准化改写,到可验证性过滤、奖励可信性校验、难度校准,最终整理为统一的 RL-ready 样本。本文将完整拆解这条流水线的每个阶段,帮助你理解高质量 RL 训练数据是如何炼成的。
📊 数据全景:4 大领域,85,995 条样本
| 领域 | 样本数 | 占比 | 任务类型 | 结果如何验证 |
|---|---|---|---|---|
| 🧮Math | 32,412 | 37.7% | 竞赛 / 教材类数学题,答案唯一可抽取 | 与参考答案做答案匹配 |
| 💻Code | 23,665 | 27.5% | 按自然语言描述生成程序 | 用测试用例执行提交代码 |
| 📚Long-Context | 18,046 | 21.0% | 长文档多跳问答 | 答案匹配,且上下文保证支撑答案 |
| 🔬Knowledge | 11,872 | 13.8% | 科学 / 知识推理简答题 | 与参考答案做答案匹配 |
数据围绕三个目标构建:结果可判定(verifiable)、奖励可信(trustworthy)、难度适配(calibrated),让策略模型获得稳定、可追溯的训练信号。各领域的原始数据文件可按目录浏览:data/Math/、data/Code/、data/Long_Context/、data/Knowledge/。
🏗️ 六阶段构建流水线全拆解
四个领域共用同一套六阶段流程,只是在各环节使用领域专属的验证器与筛选规则。
阶段 1 · 数据准备与来源整合
按领域汇聚上游公开数据集与合成数据:
- Math:DAPO、DeepScaleR、DeepMath 三个公开可验证数学 RL 数据集取并集;
- Knowledge / STEM:OpenScienceReasoning-2 科学推理数据;
- Long-Context:HotpotQA、Qasper、MuSiQue 多跳问答扩写至更长上下文,并加入内部合成数据;
- Code:OpenCodeReasoning、OpenCodeReasoning-2 与 HardTests 竞赛题,配合合成测试用例。
阶段 2 · 任务形式标准化与改写
按训练器和验证器的要求统一任务格式、答案字段与元数据:
| 领域 | 标准化做法 |
|---|---|
| Math / Knowledge | 改写为简答题形式 |
| Long-Context | 扩展上下文,同时保持问题与参考答案的对应关系 |
| Code | 统一 query 表述、输入输出约定与提交格式 |
阶段 3 · 可验证性过滤
只保留答案唯一、可自动校验、抽取格式统一的样本。选择题、判断题、证明题、多问题以及依赖图片的题目都在这一阶段被移除。Long-Context 样本必须有明确的"上下文—问题—答案"关联;Code 样本则必须能在沙箱中通过测试用例执行。
阶段 4 · 奖励可信性校验
这是"奖励信号可靠"的关键一环:
- LLM Judge审核题目与答案的一致性;
- Math / Knowledge 由多个独立模型重新求解,按共识修正标签——无共识则直接丢弃,不做猜测;
- Long-Context 采用参考答案比对 + 多模型质量评估;
- Code 对测试用例、参考实现与预期输出做三方交叉验证,无效或无法执行的用例一律移除。
阶段 5 · 难度校准
在 RL 初始化 checkpoint 上对每条样本多次 rollout,估算经验通过率,并据此分层处理:
- 通过率 = 1(已完全掌握、无梯度收益)→ 移除;
- 处于可学习区间→ 保留;
- 通过率 = 0 但标签已确认合法→ 保留,交由在线动态采样调控训练频率。
注意:本阶段只改变难度与采样权重,绝不修改参考标签——难度筛选"动分数、不动答案"。
阶段 6 · 格式整理与质量复核
导出为统一 JSONL,并做发布前最后一道体检:
- 检查可解析性、必需字段、唯一 ID、抽取规则与验证器配置;
- 清理精确 / 近似重复样本,以及与公开评测集重叠的样本(去污染);
- 复核各领域关键属性:Math / Knowledge 答案唯一性、Long-Context 上下文关联、Code 测试用例可执行性;
- 记录数据来源、筛选版本与验证器版本,保证全程可追溯。
📦 最终成果:统一的五字段 JSONL 格式
每条样本一行,五个字段即可驱动整个 RL 训练循环:
{ "uuid": "Math_00001", "query": "……完整的题面……", "ground_truth": "……参考答案……", "source": "原始来源 | UltraData-RL-2609", "domain": "Math" }| 字段 | 说明 |
|---|---|
uuid | 全局唯一 ID,由领域前缀 + 序号组成 |
query | 模型要回答的完整任务(长文本任务的上下文和问题都在此字段) |
ground_truth | 参考答案字符串(Code 领域为测试用例对象) |
source | 原始来源信息 |
domain | Math/Knowledge/Long_Context/Code |
Code 领域的ground_truth特别值得一提:它是一对等长数组inputs/outputs,验证完全基于真实执行——把输入喂给候选程序,比对标准化后的输出,全部测例通过才计为正确。例如两组测例的形式:
{"inputs": ["3\n1 2 3\n", "1\n5\n"], "outputs": ["6\n", "5\n"]}这种"以执行判对错"的设计,让代码任务的奖励信号几乎不存在歧义。
📈 实战效果:AIME 2025 从 61 到 86
这套数据的成色有实打实的成绩单背书:在 JustRL II 实验设置(小模型 + critic 的 128K 推理 RL)中,AIME 2025 在约 300 步 RL 内从 61 提升到 81;最终消费该数据集完成后训练的 MiniCPM5-2B checkpoint 在 AIME 2025 上达到86。可验证、可追溯的训练信号,正是稳定 RL 的基石。
🚀 快速上手指南
数据集提供四个 config,用 Hugging Facedatasets库即可加载:
from datasets import load_dataset ds = load_dataset("openbmb/UltraData-RL-2609", "Math", split="train") # 也可用 "Knowledge" / "Long-Context" / "Code"仓库内同样提供完整的本地分片文件,例如 Math_part-1-of-4.jsonl、Code_part-01-of-12.jsonl、Knowledge_part-1-of-2.jsonl、Long_Context_part-1-of-2.jsonl,可结合 README_ZH.md 中的说明直接使用。
⚠️ 使用注意事项
- Code 需自备验证器:发布内容包含测试用例但不含沙箱,需自行执行提交代码计算奖励;
- 静态标签:构建时的难度过滤与采样权重不作为字段发布,只保留最终入选样本;
- 去污染范围有限:仅覆盖构建时已知的评测集,引入新基准前建议另行检测。
✅ 小结
UltraData-RL-2609 用一条"可判定 → 可信 → 难度适配 → 规范化发布"的六阶段流水线,把多源原始数据打磨成 85,995 条 RL-ready 样本。它的流水线设计——尤其是多模型共识校验与"只调权重不改标签"的难度校准原则——对任何想做 LLM RL 后训练的团队都有直接参考价值。项目按 Apache 2.0 许可发布,更多细节可参阅 README.md。
【免费下载链接】UltraData-RL-2609项目地址: https://ai.gitcode.com/OpenBMB/UltraData-RL-2609
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考