UltraData-RL-2609长上下文数据教程:长文档多跳问答样本如何支撑128K推理
【免费下载链接】UltraData-RL-2609项目地址: https://ai.gitcode.com/OpenBMB/UltraData-RL-2609
UltraData-RL-2609 是 OpenBMB 面向强化学习(RL)后训练的合成增强数据集,其中Long-Context 长上下文切片通过 18,046 条长文档多跳问答样本,帮助 MiniCPM5-2B 等小模型将推理能力扩展到128K上下文规模。本文带你快速搞懂:这些长文本多跳问答长什么样、如何保证"答得出来、判得对",以及新手如何一键上手。
为什么长上下文数据需要"多跳问答"设计
小模型做长推理时最大的难题不是"读不完",而是读完后不会用:答案往往藏在文档不同位置,需要把多个线索串联起来才能推出——这正是"多跳"(Multi-hop)的含义。
UltraData-RL-2609 的长上下文切片就是围绕这一点构建的:
- 长文档:上下文由多跳与文档问答数据扩写至更长篇幅,训练模型在数万甚至十万级 token 内保持注意力;
- 多跳问题:答案无法从单一句子直接抄到,必须跨段落、跨证据整合;
- 答案可验证:每条样本都有
ground_truth参考答案,且构建时已保证"上下文支撑答案",让 RL 奖励信号干净可靠。
长上下文数据从哪来:3 个开源数据源 + 内部合成
| 数据源 | 类型 | 作用 |
|---|---|---|
| HotpotQA | 多跳问答 | 提供"多跳推理"问题骨架 |
| Qasper | 科研文档问答 | 提供长文档 + 问答对 |
| MuSiQue | 多跳问答 | 增加多跳复杂度与变体 |
| 内部合成数据 | 合成 | 扩写至更长上下文,补足长度分布 |
四个领域共用同一套六阶段构建流程(数据准备 → 标准化改写 → 可验证性过滤 → 奖励可信校验 → 难度匹配 → 格式整理),长上下文样本在此过程中必须通过两道"关卡":
- 明确的上下文—问题—答案关联:问题必须能从给定上下文推出,答案必须被上下文支撑,否则整条丢弃;
- 参考答案比对 + 多模型质量评估:由 LLM Judge 和多模型评审双重把关,减少标注噪声对 RL 训练的干扰。
数据文件位于 data/Long_Context/,共 2 个分片(Long_Context_part-1-of-2.jsonl、Long_Context_part-2-of-2.jsonl)。
一条长上下文样本长什么样?
整个数据集采用统一的五字段 JSONL 结构,长上下文任务的特点是:完整上下文和问题都放在query字段里,ground_truth存放参考答案。
{ "uuid": "Long_Context_00001", "query": "……很长的文档上下文 + 待回答的多跳问题……", "ground_truth": "……参考答案……", "source": "HotpotQA | UltraData-RL-2609", "domain": "Long_Context" }| 字段 | 说明 |
|---|---|
uuid | 全局唯一 ID,领域前缀 + 序号 |
query | 完整上下文 + 问题,直接投喂给策略模型 |
ground_truth | 参考答案字符串,用于答案匹配奖励 |
source | 原始来源 +UltraData-RL-2609 |
domain | 固定为Long_Context |
这种"上下文内嵌于 query"的设计对 RL 训练非常友好:训练器无需额外拼接逻辑,一条记录就是一次完整的"长文阅读 + 推理 + 作答"任务。
快速上手:3 行代码加载长上下文切片
from datasets import load_dataset ds = load_dataset("openbmb/UltraData-RL-2609", "Long-Context", split="train") print(ds[0]["query"][:300]) # 长文档开头 print(ds[0]["ground_truth"]) # 参考答案💡 注意 config 名称是
Long-Context(连字符),而domain字段值是Long_Context(下划线),加载时别写混了。
其他三个切片的 config 为Math、Knowledge、Code,可按需混配比。
实测效果:支撑 128K 推理 RL 的硬核证据
这套数据不只是"长",而是真正被验证过有效。在JustRL II实验设置中(极简 JustRL 配方 + critic + 长度自适应 advantage 估计):
| 指标 | 结果 |
|---|---|
| 推理 RL 规模 | 扩展到128K |
| AIME 2025 | 约 300 步 RL 内由61 → 81 |
| MiniCPM5-2B 最终 checkpoint | AIME 2025 达86 |
长上下文多跳问答在其中扮演"长跑教练":它强迫模型在超长轨迹中维持推理链的一致性,与 Math(32,412 条)、Code(23,665 条)、Knowledge(11,872 条)切片共同构成 85,995 条的完整 RL 分布,让短推理与长推理能力互相增益。
新手避坑指南:使用注意事项
- 难度分布已预筛过:通过率为 1(已掌握)的样本已移除,通过率为 0 但标签合法的样本保留并由在线动态采样调控——你拿到的就是"可学习区间"内的样本,无需自行再筛难度。
- 选择题、图片题已清洗:构建流程中移除了选择题、判断题、证明题、多问题及依赖图片的题,避免抽取式判分失真。
- 静态标签:构建时的难度过滤与采样权重不作为字段发布,仅保留最终入选样本。
- 去污范围:去重仅覆盖构建时已知评测集,若引入新基准请自行检测重叠。
- 许可:项目按 Apache 2.0 发布,上游数据各自的 MIT / CC BY 4.0 / CC BY-SA 4.0 条款继续适用。
常见问题 FAQ
Q1:Long-Context 切片适合单独训练吗?可以按切片独立使用,也可与其他切片配比混合。长上下文 RL 计算成本较高,建议先用小批次验证训练器能正确处理长query再全量启动。
Q2:如何判断答案是否正确?长上下文采用与ground_truth的答案匹配判分,且构建时已保证上下文支撑答案,无需额外验证器(这与 Code 切片需要自备沙箱不同)。
Q3:我的模型上下文小于 128K 能用吗?可以。样本本身按长度分布构建,短上下文模型同样受益;128K 级收益则需要配套长上下文训练器与 128K 窗口支持。
总结
UltraData-RL-2609 的长上下文切片用 18,046 条可验证的长文档多跳问答,把"读得长"练成"推得远":HotpotQA / Qasper / MuSiQue 打底、六阶段流水线保证奖励可信、难度预筛适配 RL,最终支撑小模型 128K 推理 RL 落地。如果你的目标是端侧或本地部署模型的长推理能力,这份数据值得一试 🚀
【免费下载链接】UltraData-RL-2609项目地址: https://ai.gitcode.com/OpenBMB/UltraData-RL-2609
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考