MathCoder2: Melhor Raciocínio Matemático a partir de Pré-treinamento Contínuo em Código Matemático Traduzido pelo Modelo
MathCoder2: Better Math Reasoning from Continued Pretraining on Model-translated Mathematical Code
October 10, 2024
Autores: Zimu Lu, Aojun Zhou, Ke Wang, Houxing Ren, Weikang Shi, Junting Pan, Mingjie Zhan, Hongsheng Li
cs.AI
Resumo
Foi demonstrado que o código é eficaz em aprimorar as habilidades de raciocínio matemático de grandes modelos de linguagem devido à sua precisão e exatidão. Trabalhos anteriores envolvendo pré-treinamento matemático contínuo frequentemente incluem código que utiliza pacotes relacionados à matemática, os quais são principalmente projetados para áreas como engenharia, aprendizado de máquina, processamento de sinais ou teste de módulos, em vez de estarem diretamente focados no raciocínio matemático. Neste artigo, introduzimos um método inovador para gerar código matemático acompanhado de passos de raciocínio correspondentes para pré-treinamento contínuo. Nossa abordagem começa com a construção de um conjunto de dados de pré-treinamento matemático contínuo de alta qualidade, incorporando dados da web relacionados à matemática, código usando pacotes matemáticos, livros didáticos de matemática e dados sintéticos. Em seguida, construímos passos de raciocínio extraindo expressões em LaTeX, as condições necessárias para as expressões e os resultados das expressões do conjunto de dados coletado anteriormente. Com base nessas informações extraídas, geramos código correspondente para capturar com precisão o processo de raciocínio matemático. Anexando o código gerado a cada passo de raciocínio resulta em dados compostos por passos de raciocínio em linguagem natural emparelhados com seu código correspondente. Combinando esses dados com o conjunto de dados original resulta em um corpus de pré-treinamento matemático de alto desempenho de 19,2 bilhões de tokens, ao qual denominamos MathCode-Pile. Treinar vários modelos base populares com este corpus melhora significativamente suas habilidades matemáticas, levando à criação da família de modelos MathCoder2. Todo o nosso código de processamento de dados e treinamento é de código aberto, garantindo total transparência e fácil reprodutibilidade de todo o processo de coleta de dados e treinamento. O código está disponível em 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