Nemotron-Cascade-RL-SWE
收藏Hugging Face2025-12-16 更新2025-12-17 收录
下载链接:
https://huggingface.co/datasets/nvidia/Nemotron-Cascade-RL-SWE
下载链接
链接失效反馈官方服务:
资源简介:
Nemotron-Cascade-RL-SWE数据集是用于软件工程(SWE)代码修复任务的强化学习(RL)训练数据,由多个现有数据集组成,包括SWE-Bench-Train、SWE-reBench、SWE-Smith、R2E-Gym/R2E-Gym-Subset和SWE-Fixer-Train。根据难度级别筛选训练数据,并排除了来自SWE-Bench_Verified评估数据集的实例以避免数据污染。提示(prompts)遵循无代理小型框架创建,难度级别通过最大提示长度(16K、24K和32K)体现。数据集结构包含来源、实例ID、提示、黄金补丁(golden_patch)和原始提示等字段。README还讨论了使用奖励模型(Kimi-Dev-72B)进行RL训练,并提供了生成SYSTEM_PROMPT和USER_PROMPT的代码片段。使用该数据集训练的模型在pass@1解决率上达到了8B模型的37.2和14B模型的43.1。
提供机构:
NVIDIA
创建时间:
2025-12-16
原始信息汇总
Nemotron-Cascade-RL-SWE 数据集概述
数据集描述
Nemotron-Cascade-RL-SWE 数据集是用于 SWE(软件工程)代码修复任务的强化学习(RL)训练数据。该数据集由多个子数据集组合而成,包括 SWE-Bench-Train、SWE-reBench、SWE-Smith、R2E-Gym/R2E-Gym-Subset 以及 SWE-Fixer-Train。数据筛选基于任务难度,并为避免数据污染,排除了所有源自 SWE-Bench_Verified 评估数据集中存在的仓库实例。提示(prompt)遵循 agentless mini 框架创建,训练数据具有不同的难度级别,最大提示长度分别为 16K、24K 和 32K。使用该数据集及其对应的 SFT 数据进行训练后,8B 和 14B 模型在不使用 TTS 的情况下,分别达到了 37.2 和 43.1 的 pass@1 解决率。请注意,在 RL 训练期间未使用任何基于 Docker 执行的奖励。
数据来源与统计(最大提示长度为 16K 的版本)
| 数据源 | 问题数量 | 样本数量 |
|---|---|---|
| SWE-Fixer-Train | 23,236 | 30,029 |
| SWE-Smith | 24,72 | 3,081 |
| SWE-Bench-Train | 1,063 | 1,525 |
| SWE-reBench | 4,244 | 5,647 |
注:一个问题最多可形成 2 个样本:(1) 仅包含黄金定位文件;(2) 包含黄金定位文件以及从 DeepSeek-R1-0528 检索到的噪声文件。
数据集结构
每个数据示例如下所示:
source: (字符串) - 实例原始来源的数据集名称。instance_id: (字符串) - 实例在其原始数据集中的 ID。prompt: (字符串) - 遵循 agentless mini 框架的代码修复文本提示,包含问题描述、潜在的缺陷代码补丁。golden_patch: (字符串) - 用于解决问题的、人工编写的代码补丁。original_prompt: (字符串) - 仅包含黄金定位(无其他定位)的提示,用作奖励模型的输入。
SWE 强化学习与奖励模型
在实验中,使用 Kimi-Dev-72B 作为 SWE RL 训练的奖励模型。这使得即使大部分收集的数据没有 Docker 环境,也能轻松扩展基于免执行奖励模型的 SWE RL 训练。具体方法是,给定人工编写的黄金补丁作为参考,提示奖励模型判断模型响应是否能解决给定问题。技术细节可参考技术报告。
许可证
本数据集采用 CC-BY-4.0 许可证。
标签
- nvidia
- reasoning
- code
- reinforcement learning
语言
- en
搜集汇总
数据集介绍

构建方式
在软件工程领域,代码修复任务对模型推理能力提出较高要求。Nemotron-Cascade-RL-SWE数据集的构建基于多个开源代码修复基准,包括SWE-Bench-Train、SWE-reBench、SWE-Smith、R2E-Gym子集及SWE-Fixer-Train。为确保训练数据的多样性与难度梯度,研究者依据问题复杂度筛选样本,并严格排除与评估集SWE-Bench_Verified存在仓库重叠的实例以避免数据污染。提示词遵循无代理微型框架设计,并设置16K、24K与32K三种最大长度以覆盖不同复杂度的修复场景。每个问题至多生成两个样本:其一仅包含黄金定位文件,另一则在此基础上加入检索自DeepSeek-R1-0528的噪声文件,从而模拟真实修复环境中的信息冗余挑战。
特点
该数据集专为强化学习阶段的代码修复训练而设计,其核心特点体现在结构化标注与任务适配性上。每条数据均包含来源标识、实例编号、修复提示、人工编写的黄金补丁及仅含黄金定位的原始提示,形成了完整的监督信号链条。数据规模覆盖数万样本,并依据提示长度分层,为模型提供了从基础到复杂的渐进式学习路径。值得注意的是,训练过程完全基于执行无关的奖励机制,利用Kimi-Dev-72B作为奖励模型对修复结果进行质量评估,避免了传统方法对Docker环境的依赖,显著提升了训练的可扩展性与效率。
使用方法
使用该数据集时,需将其与对应的监督微调数据集结合,构建两阶段训练流程。在强化学习阶段,模型接收数据集中提供的提示词,生成代码修复方案,并通过奖励模型进行质量评判。奖励模型以系统提示与用户提示结构化输入,将模型输出与黄金补丁对比,输出是否成功解决问题的二值判断。实际操作中需注意从模型响应中提取<think>标签后的解决方案内容,并替换提示中的示例部分以适配评估格式。该方法使研究者能够在无需执行环境的情况下,高效训练模型解决真实世界软件工程问题,已在8B与14B规模模型上实现了显著的修复率提升。
背景与挑战
背景概述
在软件工程领域,自动化代码修复技术是提升开发效率与软件质量的关键研究方向。Nemotron-Cascade-RL-SWE数据集由NVIDIA等机构于近期构建,专注于强化学习在软件工程任务中的应用,特别是针对代码修复问题。该数据集整合了多个开源基准,如SWE-Bench-Train、SWE-reBench等,通过筛选不同难度的训练样本,旨在训练模型理解并修复真实世界中的代码缺陷。其核心研究问题在于如何利用强化学习框架,使模型能够自主生成有效的代码补丁,从而推动智能编程助手的发展,对自动化软件维护领域产生了显著影响。
当前挑战
该数据集旨在解决软件工程中代码自动修复的挑战,包括处理复杂代码库中的多文件依赖、理解自然语言描述的问题陈述以及生成符合编程规范的补丁。在构建过程中,研究人员面临数据质量与多样性的平衡难题,需从多个来源筛选样本以避免评估数据污染,同时设计不同长度的提示以模拟真实场景的复杂性。此外,由于缺乏执行环境,奖励模型的构建依赖于大型语言模型的判断,这引入了评估偏差与泛化能力的限制,为训练过程的稳定性与效果带来了额外考验。
常用场景
经典使用场景
在软件工程领域,自动化代码修复是提升开发效率的关键方向。Nemotron-Cascade-RL-SWE数据集专为强化学习训练设计,其经典使用场景聚焦于训练智能体处理软件仓库中的实际缺陷报告。通过整合多个开源代码修复基准,该数据集构建了从简单到复杂的多难度任务序列,使模型能够学习生成符合人类开发者标准的代码补丁,从而在无需执行环境的情况下模拟真实修复流程。
实际应用
在实际开发环境中,该数据集可赋能智能编程助手实现自动化缺陷修复。集成此类模型的工具能够解析GitHub等平台的问题报告,自动定位代码库中的错误并生成修正补丁,显著减少人工调试时间。此外,其支持的长上下文提示(最高32K)使模型能处理大型代码文件,适用于企业级软件维护与持续集成流程,提升软件交付质量与开发团队生产力。
衍生相关工作
围绕该数据集衍生的经典工作包括基于Kimi-Dev-72B奖励模型的强化学习框架,该框架实现了无需Docker环境的执行无关奖励机制。同时,其整合的agentless mini prompt设计启发了多项后续研究,如跨仓库代码修复泛化方法及多模态缺陷定位技术。这些工作共同推进了代码智能体在复杂软件工程任务中的实用化进程。
以上内容由遇见数据集搜集并总结生成



