한 줄 요약
OpenMathInstruct-1은 1.8M개의 수학 문제-해결 쌍을 포함한 오픈소스 수학 지시 튜닝 데이터셋으로, CodeLlama-70B 모델이 GSM8K에서 84.6%, MATH에서 50.7% 성능을 달성했다.
핵심 기여도
- OpenMathInstruct-1 데이터셋은 1.8M개의 수학 문제-해결 쌍으로, 기존 데이터셋 대비 최소 4배 이상의 규모를 가진다.
- Mixtral 모델을 사용해 코드 해석기 스타일의 해결책을 생성하여, GSM8K에서 99.9%, MATH에서 93%의 훈련 집합 커버리지를 달성했다.
- OpenMath-CodeLlama-70B 모델은 GSM8K에서 84.6%, MATH에서 50.7%의 성능을 기록해 GPT-디스틸 모델과 경쟁적 수준을 보인다.
- 모든 코드, 모델, 데이터셋을 상업적으로 허용 가능한 라이선스로 공개했다.
핵심 아이디어
기존의 수학 지시 튜닝 데이터셋은 GPT-4와 같은 클로즈드 소스 모델을 사용해 생성되며, 오픈소스 모델과의 성능 격차로 인해 제한적이었다. 본 연구는 Mixtral 모델을 활용해 코드 해석기 스타일의 해결책을 생성하고, 참조 텍스트를 활용한 few-shot 프롬프트를 통해 훈련 집합 커버리지를 향상시켰다. 특히, 기존의 brute-force 샘플링 대신, 주제별 few-shot 프롬프트와 참조 텍스트를 결합한 방식이 효과적이었다. 이는 OpenMathInstruct-1 데이터셋의 품질을 높이는 데 기여했으며, 훈련된 모델이 GPT-디스틸 모델과 유사한 성능을 달성할 수 있도록 했다.
기술적 접근법
- **데이터셋 생성**: Mixtral 모델을 사용해 GSM8K와 MATH 데이터셋에 대한 코드 해석기 스타일의 해결책을 생성.
- **프롬프트 전략**: 주제별 few-shot 프롬프트와 참조 텍스트를 결합한 방식으로 훈련 집합 커버리지를 향상.
- **모델 훈련**: OpenMathInstruct-1의 하위 집합으로 CodeLlama-70B 모델을 훈련.
- **평가 방식**: zero-shot 설정에서 greedy decoding과 self-consistency/majority voting을 사용.
- **하이퍼파라미터**: 평가 시 temperature 0.7 사용, 코드 실행 오류 후에도 답변 생성을 허용.
주요 결과
- OpenMath-CodeLlama-70B 모델은 GSM8K에서 84.6% (GPT-디스틸 모델 대비 유사 수준), MATH에서 50.7% 성능을 달성.
- OpenMathInstruct-1은 GSM8K에서 99.9%, MATH에서 93%의 훈련 집합 커버리지를 보여 품질이 높음.
- OpenMath-Mistral-7B 모델은 WizardMath보다 GSM8K에서 0.1% 낮지만, MATH에서는 우수한 성능을 보임.
- MetaMath와 MAmmoTH 모델을 훨씬 상회하며, ToRA 모델과 유사한 수준의 성능을 보임.
의의 및 한계
OpenMathInstruct-1은 기존의 GPT-디스틸 데이터셋 대체 가능한 오픈소스 대안으로, 상업적 라이선스 하에 공개되어 연구 및 개발에 널리 활용될 수 있다. 특히, Mixtral 모델의 활용은 오픈소스 모델의 수학 능력을 향상시키는 데 기여하며, 훈련 집합 커버리지의 향상이 모델 성능 향상에 직접적으로 연결되었다는 점에서 학술적 의의가 있다. 그러나, ToRA와 같은 최신 모델과의 정확한 비교는 훈련 데이터가 공개되지 않아 제한적이다. 또한, 참조 텍스트에 의존하는 방식은 일반화 능력에 영향을 줄 수 있다.
실용적 활용
OpenMathInstruct-1은 수학 추론 모델 개발, 코드 기반 문제 해결, LLM 훈련 데이터셋 확장 등에 활용 가능하다. 특히, 오픈소스 라이선스로 공개된 점에서 산업 및 학계에서 자유롭게 사용할 수 있으며, 향후 모델 검증 및 개선에도 기여할 수 있다.