한 줄 요약
SWE-rebench는 GitHub에서 자동으로 21,000개 이상의 Python 기반 SWE 작업을 추출하고, 오염되지 않은 평가를 제공하는 첫 번째 자동화된 파이프라인과 데이터셋이다.
핵심 기여도
- **SWE-rebench 파이프라인**: GitHub에서 자동으로 실행 가능한 SWE 작업을 추출하는 첫 번째 자동화된, 확장 가능한 파이프라인.
- **SWE-rebench 데이터셋**: 21,000개 이상의 Python 기반 SWE 작업을 포함한 공개 데이터셋.
- **SWE-rebench 리더보드**: 오염되지 않은, 지속적으로 업데이트되는 평가 시스템.
- **LLM 성능 오염 분석**: SWE-bench Verified 대비 일부 모델의 성능이 오염으로 과대평가되었음을 보여준다.
핵심 아이디어
SWE-rebench는 기존의 수작업 또는 한 번성 코드 생성에 의존하는 데이터셋의 한계를 극복하기 위해, GitHub 저장소에서 자동으로 실행 가능한 SWE 작업을 추출하는 파이프라인을 제안한다. 이는 강화학습 기반 SWE 에이전트 학습에 적합한 대규모 인터랙티브 작업 데이터를 제공한다. 핵심 아이디어는 **자동화된 환경 구성**, **빌드 설정**, **테스트 검증** 단계를 통한 작업 추출이다. 예를 들어, Qwen2.5-72B-Instruct 모델을 사용하여 설치 지침을 생성하고, SWE-bench Verified 라벨을 기반으로 LLM을 미세조정하여 작업의 복잡도와 관련성을 예측한다.
기술적 접근법
- **파이프라인 구성**: GitHub 저장소에서 작업 추출, 환경 설정, 빌드, 테스트 검증 단계를 포함.
- **LLM 활용**: Qwen2.5-72B-Instruct 모델을 사용한 설치 지침 생성, SWE-bench Verified 라벨 기반의 LLM 미세조정을 통한 작업 평가.
- **자동 필터링**: 다단계 필터링, 자동 의존성 설치, 헤uristic 기반의 작업 추출.
- **데이터셋**: Python 기반, 21,000개 이상의 인터랙티브 작업.
- **리더보드**: 지속적으로 업데이트되는 SWE-rebench 리더보드 제공 (https://swe-rebench.com/leaderboard).
주요 결과
- **SWE-rebench 데이터셋**: 21,000개 이상의 Python 기반 SWE 작업 포함.
- **LLM 성능 비교**: SWE-rebench 벤치마크에서 일부 모델의 성능이 SWE-bench Verified 대비 낮아, 오염 가능성 있음.
- **자동화 효과**: 기존 수작업 방식 대비 작업 수와 다양성 확대.
- **성능 차이**: 일부 모델의 성능이 오염되지 않은 환경에서 감소됨.
의의 및 한계
SWE-rebench는 대규모, 인터랙티브 SWE 작업 데이터 부족 문제를 해결하고, 오염되지 않은 평가를 가능하게 하여 LLM 기반 SWE 에이전트 연구를 촉진한다. 특히, 강화학습 기반 학습에 적합한 데이터를 제공하며, 공개 리더보드를 통해 모델 간 공정한 비교를 지원한다. 그러나, **자동화된 작업 품질 평가**는 인간의 세부 판단을 대체할 수 없어 일부 작업이 불완전하거나 해결 불가능할 수 있다. 또한, 현재는 Python에만 국한되어 있으며, 다른 언어 확장이 필요하다.
실용적 활용
SWE-rebench는 오픈소스 LLM 기반 SWE 에이전트의 학습 및 평가에 활용될 수 있으며, 특히 강화학습 기반의 인터랙티브 작업 학습에 적합하다. 또한, 지속적인 데이터 업데이트를 통해 빠르게 발전하는 모델의 신뢰성 있는 평가를 지원할 수 있다.