SWE-Fixer: 효과적이고 효율적인 GitHub 이슈 해결을 위한 오픈소스 LLMs 훈련
SWE-Fixer: Training Open-Source LLMs for Effective and Efficient GitHub Issue Resolution
January 9, 2025
저자: Chengxing Xie, Bowen Li, Chang Gao, He Du, Wai Lam, Difan Zou, Kai Chen
cs.AI
초록
대형 언어 모델(Large Language Models, LLMs)은 다양한 복잡한 작업에서 놀라운 능력을 보여주었습니다. LLMs의 중요한 응용 중 하나는 GitHub에서 사용자가 보고한 문제를 기반으로 코드를 수정하여 실제 세계의 작업을 해결하는 소프트웨어 공학 도전 과제를 다루는 데 있습니다. 그러나 현재 많은 방법론이 소유 LLMs에 의존하고 있어 재현성, 접근성 및 투명성이 제한되는 문제가 있습니다. 소프트웨어 공학 문제를 해결하기 위한 LLMs의 중요 구성 요소와 그 능력을 효과적으로 향상시킬 수 있는 방법은 여전히 명확하지 않습니다. 이러한 도전에 대처하기 위해 우리는 SWE-Fixer를 소개합니다. 이는 GitHub 문제를 효과적이고 효율적으로 해결하기 위해 설계된 혁신적인 오픈 소스 LLM입니다. SWE-Fixer는 코드 파일 검색 모듈과 코드 편집 모듈 두 가지 필수 모듈로 구성됩니다. 검색 모듈은 BM25와 가벼운 LLM 모델을 사용하여 대략적인 파일 검색을 달성합니다. 이후에 코드 편집 모듈은 식별된 파일에 대한 패치를 생성하기 위해 다른 LLM 모델을 활용합니다. 그리고 공개적으로 이용 가능한 데이터셋의 부족을 해소하기 위해 우리는 11만 개의 GitHub 문제와 해당 패치를 포함하는 방대한 데이터셋을 편성하고 SWE-Fixer의 두 모듈을 별도로 훈련합니다. 우리의 방법론을 SWE-Bench Lite 및 Verified 벤치마크에서 평가하여, 각각 23.3%와 30.2%의 점수로 오픈 소스 모델 중 최고 수준의 성능을 달성했습니다. 이러한 결과는 우리 방법론의 효능을 강조합니다. 우리는 우리의 모델, 데이터셋 및 코드를 https://github.com/InternLM/SWE-Fixer에서 공개적으로 이용 가능하게 할 것입니다.
English
Large Language Models (LLMs) have demonstrated remarkable proficiency across
a variety of complex tasks. One significant application of LLMs is in tackling
software engineering challenges, particularly in resolving real-world tasks on
GitHub by fixing code based on the issues reported by the users. However, many
current approaches rely on proprietary LLMs, which limits reproducibility,
accessibility, and transparency. The critical components of LLMs for addressing
software engineering issues and how their capabilities can be effectively
enhanced remain unclear. To address these challenges, we introduce SWE-Fixer, a
novel open-source LLM designed to effectively and efficiently resolve GitHub
issues. SWE-Fixer comprises two essential modules: a code file retrieval module
and a code editing module. The retrieval module employs BM25 along with a
lightweight LLM model to achieve coarse-to-fine file retrieval. Subsequently,
the code editing module utilizes the other LLM model to generate patches for
the identified files. Then, to mitigate the lack of publicly available
datasets, we compile an extensive dataset that includes 110K GitHub issues
along with their corresponding patches, and train the two modules of SWE-Fixer
separately. We assess our approach on the SWE-Bench Lite and Verified
benchmarks, achieving state-of-the-art performance among open-source models
with scores of 23.3% and 30.2%, respectively. These outcomes highlight the
efficacy of our approach. We will make our model, dataset, and code publicly
available at https://github.com/InternLM/SWE-Fixer.Summary
AI-Generated Summary