MathCoder: Integrazione Trasparente del Codice nei Modelli Linguistici per un Ragionamento Matematico Potenziato
MathCoder: Seamless Code Integration in LLMs for Enhanced Mathematical Reasoning
October 5, 2023
Autori: Ke Wang, Houxing Ren, Aojun Zhou, Zimu Lu, Sichun Luo, Weikang Shi, Renrui Zhang, Linqi Song, Mingjie Zhan, Hongsheng Li
cs.AI
Abstract
Il recentemente rilasciato GPT-4 Code Interpreter ha dimostrato una notevole
proficienza nel risolvere problemi matematici complessi, attribuita principalmente
alla sua capacità di ragionare in modo fluido con il linguaggio naturale, generare
codice, eseguire codice e continuare a ragionare basandosi sull'output dell'esecuzione.
In questo articolo, presentiamo un metodo per ottimizzare modelli linguistici open-source,
consentendo loro di utilizzare il codice per modellare e derivare equazioni matematiche
e, di conseguenza, migliorare le loro capacità di ragionamento matematico. Proponiamo
un metodo per generare dataset nuovi e di alta qualità con problemi matematici e le
loro soluzioni basate su codice, denominato MathCodeInstruct. Ogni soluzione alterna
linguaggio naturale, codice e risultati di esecuzione. Introduciamo inoltre un approccio
personalizzato di ottimizzazione supervisionata e inferenza. Questo approccio produce
i modelli MathCoder, una famiglia di modelli in grado di generare soluzioni basate su
codice per risolvere problemi matematici complessi. In modo impressionante, i modelli
MathCoder raggiungono punteggi all'avanguardia tra i modelli linguistici open-source
sui dataset MATH (45,2%) e GSM8K (83,9%), superando significativamente altre alternative
open-source. È degno di nota che il modello MathCoder non solo supera ChatGPT-3.5 e
PaLM-2 su GSM8K e MATH, ma supera anche GPT-4 sul dataset MATH di livello competitivo.
Il dataset e i modelli saranno rilasciati su https://github.com/mathllm/MathCoder.
English
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.