SWE-RL: Advancing LLM Reasoning via Reinforcement Learning on Open Software Evolution

作者: Yuxiang Wei, Olivier Duchenne, Jade Copet, Quentin Carbonneaux, Lingming Zhang, Daniel Fried, Gabriel Synnaeve, Rishabh Singh, Sida I. Wang

发布时间: 2025-02-27

来源: arxiv

研究方向: 软件工程与大型语言模型

主要内容

该研究提出了一种名为SWE-RL的强化学习方法,用于增强大型语言模型(LLMs)在软件工程任务上的能力。该方法利用软件演化数据(如PRs)和基于规则的奖励来训练LLMs,使其能够解决现实世界中的软件问题。

主要贡献

1. 引入了SWE-RL,这是第一个利用软件演化数据和基于规则的奖励来增强LLMs在软件工程任务上能力的强化学习方法。

2. 开发了Llama3-SWE-RL-70B,该模型在SWE-bench Verified上实现了41.0%的解决率,在中等规模语言模型中取得了最佳性能。

3. 首次证明了仅通过将强化学习应用于现实世界软件工程任务(如问题解决)即可增强LLM的通用推理能力,使其能够提高在数学、代码生成和通用语言理解等任务上的表现。

研究方法

1. 从GitHub PR数据中创建种子RL数据集,包括问题描述、代码上下文和Oracle补丁。

2. 使用策略LLM通过推理生成代码更改。

3. 使用GRPO进行策略优化。

4. 通过比较预测的补丁和Oracle补丁之间的匹配度来计算奖励。

5. 将代码更改转换为一致的补丁格式以进行奖励计算。

实验结果

Llama3-SWE-RL-70B在SWE-bench Verified上实现了41.0%的解决率,在中等规模语言模型中取得了最佳性能。此外,该模型在数学、代码生成、代码推理、通用语言理解等任务上也表现出色。

未来工作

将集成基于代理的强化学习到框架中,使模型能够独立学习定位和修复策略。此外,将集成执行以允许模型直接与存储库环境交互。还将专注于提高推理期间的样本效率,目标是使用更少的样本实现相同或更好的性能。