[논문 리뷰] MathCoder: Seamless Code Integration in LLMs for Enhanced Mathematical Reasoning
MathCoder는 자연어 추론, 코드 생성 및 실행 결과를 유사하게 혼합하는 새로운 데이터셋인 MathCodeInstruct로 사전 훈련된 모델을 미세조정하여 오픈소스 LLM의 수학 추론 능력을 향상시키는 프레임워크를 제안한다. 이 방법은 GSM8K(83.9%) 및 MATH(45.2%)에서 최신 기준 성능을 달성하여 오픈소스 모델뿐 아니라 GPT-4까지도 능가한다.
The recently released GPT-4 Code Interpreter has demonstrated remarkable proficiency in solving challenging math problems, primarily attributed to its ability to seamlessly reason with natural language, generate code, execute code, and continue reasoning based on the execution output. In this paper, we present a method to fine-tune open-source language models, enabling them to use code for modeling and deriving math equations and, consequently, enhancing their mathematical reasoning abilities. We propose a method of generating novel and high-quality datasets with math problems and their code-based solutions, referred to as MathCodeInstruct. Each solution interleaves natural language, code, and execution results. We also introduce a customized supervised fine-tuning and inference approach. This approach yields the MathCoder models, a family of models capable of generating code-based solutions for solving challenging math problems. Impressively, the MathCoder models achieve state-of-the-art scores among open-source LLMs on the MATH (45.2%) and GSM8K (83.9%) datasets, substantially outperforming other open-source alternatives. Notably, the MathCoder model not only surpasses ChatGPT-3.5 and PaLM-2 on GSM8K and MATH but also outperforms GPT-4 on the competition-level MATH dataset. The dataset and models will be released at https://github.com/mathllm/MathCoder.
연구 동기 및 목표
- 오픈소스 LLM과 비밀소스 LLM 간의 수학 추론 능력 격차를 해소하기 위해.
- 오픈소스 모델이 GPT-4 코드 인터프리터가 자연어, 코드, 실행 결과를 혼합하는 방식을 모방할 수 있도록 하기 위해.
- 자연어, 코드, 실행 결과를 결합한 고품질의 지시 준수 데이터셋을 개발하기 위해.
- 수학 문제 해결에 적합한 자연어, 코드, 실행 결과를 유연하게 통합할 수 있는 맞춤형 지도 미세조정 및 추론 파이프라인을 설계하기 위해.
- 오픈소스 모델만을 사용하여 표준 수학 벤치마크에서 최고 성능을 달성하기 위해.
제안 방법
- 80,000개의 수학 문제에 대해 GPT-4 코드 인터프리터 스타일의 해결책을 생성함으로써 MathCodeInstruct 데이터셋을 구축함. 이는 자연어, 코드, 실행 결과를 포함한다.
- 두 단계로 구성된 데이터 수집 과정을 적용: 첫째, 기존의 GSM8K 및 MATH 문제에 대한 해결책 생성; 둘째, 문제 보간 기법을 활용해 중간 난이도 문제를 생성함.
- 특수 토큰(<$|$ text $|$>, <$|$ code $|$>, <$|$ execution $|$>)을 사용한 전용 토크나이저 스킴을 도입하여 혼합된 추론을 위한 모델 입력을 체계화함.
- MathCodeInstruct 데이터셋을 사용해 지도 미세조정을 통해 Llama-2 기반 모델을 훈련시켜 코드 기반 추론 능력을 부여함.
- GPT-4 코드 인터프리터의 동작 방식을 모방하는 훈련 및 추론 파이프라인을 설계하여 모델이 코드를 생성하고 실행 결과를 분석하고 추론할 수 있도록 함.
- 확장된 데이터셋에서 모델 성능을 향상시키기 위해 자기-분산(self-distillation) 기법을 적용함.
실험 결과
연구 질문
- RQ1오픈소스 LLM이 코드 통합 지시 훈련을 통해 GPT-4 코드 인터프리터 수준의 수학 추론 성능을 달성할 수 있는가?
- RQ2자연어, 코드, 실행 결과를 혼합한 데이터셋이 수학 추론 능력 향상에 얼마나 효과적인가?
- RQ3문제 보간 기법이 일반화 능력을 향상시키기 위해 중간 난이도의 수학 문제를 효과적으로 생성할 수 있는가?
- RQ4코드 실행 및 추론을 지원하는 맞춤형 미세조정 파이프라인이 어려운 수학 벤치마크에서 성능 향상에 기여하는가?
- RQ5오픈소스 모델이 기존 오픈소스 모델뿐 아니라 경쟁 수준의 수학 문제에서 GPT-4를 초월할 수 있는가?
주요 결과
- MathCoder는 GSM8K 벤치마크에서 83.9%의 최고 성능을 기록하여 다른 오픈소스 LLM보다 뚜렷이 뛰어난 성능을 보였다.
- MATH 벤치마크에서는 45.2%의 정확도를 달성하여 이전의 모든 오픈소스 모델과 GPT-4의 경쟁 수준 하위 집합을 초월했다.
- MathCoder는 GSM8K 및 MATH에서 ChatGPT-3.5와 PaLM-2를 모두 압도하여 강력한 일반화 및 추론 능력을 입증했다.
- 자연어, 코드, 실행 결과를 혼합한 MathCodeInstruct 데이터셋은 순수 자연어나 코드 전용 솔루션보다 더 효과적인 지도를 가능하게 했다.
- 자기-분산과 문제 보간 기법이 특히 어려운 문제에서 일반화 능력을 크게 향상시켰다.
- 맞춤형 미세조정 및 추론 파이프라인이 성공적으로 오픈소스 모델이 GPT-4 코드 인터프리터의 코드 기반 추론 워크플로우를 모방하도록 했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.