피드로 돌아가기
StarCoder2-Instruct: Fully Transparent and Permissive Self-Alignment for Code Generation
Hugging Face BlogHugging Face Blog
AI/ML

StarCoder2 팀이 자체 생성 데이터로 자가 정렬하는 파이프라인을 구축해 GPT-4 증류 없이 CodeLlama-70B-Instruct를 72.6점으로 능가

StarCoder2-Instruct: Fully Transparent and Permissive Self-Alignment for Code Generation

2024년 4월 29일9intermediate

Context

코드 생성 LLM의 지시 튜닝은 고비용의 인간 주석 데이터 또는 GPT-4 같은 대규모 독점 모델의 증류 데이터에 의존해야 했다. 투명성 부족과 라이선스 제약으로 인해 완전히 개방형이고 재현 가능한 코드 LLM 구축이 어려웠다.

Technical Solution

  • 종자 코드 수집: The Stack V1에서 파이썬 함수 5백만 개 중 타입 검사, 오염 제거, 문서화 품질 필터링, MinHash 근처중복제거를 거쳐 25만 개 함수 추출
  • Self-OSS-Instruct를 통한 지시 자생성: StarCoder2-15B 기본 모델에 16개의 몇-샷 예제를 제공해 종자 함수에서 코드 개념을 추출한 후 해당 개념을 포함하는 코딩 작업 지시 238k개 생성
  • 응답 자가 검증: 각 지시마다 모델이 자연어 응답과 테스트 10개 쌍을 생성하고 샌드박스 환경에서 테스트 실행으로 통과하는 응답만 선별해 최종 감독된 미세조정 데이터셋 구성
  • 감독된 미세조정: 생성된 지시-응답 쌍으로 StarCoder2-15B 자신을 미세조정해 StarCoder2-15B-Instruct-v0.1 완성
  • 전체 파이프라인 공개: 데이터 수집부터 훈련까지 완전 오픈소스화해 재현성과 투명성 확보

Impact

  • HumanEval에서 72.6점 달성해 CodeLlama-70B-Instruct의 72.0점 초과
  • LiveCodeBench에서 자가 정렬 모델이 GPT-4 증류 데이터로 훈련한 OpenCodeInterpreter-SC2-15B보다 우수
  • LiveCodeBench와 DS-1000에서 평가한 동급 이상 크기 오픈소스 모델 중 최고 성능

Key Takeaway

LLM이 더 강한 교사 모델의 증류 데이터보다 자신의 분포 내 데이터에서 더 효과적으로 학습할 수 있음을 입증했으며, 독점 모델 의존 없이도 투명하고 재현 가능한 고성능 코드 LLM 구축이 가능함을 시사한다.


코드 생성 LLM을 개발하는 팀에서 자체 모델의 생성 데이터를 활용한 자가 정렬 파이프라인을 구축하면, GPT-4 같은 대규모 독점 모델의 증류 데이터에 의존하지 않고도 비용을 절감하면서 투명성과 라이선스 자유도를 확보할 수 있다.

원문 읽기