MathCoder2: Betere wiskundige redenering door voortgezette voorbereiding op Model-vertaalde wiskundige code
MathCoder2: Better Math Reasoning from Continued Pretraining on Model-translated Mathematical Code
October 10, 2024
Auteurs: Zimu Lu, Aojun Zhou, Ke Wang, Houxing Ren, Weikang Shi, Junting Pan, Mingjie Zhan, Hongsheng Li
cs.AI
Samenvatting
Code is aangetoond effectief te zijn in het verbeteren van de wiskundige redeneervaardigheden van grote taalmodellen vanwege de precisie en nauwkeurigheid ervan. Eerdere werken die betrokken zijn bij voortgezette wiskundige vooropleiding bevatten vaak code die gebruikmaakt van wiskunde-gerelateerde pakketten, die primair zijn ontworpen voor vakgebieden zoals techniek, machine learning, signaalverwerking of moduletesten, in plaats van direct gericht te zijn op wiskundige redenering. In dit artikel introduceren we een nieuwe methode voor het genereren van wiskundige code vergezeld van bijbehorende redeneerstappen voor voortgezette vooropleiding. Onze aanpak begint met de constructie van een hoogwaardige wiskundige voortgezette vooropleidingsdataset door wiskunde-gerelateerde webgegevens, code die wiskundige pakketten gebruikt, wiskundeboeken en synthetische gegevens op te nemen. Vervolgens construeren we redeneerstappen door LaTeX-uitdrukkingen, de voorwaarden die nodig zijn voor de uitdrukkingen, en de resultaten van de uitdrukkingen uit de eerder verzamelde dataset te extraheren. Op basis van deze geëxtraheerde informatie genereren we bijbehorende code om het wiskundige redeneerproces nauwkeurig vast te leggen. Het toevoegen van de gegenereerde code aan elke redeneerstap resulteert in gegevens bestaande uit gekoppelde natuurlijke taal redeneerstappen en hun bijbehorende code. Door deze gegevens te combineren met de oorspronkelijke dataset ontstaat een 19,2B-token hoog presterende wiskundige voortgezette vooropleidingscorpus, dat we MathCode-Pile noemen. Het trainen van verschillende populaire basismodellen met dit corpus verbetert aanzienlijk hun wiskundige vaardigheden, wat leidt tot de creatie van de MathCoder2-familie van modellen. Al onze gegevensverwerkings- en trainingscode is open source, wat zorgt voor volledige transparantie en eenvoudige reproduceerbaarheid van het gehele gegevensverzamelings- en trainingsproces. De code is beschikbaar op 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