five

SWE-Fixer Dataset

收藏
arXiv2025-01-09 更新2025-01-11 收录
下载链接:
https://github.com/InternLM/SWE-Fixer
下载链接
链接失效反馈
官方服务:
资源简介:
SWE-Fixer数据集由上海人工智能实验室等机构创建,旨在解决GitHub上的软件工程问题。该数据集包含11万条GitHub问题及其对应的补丁,数据来源于真实的GitHub仓库。数据集的构建过程采用了严格的过滤技术,确保数据的广泛性和可靠性。数据集主要用于训练和评估开源大语言模型在代码文件检索和代码编辑任务中的表现,旨在提高模型在解决实际软件工程问题中的效率和效果。

The SWE-Fixer dataset was developed by institutions including the Shanghai AI Laboratory and others, with the objective of addressing software engineering problems on GitHub. It contains 110,000 GitHub issues and their corresponding patches, with all data sourced from real GitHub repositories. Strict filtering techniques were employed during the dataset construction process to guarantee the breadth and reliability of the collected data. This dataset is primarily utilized for training and evaluating the performance of open-source large language models (LLMs) on code file retrieval and code editing tasks, aiming to enhance the efficiency and effectiveness of models when resolving practical software engineering issues.
提供机构:
上海人工智能实验室, 西安电子科技大学, 香港中文大学, 香港大学
创建时间:
2025-01-09
原始信息汇总

SWE-Fixer 数据集概述

数据集简介

SWE-Fixer 是一个用于解决真实世界 GitHub 问题的开源大语言模型(LLM)训练解决方案。它采用了一个简化的检索-编辑流程,包含两个核心组件:代码文件检索器代码编辑器。该模型通过微调 Qwen2.5-7bQwen2.5-72b 来实现,并利用了一个包含 110K 实例的精选数据集。

模型与数据集

模型

  1. SWE-Fixer-Retriever-7B

    • 用途:用于代码文件检索任务。
    • 输入:问题描述和 BM25 检索结果。
    • 输出:识别与问题相关的缺陷文件。
  2. SWE-Fixer-Editor-72B

    • 用途:用于代码编辑任务。
    • 输入:问题描述和相应的文件内容。
    • 输出:生成用于解决问题的修改补丁。

数据集

  1. SWE-Fixer-Train-110K

    • 内容:包含从真实世界 GitHub 仓库收集的近 110K 详细实例,用于模型训练。
  2. SWE-Fixer-Eval

    • 内容:包含 SWE-Bench Lite 和 Verified 实例、BM25 检索结果以及每个实例的代码结构,便于评估。

性能表现

SWE-Fixer 在开源解决方案中达到了最先进的性能,具体表现为:

  • 23.3% 在 SWE-Bench Lite 上。
  • 30.2% 在 SWE-Bench Verified 上。

运行流程

环境设置

  1. 下载并安装推理环境包 SWE_Fixer.tar.gz
  2. 解压并激活环境。

准备模型和评估数据集

  1. 下载模型和数据集并保存到默认位置。
  2. 可选:修改脚本中的路径以匹配本地设置。

运行检索模型

  1. 运行检索管道(默认使用 lite 数据集)。
  2. 可选:使用 verified 数据集。

运行编辑模型

  1. 在完成检索步骤后,基于检索结果运行编辑管道。
  2. 可选:使用 verified 数据集。

评估结果

使用 all-hands 评估方法 评估管道结果。

引用

bibtex @article{xie2025swefixer, title={SWE-Fixer: Training Open-Source LLMs for Effective and Efficient GitHub Issue Resolution}, author={Xie, Chengxing and Li, Bowen and Gao, Chang and Du, He and Lam, Wai and Zou, Difan and Chen, Kai}, journal={arXiv preprint arXiv:2501.05040}, year={2025} }

致谢

搜集汇总
数据集介绍
main_image_url
构建方式
SWE-Fixer数据集的构建基于GitHub上的真实问题与代码库,通过爬取110K个GitHub问题及其对应的代码补丁,形成了一个大规模的软件工程修复数据集。数据集的构建过程分为两个主要模块:代码文件检索模块和代码编辑模块。检索模块采用BM25算法结合轻量级语言模型进行粗到细的文件检索,而编辑模块则利用另一个语言模型生成补丁。为确保数据质量,研究团队应用了严格的过滤技术,剔除了过于复杂的训练样本,最终形成了包含110K个实例的训练集。
特点
SWE-Fixer数据集的特点在于其规模大、质量高且针对性强。数据集涵盖了110K个GitHub问题及其对应的代码补丁,确保了数据的广泛性和代表性。此外,数据集通过严格的过滤技术,剔除了复杂或不相关的样本,确保了训练数据的可靠性和有效性。数据集还特别设计了链式思维(CoT)数据,以增强模型在代码编辑任务中的推理能力。这些特点使得SWE-Fixer数据集在软件工程修复任务中表现出色,尤其是在开源模型的训练和评估中。
使用方法
SWE-Fixer数据集的使用方法主要分为两个阶段:代码文件检索和代码编辑。在检索阶段,用户可以利用BM25算法结合轻量级语言模型进行文件检索,定位需要修改的代码文件。在编辑阶段,用户可以使用训练好的语言模型生成代码补丁,解决GitHub问题。数据集还支持链式思维(CoT)数据的应用,以增强模型在复杂任务中的推理能力。用户可以通过微调开源模型(如Qwen2.5系列)来适应特定的修复任务,并在SWE-Bench Lite和Verified等基准上进行评估,以验证模型的有效性。
背景与挑战
背景概述
SWE-Fixer数据集由上海人工智能实验室、西安电子科技大学、香港中文大学和香港大学的研究团队于2025年创建,旨在解决开源大语言模型(LLMs)在GitHub问题修复任务中的有效性和效率问题。该数据集包含11万个GitHub问题及其对应的修复补丁,涵盖了代码文件检索和代码编辑两个核心模块。通过BM25算法和轻量级LLM模型,SWE-Fixer实现了从粗到细的文件检索,并利用另一个LLM模型生成补丁。该数据集在SWE-Bench Lite和Verified基准测试中表现出色,分别达到了23.3%和30.2%的准确率,展示了其在开源模型中的领先地位。SWE-Fixer的推出不仅推动了开源LLM在软件工程领域的应用,还为相关研究提供了高质量的训练数据。
当前挑战
SWE-Fixer数据集在构建和应用过程中面临多重挑战。首先,GitHub问题修复任务本身具有高度复杂性,要求模型能够准确理解问题描述并生成有效的代码补丁,这对模型的推理能力和代码理解能力提出了极高要求。其次,数据集的构建过程中,研究人员需要从大量GitHub仓库中筛选出高质量的问题和补丁,并确保数据的多样性和代表性,这一过程耗时且容易受到噪声数据的干扰。此外,训练开源LLM时,如何平衡模型的计算开销与性能也是一个关键挑战,尤其是在面对大规模代码库时,如何高效地进行文件检索和编辑仍需进一步优化。最后,尽管SWE-Fixer在基准测试中表现优异,但其依赖于静态评估方法,无法完全反映模型在实际执行环境中的表现,未来需要引入动态执行环境以更全面地评估模型的有效性。
常用场景
经典使用场景
SWE-Fixer数据集在软件工程领域中被广泛用于训练和评估开源大语言模型(LLMs),特别是在解决GitHub上的实际问题时。通过提供110K个GitHub问题及其对应的修复补丁,该数据集为模型训练提供了丰富的实例,帮助模型学习如何从问题描述中定位代码缺陷并生成有效的修复补丁。其经典使用场景包括代码文件检索和代码编辑任务,分别通过BM25算法和LLM模型实现从粗到细的文件检索与补丁生成。
衍生相关工作
SWE-Fixer数据集推动了多个相关领域的研究工作。例如,基于该数据集的研究成果,许多开源模型如Qwen2.5和SWE-Gym在代码修复任务中取得了显著进展。此外,该数据集还启发了对代码检索和编辑任务的进一步优化,例如通过引入链式思维(CoT)机制提升模型推理能力。同时,SWE-Fixer的简化管道设计也为其他领域的研究提供了参考,例如在自然语言处理和自动化测试中的应用。
数据集最近研究
最新研究方向
近年来,随着大语言模型(LLMs)在软件工程领域的广泛应用,解决GitHub问题成为研究热点之一。SWE-Fixer数据集的提出为开源LLMs在代码修复任务中的应用提供了新的思路。该数据集通过结合BM25检索和轻量级LLM模型,实现了从粗到细的文件检索,并通过另一个LLM模型生成代码补丁。这一方法不仅提升了代码修复的效率,还显著降低了计算成本。当前的研究方向主要集中在如何进一步优化检索和编辑模块的性能,特别是在处理大规模代码库时的扩展性和准确性。此外,如何通过链式思维(CoT)数据增强模型的推理能力,也是未来研究的重要方向。SWE-Fixer在SWE-Bench Lite和Verified基准测试中的优异表现,展示了其在开源模型中的领先地位,并为软件工程领域的自动化问题解决提供了新的可能性。
相关研究论文
  • 1
    SWE-Fixer: Training Open-Source LLMs for Effective and Efficient GitHub Issue Resolution上海人工智能实验室, 西安电子科技大学, 香港中文大学, 香港大学 · 2025年
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作