[論文レビュー] 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.
研究の動機と目的
- オープンソースとクローズドソースの大規模言語モデルの数学的推論における性能格差を埋める。
- オープンソースモデルがGPT-4 Code Interpreterが実行するような、推論・コード・実行の交互処理を模倣できるようにする。
- 自然言語、コード、実行出力を統合した高品質で指示に従うデータセットを構築する。
- 推論中にコード統合をスムーズにサポートするカスタマイズされた教師強化学習および推論パイプラインを設計する。
- オープンソースモデルのみを用いて、標準的な数学ベンチマークで最先端の結果を達成する。
提案手法
- GSM8KおよびMATHの既存問題に対して、GPT-4 Code Interpreter風の解決法を8万件生成することで、MathCodeInstructデータセットを構築する。このデータには自然言語、コード、実行結果が含まれる。
- 2段階のデータ収集プロセスを採用する:まず、既存のGSM8KおよびMATH問題に対して解決法を生成する。次に、中程度の難易度の問題を生成するために問題の補間を適用する。
- 特別なトークン(<$|$ text $|$>、<$|$ code $|$>、<$|$ execution $|$>)を用いた専用のトークン化方式を採用し、モデル入力の構造を、推論を交互に処理できるようにする。
- MathCodeInstructデータセットを用いて、教師強化学習によりLlama-2ベースモデルを微調整し、コードに基づく推論を可能にする。
- GPT-4 Code Interpreterの挙動を模倣する訓練および推論パイプラインを設計し、モデルがコードを生成・実行し、その出力をもとに推論できるようにする。
- 自己蒸留を適用することで、拡張されたデータセット上でモデル性能をさらに向上させる。
実験結果
リサーチクエスチョン
- RQ1コード統合型の指示微調整により、オープンソースの大規模言語モデルはGPT-4 Code Interpreterと同等の数学的推論性能を達成できるか?
- RQ2自然言語、コード、実行結果を交互に含むデータセットは、数学的推論の向上にどの程度効果的か?
- RQ3問題の補間は、中程度の難易度の数学的問題を効果的に生成し、モデルの一般化能力を向上させることができるか?
- RQ4コードの実行と推論をサポートするカスタマイズされた微調整パイプラインは、困難な数学ベンチマークでの性能向上に寄与するか?
- RQ5オープンソースモデルは、既存のオープンソースモデルおよびGPT-4ですらも上回る性能を、競技レベルの数学的問題で達成できるか?
主な発見
- MathCoderはGSM8Kベンチマークで83.9%という最先端のスコアを達成し、他のオープンソースLLMを大きく上回った。
- MATHベンチマークでは45.2%の正答率を達成し、過去のすべてのオープンソースモデルおよび競技レベルのサブセットでGPT-4を上回った。
- モデルはChatGPT-3.5およびPaLM-2よりもGSM8KおよびMATHで優れた性能を示し、強力な一般化能力と推論能力を示した。
- 自然言語、コード、実行出力を交互に含むMathCodeInstructデータセットは、純粋な自然言語またはコードのみの解決法よりも、より効果的な指導を可能にした。
- 自己蒸留および問題補間は、特に難易度の高い問題において、モデルの一般化能力を顕著に向上させた。
- カスタマイズされた微調整および推論パイプラインは、オープンソースモデルがGPT-4 Code Interpreterの「コードによる推論」ワークフローを効果的に模倣できることを実証した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。