본 논문은 대규모 언어 모델(LLM)의 프로그램 합성 및 수학적 추론 성능 향상을 위해, 공개 라이선스(Llama 3.3 Community License) 하에 두 개의 새로운 데이터셋, SwallowCode와 SwallowMath를 제시합니다. SwallowCode는 The-Stack-v2의 Python 코드 조각을 문법 검증, 스타일 필터링, LLM 기반 재작성 등 4단계 파이프라인을 거쳐 161억 토큰 규모의 고품질 데이터셋으로 정제합니다. SwallowMath는 Finemath-4+를 개선하여 불필요한 부분을 제거하고, 맥락을 복원하며, 솔루션을 간결하고 단계적인 설명으로 재구성하여 약 23억 토큰 규모의 데이터셋을 생성합니다. Llama-3.1-8B 모델을 SwallowCode와 SwallowMath로 추가 학습시킨 결과, HumanEval, HumanEval+, GSM8K, MATH 등 다양한 벤치마크에서 성능이 크게 향상됨을 보였습니다. 모든 데이터셋, 프롬프트, 체크포인트는 공개적으로 접근 가능합니다.
시사점, 한계점
•
시사점:
◦
저품질 데이터를 개선하여 LLM의 데이터 활용도를 극대화하는 새로운 데이터 정제 방법 제시
◦
SwallowCode와 SwallowMath를 통해 프로그램 합성 및 수학적 추론 성능을 향상시키는 것을 실험적으로 증명
◦
공개된 데이터셋과 코드를 통해 재현 가능한 연구를 가능하게 함
◦
특정 도메인(프로그래밍, 수학)에 특화된 LLM 사전 학습을 위한 새로운 방향 제시
•
한계점:
◦
데이터셋의 규모가 다른 유사한 데이터셋에 비해 상대적으로 제한적일 수 있음 (SwallowMath의 경우)
◦
제시된 데이터 정제 파이프라인이 다른 프로그래밍 언어나 수학 문제 유형에 얼마나 잘 적용될지는 추가 연구가 필요함
◦
LLM의 성능 향상이 데이터셋의 질 향상에만 기인하는지, 다른 요인(예: 모델 아키텍처)의 영향은 얼마나 되는지에 대한 추가 분석 필요