피드로 돌아가기
Hugging Face BlogAI/ML
원문 읽기
BigCode가 StarCoder2와 The Stack v2를 공개해 600+ 프로그래밍 언어 4조 개 토큰 학습으로 33B+ 모델 수준의 성능을 15B 파라미터로 달성
StarCoder2 and The Stack v2
AI 요약
Context
기존 오픈소스 코드 LLM들은 학습 데이터의 투명성, 질량, 언어 커버리지 면에서 한계가 있었으며, 코드 데이터셋 필터링과 라이선스 검증 프로세스가 부족했다.
Technical Solution
- The Stack v2 데이터셋 구성: Software Heritage 아카이브를 기반으로 개선된 언어 및 라이선스 탐지 절차 적용
- 레포지토리 단위 그룹화: 학습 데이터를 리포지토리별로 조직화해 모델이 코드 컨텍스트를 인식하도록 구성
- StarCoder2 모델 계층화: 3B(ServiceNow 학습), 7B(Hugging Face 학습), 15B(NVIDIA NeMo로 학습)의 3가지 크기 제공
- 아키텍처 개선: Grouped Query Attention, 16,384 토큰 컨텍스트 윈도우(4,096 슬라이딩 윈도우), Fill-in-the-Middle 목표 함수 적용
- 언어별 확장성: StarCoder2-3B는 17개 언어 3조+ 토큰, StarCoder2-7B는 17개 언어 3.5조+ 토큰, StarCoder2-15B는 600+ 언어 4조+ 토큰으로 학습
Impact
- StarCoder2-15B가 많은 평가에서 33B+ 모델과 동등한 성능 달성
- StarCoder2-3B가 StarCoder1-15B의 성능 수준 도달
Key Takeaway
투명하게 공개된 학습 데이터, 개선된 필터링 휴리스틱, 리포지토리 컨텍스트 기반의 구조화된 데이터셋을 통해 더 작은 파라미터로도 더 큰 모델 수준의 성능을 달성할 수 있다는 점이 핵심이다.
실천 포인트
코드 생성 모델을 학습시키는 엔지니어는 학습 데이터를 리포지토리 단위로 그룹화하고 언어별·라이선스별로 정제된 데이터셋을 사용하면, 같은 규모의 모델에서도 더 높은 성능을 얻을 수 있으며, 학습 데이터의 투명한 공개는 모델의 신뢰성과 재현성을 확보하는 데 필수적이다.