SWE-bench: Can Language Models Resolve Real-World GitHub Issues?

저자: Carlos E. Jimenez, John Yang, Alexander Wettig, Shunyu Yao, Kexin Pei, Ofir Press, Karthik Narasimhan | 날짜: 2024-11-11 | DOI: 10.48550/arXiv.2310.06770


Essence

Figure 1

Figure 1: SWE-bench는 GitHub 이슈를 실제 코드베이스와 함께 제시하여 언어 모델이 생성한 패치를 단위 테스트로 검증하는 방식으로 작동

실제 GitHub 이슈 2,294개를 기반으로 한 소프트웨어 엔지니어링 벤치마크 SWE-bench를 제시하며, 최고 성능 모델(Claude 2)도 1.96%의 낮은 해결율만 달성하여 대규모 언어 모델의 실제 소프트웨어 엔지니어링 능력의 한계를 명확히 드러낸다.

Motivation

Achievement

Figure 2

Figure 2: 3단계 데이터 파이프라인: (1) 인기 리포지토리 90,000개 PR 수집 → (2) 이슈 해결 + 테스트 기여 PR 필터링 → (3) 실행 기반 필터링으로 2,294개 최종 작업 구성

  1. 포괄적 벤치마크 구성: 12개 인기 Python 리포지토리에서 2,294개의 실제 이슈를 기반으로 한 고품질 벤치마크 생성. 각 작업은 평균 438K 라인의 대규모 코드베이스, 195단어의 이슈 설명, 평균 1.7개 파일과 3.0개 함수 수정 필요
  2. 상태 최고 모델의 성능 한계 실증: Claude 2 (BM25 retriever 포함) 1.96%, GPT-4는 미포함되었으나 공개 모델 중 SWE-Llama 13b가 경쟁 가능 수준의 성능 달성
  3. 학습 데이터 및 파인튠드 모델 공개: 37개 추가 리포지토리에서 19,000개 비테스팅 인스턴스로 구성된 SWE-bench-train 및 CodeLlama 기반 SWE-Llama 7b/13b 모델 공개
  4. 지속적 확장 가능성: 최소 인간 개입으로 새로운 Python 리포지토리를 추가할 수 있는 자동화된 파이프라인 설계

How

Figure 3

Figure 3: 12개 리포지토리별 작업 분포 (django 850개가 가장 많고, flask 11개가 가장 적음)

데이터 구성 방법론

작업 포뮬레이션

파인튠 학습 전략

Originality

Limitation & Further Study

한계

후속 연구 방향

Evaluation

Novelty: 4.5/5 Technical Soundness: 4.5/5 Significance: 4.8/5 Clarity: 4.7/5 Overall: 4.6/5

총평: SWE-bench는 기존 코딩 벤치마크의 인공성을 벗어나 실제 GitHub 이슈 해결을 통해 언어 모델의 실무 소프트웨어 엔지니어링 능력을 엄격하게 평가하는 중요한 작업이며, 공개 데이터셋과 자동화된 확장성으로 장기적 학술 가치가 높다. 다만 검색 기반 접근과 초기 평가 모델 제한은 개선 여지가 있다.

같이 보면 좋은 논문

기반 연구
실제 GitHub 이슈 해결 벤치마크가 소프트웨어 개발 에이전트의 평가 기준을 제공함
기반 연구
실제 GitHub 이슈 해결의 기본 벤치마크를 소프트웨어 개발 에이전트 플랫폼의 성능 검증에 활용할 수 있습니다.
기반 연구
실제 GitHub 이슈 해결을 통한 언어모델의 코드 재현 능력 기반을 제공한다
후속 연구
실제 GitHub 이슈 해결 벤치마크가 소프트웨어 공학 LLM 에이전트의 실용적 평가를 확장한다.
응용 사례
실제 GitHub 이슈 해결을 통한 언어모델 평가가 OpenHands의 실용적 벤치마크 역할을 한다.
응용 사례
실제 GitHub 이슈 해결을 통한 소프트웨어 에이전트 성능 평가
← 목록으로 돌아가기