MathCoder: Бесшовная интеграция кода в языковые модели для улучшения математического мышления
MathCoder: Seamless Code Integration in LLMs for Enhanced Mathematical Reasoning
October 5, 2023
Авторы: Ke Wang, Houxing Ren, Aojun Zhou, Zimu Lu, Sichun Luo, Weikang Shi, Renrui Zhang, Linqi Song, Mingjie Zhan, Hongsheng Li
cs.AI
Аннотация
Недавно выпущенный GPT-4 Code Interpreter продемонстрировал впечатляющую способность решать сложные математические задачи, что в первую очередь связано с его возможностью бесшовно рассуждать на естественном языке, генерировать код, выполнять его и продолжать рассуждения на основе результатов выполнения. В данной статье мы представляем метод тонкой настройки открытых языковых моделей, позволяющий им использовать код для моделирования и вывода математических уравнений, что, в свою очередь, улучшает их способности к математическим рассуждениям. Мы предлагаем метод создания новых и высококачественных наборов данных с математическими задачами и их решениями на основе кода, называемый MathCodeInstruct. Каждое решение чередует естественный язык, код и результаты выполнения. Мы также представляем специализированный подход к обучению с учителем и выводу. Этот подход приводит к созданию моделей MathCoder — семейства моделей, способных генерировать решения на основе кода для решения сложных математических задач. Впечатляюще, что модели MathCoder достигают наивысших результатов среди открытых языковых моделей на наборах данных MATH (45.2%) и GSM8K (83.9%), значительно превосходя другие открытые альтернативы. Примечательно, что модель MathCoder не только превосходит ChatGPT-3.5 и PaLM-2 на GSM8K и MATH, но также опережает GPT-4 на соревновательном наборе данных MATH. Набор данных и модели будут опубликованы по адресу 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.