AI VIDEO BRIEFING

메타 SWE-RL 논문 해설 — 깃허브 풀 리퀘스트로 강화학습한 코딩 LLM의 성능과 한계

메타가 공개한 SWE-RL은 실제 오픈소스 저장소의 변경 이력으로 LLM을 강화학습시킨다. 깃허브 풀 리퀘스트 1100만 건을 모은 데이터 정제 과정과 코드 실행 없이 유사도로 주는 보상 설계, 700억 파라미터 모델이 낸 41% 성적을 정리했다.

깃허브 풀 리퀘스트 1100만 건으로 코딩 AI를 훈련한 메타의 SWE-RL 영상 대표 이미지

핵심 메시지

  • 딥시크 R1이 보여준 강화학습의 효과는 주로 정답 실행이 쉬운 경진 프로그래밍에 머물렀고, 실제 서비스의 버그 수정처럼 실행 환경이 필요한 문제에는 그대로 옮겨지지 않았다.
  • 메타는 깃허브 아카이브에서 460만 개 저장소의 이력을 모은 뒤 필터링해 약 1100만 건의 고품질 풀 리퀘스트 데이터셋을 만들었다.
  • 보상은 모델이 만든 패치와 실제로 병합된 패치 사이의 유사도로 0~1 사이에서 계산하고, 형식이 어긋난 출력에는 -1을 준다. 코드 실행이 필요 없는 설계다.
  • 700억 파라미터 모델은 SWE-bench Verified에서 pass@1 41%를 기록해 1000억 파라미터 미만 오픈소스 모델 가운데 최고 성적을 냈다.
  • 강화학습 모델은 훈련 데이터에 없던 과제에서도 기본 모델과 지도 미세조정 모델을 앞섰다. 암기가 아니라 일반적인 추론 능력이 열렸다는 근거로 제시됐다.

쉽게 이해하기

딥시크 R1은 강화학습이 대형 언어 모델의 추론 능력을 크게 끌어올릴 수 있음을 보여줬지만, 코딩 영역에서는 주로 경진 프로그래밍에 초점이 맞춰져 있었다. 경진 문제는 그 자체로 완결돼 있고 코드를 실행해 정답 여부를 바로 확인할 수 있다. 반면 복잡한 백엔드 서비스의 버그를 고치는 일은 전용 실행 환경이 필요하고, 실행이 되더라도 그 수정이 정말 옳은지 판단하기가 훨씬 까다롭다. 메타의 논문 'SWE-RL'은 바로 이 간극을 겨냥한다.

훈련 데이터는 오픈소스가 시간에 따라 어떻게 변해왔는지에서 가져온다. 연구진은 깃허브의 공개 활동을 추적하는 깃허브 아카이브를 출발점으로 삼아 이슈, 댓글, 풀 리퀘스트를 확보하고, 코드 스냅샷이 아닌 커밋 이력을 얻기 위해 460만 개 저장소를 복제했다. 성능 측정에 쓰이는 SWE-bench 관련 저장소는 처음부터 제외했다.

수집한 자료는 그대로 훈련에 쓸 수 없어 풀 리퀘스트 단위로 재구성한다. 병합되지 않은 풀 리퀘스트는 버리고, 남은 각 건에 연결된 이슈 설명과 댓글, 변경 전 파일 내용을 모으고 최종 병합된 변경을 정답으로 삼는다. 여기에 변경되지는 않았지만 관련 있는 파일도 추가하는데, 편집된 파일만 넣으면 모델이 입력으로 받은 모든 파일을 고치려 드는 편향이 생기기 때문이다. 관련 파일 선별에는 라마 3.1 70B 인스트럭트를 썼다. 마지막으로 봇이 만든 것이나 버전만 올린 것 같은 저품질 항목을 규칙으로 걸러 약 1100만 건이 남았다.

학습에서는 이 데이터셋에서 다시 고품질 표본을 골라 시드 데이터셋을 만든다. 이슈가 최소 하나 연결돼 있고 그 이슈가 버그 수정 요청이며 변경이 프로그래밍 파일에 걸쳐 있어야 한다. 프롬프트는 추론 과정을 think 태그로, 제안한 수정을 solution 태그로 감싸라는 시스템 지시로 시작하고 그 뒤에 이슈 설명과 코드 맥락이 붙는다. 모델에서 여러 응답을 뽑은 뒤 보상 모델 대신 규칙 기반 보상을 계산하고, 알고리즘은 딥시크 R1과 같은 GRPO를 쓴다.

결과 모델인 Llama3-SWE-RL-70B는 SWE-bench Verified에서 pass@1 41%를 기록했다. 인간이 검수한 실제 깃허브 이슈 모음에서 첫 시도에 41%를 해결했다는 뜻이며, 1000억 파라미터 미만 오픈소스 모델 중 최고 기록이다. 폐쇄형이나 더 큰 모델에는 못 미치지만 오픈소스이고 크기가 훨씬 다루기 쉽다는 점이 강조됐다. 훈련 과정에서는 딥시크 R1이 보고한 '아하 모먼트'가 실제 소프트웨어 엔지니어링 과제에서도 재현됐고, 모델이 초기 가정을 다시 검토하는 데 더 많은 사고 시간을 쓰는 행동이 명시적 설계 없이 나타났다.

주요 인사이트

  • 코드 실행 없이도 강화학습이 가능하다는 점이 이 접근의 핵심이다. 실제 병합된 패치를 정답으로 두고 유사도로 보상을 주면, 저장소마다 실행 환경을 갖추지 않고도 대규모 학습을 돌릴 수 있다.
  • 다만 그 보상 설계에는 한계가 있다. 원래 풀 리퀘스트가 택한 방식과 다른 해법을 모델이 탐색하지 못하도록 억누를 수 있다는 점을 연구진 스스로 지적한다.
  • 데이터 구성이 모델 행동을 직접 만든다. 편집된 파일만 넣었더니 모든 입력 파일을 고치려 드는 편향이 생겼고, 바뀌지 않은 관련 파일을 함께 넣는 것만으로 이 문제를 다뤘다.
  • 강화학습의 이득이 훈련 분포 밖으로도 번졌다. 단순 함수 구현 과제에서 여러 대안을 탐색하거나, 문제를 쪼개 단계별로 푸는 분할 정복 전략이 훈련에 없던 과제에서 관찰됐다.
  • 지도 미세조정과의 비교가 의미 있다. 같은 풀 리퀘스트 데이터로 지도 학습한 모델보다 강화학습 모델이 도메인 밖 과제에서 일관되게 앞섰다는 결과는, 두 방식이 남기는 능력의 성격이 다르다는 것을 보여준다.

자주 묻는 질문

SWE-RL은 보상을 어떻게 계산하나요?

형식이 잘못된 출력에는 -1을 주고, 형식이 올바른 출력에는 모델이 만든 패치와 실제 병합된 원본 패치 사이의 유사도를 0에서 1 사이 값으로 계산해 보상으로 씁니다.

훈련 데이터에 SWE-bench 저장소가 섞이지는 않았나요?

아닙니다. SWE-bench 벤치마크가 사용하는 저장소는 데이터 수집 단계에서 모두 제외했습니다. 이 벤치마크가 모델 성능 측정에 쓰이기 때문입니다.

41%라는 성적은 어느 수준인가요?

SWE-bench Verified에서 첫 시도에 41%의 이슈를 해결했다는 뜻으로, 1000억 파라미터 미만 오픈소스 모델 중에서는 최고 기록입니다. 다만 일부 폐쇄형 모델이나 더 큰 오픈소스 모델의 성적에는 미치지 못합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식