MathCoder2: Улучшенное математическое рассуждение благодаря продолженному предварительному обучению на модельно-переведенном математическом коде
MathCoder2: Better Math Reasoning from Continued Pretraining on Model-translated Mathematical Code
October 10, 2024
Авторы: Zimu Lu, Aojun Zhou, Ke Wang, Houxing Ren, Weikang Shi, Junting Pan, Mingjie Zhan, Hongsheng Li
cs.AI
Аннотация
Было показано, что код эффективен в улучшении математического мышления крупных языковых моделей благодаря своей точности и точности. Предыдущие работы, связанные с продолжением математического предварительного обучения, часто включают код, который использует математические пакеты, в основном предназначенные для областей, таких как инженерия, машинное обучение, обработка сигналов или модульное тестирование, а не напрямую сосредоточены на математическом мышлении. В данной статье мы представляем новый метод генерации математического кода в сопровождении соответствующих шагов рассуждений для продолжения предварительного обучения. Наш подход начинается с создания качественного математического набора данных для продолжения предварительного обучения путем интеграции математических веб-данных, кода, использующего математические пакеты, математических учебников и синтетических данных. Затем мы создаем шаги рассуждений, извлекая выражения LaTeX, условия, необходимые для выражений, и результаты выражений из ранее собранного набора данных. На основе извлеченной информации мы генерируем соответствующий код для точного захвата математического процесса рассуждений. Добавление сгенерированного кода к каждому шагу рассуждений приводит к данным, состоящим из пар шагов естественного языка и соответствующего кода. Объединение этих данных с исходным набором данных приводит к высокопроизводительному математическому корпусу для предварительного обучения объемом 19,2 млрд токенов, который мы назвали MathCode-Pile. Обучение нескольких популярных базовых моделей с использованием этого корпуса значительно улучшает их математические способности, что приводит к созданию семейства моделей MathCoder2. Весь наш код обработки данных и обучения открыт и доступен, обеспечивая полную прозрачность и легкую воспроизводимость всего процесса сбора данных и обучения. Код доступен по ссылке https://github.com/mathllm/MathCoder2.
English
Code has been shown to be effective in enhancing the mathematical reasoning
abilities of large language models due to its precision and accuracy. Previous
works involving continued mathematical pretraining often include code that
utilizes math-related packages, which are primarily designed for fields such as
engineering, machine learning, signal processing, or module testing, rather
than being directly focused on mathematical reasoning. In this paper, we
introduce a novel method for generating mathematical code accompanied with
corresponding reasoning steps for continued pretraining. Our approach begins
with the construction of a high-quality mathematical continued pretraining
dataset by incorporating math-related web data, code using mathematical
packages, math textbooks, and synthetic data. Next, we construct reasoning
steps by extracting LaTeX expressions, the conditions needed for the
expressions, and the results of the expressions from the previously collected
dataset. Based on this extracted information, we generate corresponding code to
accurately capture the mathematical reasoning process. Appending the generated
code to each reasoning step results in data consisting of paired natural
language reasoning steps and their corresponding code. Combining this data with
the original dataset results in a 19.2B-token high-performing mathematical
pretraining corpus, which we name MathCode-Pile. Training several popular base
models with this corpus significantly improves their mathematical abilities,
leading to the creation of the MathCoder2 family of models. All of our data
processing and training code is open-sourced, ensuring full transparency and
easy reproducibility of the entire data collection and training pipeline. The
code is released at https://github.com/mathllm/MathCoder2 .Summary
AI-Generated Summary