《ADVANCING MATHEMATICAL REASONING IN LAN- GUAGE MODELS》全文阅读

《ADVANCING MATHEMATICAL REASONING IN LAN- GUAGE MODELS: THE IMPACT OF PROBLEM-SOLVING DATA, DATA SYNTHESIS METHODS, AND TRAINING STAGES》全文阅读

提升语言模型中的数学推理能力:问题求解数据、数据合成方法及训练阶段的影响

\begin{abstract}

数学推理一直是大型语言模型(LLMs)面临的具有挑战性的问题,这也促使学术界和产业界开发了诸如 LLEMMA、DeepSeekMath、Qwen2-Math 等针对数学领域的专门 LLMs。这些模型通常遵循两阶段训练范式:在预训练阶段使用与数学相关的语料进行训练,在后训练阶段则利用问题数据进行监督微调(SFT)。尽管做出了这些努力,但通过继续预训练(CPT)所获得的数学推理能力的提升通常不如通过 SFT 所获得的显著。本研究针对这一现象展开探索,重点考察在预训练阶段采用问题求解数据而非一般数学语料的替代策略。我们探讨了三个主要研究问题:

(1) 在 CPT 阶段,是否比使用常规数学语料,通过提供问题求解数据更能有效地提升模型的数学推理能力?

(2) 如果问题求解数据能提升数学推理能力,那么来自同一来源的合成数据是否同样有效?以及哪种合成方法最为高效?

(3) 当使用相同的问题求解数据时,CPT 阶段与 SFT 阶段培养出的能力有何差异?这些差异的根本因素是什么?

我们的发现表明,与常规数学语料相比,问题求解数据能显著提升模型的数学能力。我们也确定了有效的数据合成方法,并证明了 tutorship amplification(导师放大)合成方法表现最佳。此外,虽然 SFT 能培养模型的指令跟随能力,但在使用相同数据时,其效果不及 CPT;这部分归因于 SFT 在学习更高难度问题求解数据时能力较弱。上述发现为优化 LLMs 的数学推理能力提供了宝贵的指导,最终促成了我们开发出一款高性能数学基础模型 MathGPT-8B。

\end{abstract}

\section*{1 引言}

为了解决大型语言模型(LLMs)在数学推理能力不足的难题,各类专注于数学领域的 LLMs 应运而生。这些模型包括在预训练阶段提升性能的模型,如 LLEMMA (Azerbayev et al., 2023)、DeepSeekMath (Shao et al., 2024)、InternLM-Math (Ying et al., 2024) 以及 Qwen2-Math (Yang et al., 2024a);同时也包括在后训练阶段改进性能的模型,如 MetaMath (Yu et al., 2023)、WizardMath (Luo et al., 2023) 和 KwaiYiiMath (Fu et al., 2023)。这些模型通常遵循共同的训练范式:在预训练阶段,从庞大的互联网数据中筛选出与数学相关的语料来增强模型的数学知识;在后训练阶段,则利用问题数据及其增强版本(如 Program-of-Thought (PoT) (Chen et al., 2022)、evol-Instruct (Xu et al., 2023) 和 Tool-Integrated Reasoning (TIR) (Gou et al., 2023; Yin et al., 2024))构建监督数据集,进行监督微调(SFT),使得模型能够遵循指令并以期望的格式输出结果。近年来,研究者越来越关注构建旨在优化求解过程的偏好数据集,从而执行 Step-DPO (Lai et al., 2024) 或 online-RLHF (Dong et al., 2024) 等策略,以获得更为准确的推理路径,从而显著提升模型的数学推理能力。

由于数学知识与普通知识之间存在内在的区别,两者需要采用不同的策略来实现有效获取和应用。获取普通知识的主要挑战在于记忆和理解大量信息,因此需要在预训练阶段使用大规模语料以增强知识储备 (Roberts et al. 2020; Petroni et al., 2019; Dubey et al. 2024)。相比之下,数学知识包含的元素、概念、公理和定理数量较少,真正的挑战并非在于回忆相关知识,而在于如何利用这些知识进行推理或规划 (Hao et al., 2023)。

从以往的研究来看,似乎预训练阶段的继续训练(CPT)对数学推理能力的提升贡献较小。然而,最近的研究(如 Physics of LLM (Allen-Zhu & Li, 2023) 和 MiniCPM (Hu et al., 2024))强调了在预训练阶段"教会"模型如何利用已记忆的知识的重要性。这些发现对目前主要集中在预训练阶段通过记忆更多数学知识,而在后训练阶段发展推理能力的范式提出了质疑。因此,我们提出:在预训练阶段利用数学问题及其推理步骤------即问题求解数据------来教会模型如何应用已记忆的知识,而不仅仅是增加相关数据量,可能会显著提升数学推理能力。基于此,我们旨在探讨以下根本性研究问题(RQ):\

RQ1:在 CPT 阶段,提供问题求解数据能否比使用常规数学语料更有效地提升模型的数学推理能力?

RQ2:如果问题求解数据能够提升数学推理能力,那么来自同一来源的合成数据是否同样有效?哪种合成方法最为高效?\

RQ3:在使用相同问题求解数据的前提下,CPT 阶段与 SFT 阶段培养出的能力有何差别?导致这些差异的因素有哪些?

针对这三个研究问题,我们分别展开探讨。在第 3 节中,我们通过比较提供问题求解数据与不提供的效果,以及考察各种数学数据混合比例,探讨了 RQ1,从而得到结论 Result 1。在第 4 节中,我们针对 RQ2 考察了四种数据合成技术:response diversification(答案多样化)、query expansion(查询扩展)、retrospective enhancement(回顾性增强)和 tutorship amplification(导师放大),最终得到结论 Result 2。在第 5.1 节中,我们首先从整体角度鉴别了 CPT 阶段与 SFT 阶段利用问题求解数据培养数学能力的差异,随后在第 5.2 节和第 5.3 节中,我们进一步将问题求解数据基于数据分布和难度水平进行划分,探讨了这些差异的成因,最终得到结论 Result 3 至 Result 5。

Result 1:提供数学问题求解数据相比于常规数学语料能显著提升模型的数学能力;同时,问题求解数据所占比例越高,效果更佳。

Result 2:答案多样化、查询扩展和导师放大均为有效的数据合成技术,其中导师放大方法效果尤为突出。该方法利用教师模型根据学生模型的回答识别并纠正错误,旨在赋予模型自我纠错的能力。

Result 3:总体而言,虽然 SFT 能在一定程度上培养数学能力,但其效果明显不如 CPT。

Result 4:从数据分布的角度来看,无论是 SFT 还是 CPT 都主要培养与其训练数据分布一致的能力。然而,SFT 在域内(IND)的学习能力弱于 CPT;而对于域外(OOD)能力学习,结论则不太明确,仅观察到 SFT 更易受到数据分布扰动的影响。

Result 5:从难度水平角度看,提供更具挑战性的问题求解数据能更有效提升学习效果,这一优势在 CPT 中尤为明显,这可能是导致 CPT 与 SFT 学习能力差异的主要因素。因此,我们建议在 CPT 阶段准备更具挑战性的问题求解数据。

在解决这三个研究问题后,我们确定了最优策略组合,并将其应用于 Llama3-8B 模型 (Dubey et al., 2024),最终获得了高效的数学基础模型 MathGPT-8B。MathGPT-8B 超越了 DeepSeekMath-Base-7B (Shao et al., 2024) 和 Qwen2-Math-7B (Yang et al. 2024a) 等多款数学专用模型,其能力可与 Qwen2-Math-72B 及新近发布的 Qwen2.5-Math-7B 相媲美。我们仅引入 100B 数学 token,相当于 Qwen2.5-Math-7B 的 1 / 10 1/10 1/10,并在较弱的基础模型上进行了 CPT。这验证了我们提出的方法相比于现有范式是一种更高效提升数学能力的方法。此外,MathGPT-8B 仍然保留了强大的普通知识能力,这一点已通过 MMLU (Hendrycks et al., 2020) 基准测试得到验证。由于我们没有进行后训练,因此我们将发布 MathGPT-8B 的基础版本,供研究界在后续进行进一步后训练以增强其能力。

\section*{2 实验准备}

本节详细介绍实验准备工作,包括数据、基线模型和评价指标。

训练数据。训练数据分为三大类:(1) 普通语料,包括来自 RedPajama 的 ArXiv 子集中的科学文本、来自 AlgebraicStack (Azerbayev et al. 2023) 和 StarCoder (Li et al. 2023) 的代码数据集,以及 RedPajama 中 C4 和 Wikipedia 子集的自然语言数据,以防止灾难性遗忘并保持模型鲁棒性。(2) 数学语料,利用诸如 OpenWebMath (Paster et al. 2023) 等数学内容语料,以提升数学能力。(3) 问题求解数据,包括 NuminaMath (Li et al., 2024)、Lila (Mishra et al., 2022) 及内部专有数据,其中 1400 万条数据用于合成数据增强。我们的实验共使用了 483 亿个普通语料 token,137 亿个数学语料 token,72 亿个问题求解数据 token 以及 305.4 亿个合成数据 token。详细说明见附录 A.1。

基线模型。我们选用 Llama2 (Touvron et al., 2023) 作为基线模型,以确保结论的鲁棒性;因为该模型发布早于 OpenWebMath (Paster et al., 2023) 的发布。通过选择在最近数学语料尚未引入时已有的模型,我们有效降低了新语料污染的风险。更多详细信息见附录 A.2。

评价数据集。为减少数据污染并扩展能力评价,我们扩展了评价集,新增了 GAOKAO 与 ZHONGKAO 数据集,同时保留 GSM8K (Cobbe et al., 2021) 和 MATH (Hendrycks et al., 2021) 数据集。GAOKAO 和 ZHONGKAO 数据集均在 Llama2 之后开发,可以测量更大范围的能力。详细描述见附录 A.3。

去重与去污染。我们使用 MinHash 去重(Lee et al., 2022)框架,通过去除重复内容较多的文档来提升训练数据质量。该过程包括设置特定的字节阈值进行去重和去污染,有效剔除了受污染的文档,尤其是来自 OpenWebMath (Paster et al., 2023) 的文档。更多说明见附录 A.4。

评价指标。我们的评价采用三阶段过程:使用零样本和少样本提示进行模型推理、对答案进行比较以处理不规则输出、以及统计打分以确定准确率。在统计打分阶段,我们为每个数据集选择零样本和少样本中准确率更高的作为结果,以确保结果的可靠性和鲁棒性,因为有的模型在零样本设置下表现较好,有的则倾向于少样本设置。我们报告各数据集准确率的算术平均值。详细方法见附录 A.5。

\section*{3 利用问题求解数据在 CPT 阶段提升推理能力}

我们认为,与单纯通过记忆和理解更多数学知识(来自大规模语料)相比,预训练阶段数学知识习得的重点主要在于学会应用这些知识进行推理或规划。直观的做法便是提供对应的问题求解数据。因此,本节首先旨在验证 RQ1,即在 CPT 阶段提供问题求解数据是否能有效提升模型能力。这不仅验证了我们的核心观点,也为后续研究问题奠定基础。随后我们继续探讨问题求解数据的比例影响,以确定合适的数据混合比例,并验证提供问题求解数据的效率。

实验。我们设计了四个实验组,包括一个基线组和三个测试组。我们的目的是通过比较基线组与测试组来证明提供问题求解数据的有效性,并通过测试组之间的比较探索合适的数据混合比例。具体来说,基线组与测试组在所使用的数学数据总量上保持一致,其中基线组使用数学语料作为其数学数据;而测试组则使用数学语料和问题求解数据的混合数学数据,且三个测试组之间混合比例各不相同。具体数据如下:其中数据混合比例指普通数据与数学数据的混合比例,而数学数据混合比例反映数学语料与问题求解数据的混合比例。更多实验设计讨论见附录 C。

\begin{itemize}

\item Base1:使用 483 亿普通语料 token 和 147 亿数学语料 token,以 4:6 的比例混合。

\item Test1:使用 483 亿普通语料 token、75 亿数学语料 token和 72 亿问题求解数据 token,数据混合比例为 4:6,其中数学数据混合比例为 5:5。

\item Test2:与 Test1 相同,但数学数据混合比例为 3:7。

\item Test3:与 Test1 相同,但数学数据混合比例为 7:3。

\end{itemize}

训练细节。我们以 Llama2 (Touvron et al., 2023) 作为基线模型进行 CPT,训练 25,000 步,采用全局批量大小为 1024,序列长度为 4096 个 token。学习率先预热至 1 e − 4 1 \mathrm{e}-4 1e−4,随后使用余弦衰减调度 (Loshchilov & Hutter, 2022) 衰减到 1 e − 5 1 \mathrm{e}-5 1e−5。训练数据中 95% 用于训练,5% 用于验证。在完成 25,000 步训练后,我们选择验证集损失最低的检查点作为结果进行评价。

\includegraphics[max width=\textwidth, center]{2025_04_15_262c644527836053857ag-04}

Figure 1:四组随训练步数变化的平均准确率。

结果。如图 1 所示,蓝色曲线代表遵循当前训练范式的对照组,其结果表明,利用数学语料进行 CPT 能有效提升问题求解准确率。然而,与其他三条曲线相比,尽管 Base1 使用的 token 数量相同,但其数学能力提升的趋势和幅度均明显低于其他三个测试组。对于三个测试组,图 1 中的绿色曲线显示,随着训练步数增加,其平均准确率一直高于另外两组。值得注意的是,我们没有引入新 token,而仅仅是调整了数学数据混合比例。在附录 D 中,我们加入了额外的测试组 Test4,该组仅使用问题求解数据作为数学数据。尽管没有使用任何数学语料 token,其性能却与绿色曲线相当甚至更优。另外,我们还报告了四个评价集的准确率以进行进一步比较。由此,我们获得 Result 1:提供数学问题求解数据相比于常规数学语料能显著提升模型数学能力,且更高比例的问题求解数据效果更佳。

\section*{4 高效数据合成方法的探索}

在前几节中,Result 1 已突出表明了问题求解数据的有效性。然而,由于问题求解数据相比互联网数据数量有限,因此亟需高效的数据合成方法。此外,目前尚未充分研究在预训练阶段是否可以利用同一问题求解数据进一步进行合成以提升模型性能。为了解决这一问题以及 RQ2,我们探讨了四种数据合成方法:response diversification(答案多样化)、query expansion(查询扩展)、retrospective enhancement(回顾性增强)和 tutorship amplification(导师放大)。我们的目标是验证合成数据的有效性,并找出最有效的合成方法。下面我们简要介绍本研究中所使用的数据合成方法。\

Response Diversification 旨在通过生成多样化的推理路径来提升模型能力,常用方法如拒绝采样。由于该方法不改变答案,因此不需要额外的标注,易于实现。已有多种实现方式证明了答案多样化数据合成的有效性 (Yuan et al., 2023; Yu et al., 2023; Chen et al., 2024)。我们不采用采样后去重的方式,而要求模型通过两步来提升答案多样化效率:(1) 根据问题及原始答案生成两个不同的解答;(2) 从中选择最终答案正确的方案作为一个多样化训练样本。\

Query Expansion 旨在通过扩展问题集合来提升模型能力。然而,直接生成高质量问题极具挑战。已有的方法(例如 Yu et al., 2023 和 Mitra et al., 2024)借鉴重构(reshaping)概念,即基于已有问题和答案通过改写、反转陈述等技术生成新问题。新问题的合成主要关注:(1) 新生成问题的准确性,以及 (2) 对应答案的正确性。我们综合现有方法,强调以下关键点:要求 LLM 基于输入的原始问题和解答进行四步扩充:(1) 将问题转换为陈述,(2) 基于该陈述生成新问题,(3) 为新问题提供答案,(4) 对答案进行评估并解释推理过程。我们从以下三个主要方面提升质量:首先,提供原始问题和答案;其次,步骤 (1) 和 (2) 确保生成的问题合法且可解;第三,步骤 (3) 和 (4) 通过自我评估来判断新问题答案的质量。

Retrospective Enhancement 由 Ye et al. (2024) 提出,其观点认为直接让模型纠正错误具有益处。他们采用了一种低资源构建方法,该方法将后续步骤直接插入到前面的步骤中,使模型在"懊悔"时能够重试。该方法使用特殊的 [back] token 进行标识,因此称之为回顾性增强。该方法在 GSM8K 上使用小参数模型和少量预训练得到了验证。而在我们的情景中,存在两方面的关键区别:(1) 我们使用了更为多样化的问题集合,其中部分问题与 GSM8K 中较简单的问题有显著区别;(2) 我们在已有一定数学能力的主流模型上执行 CPT。我们旨在验证这一简单方法的有效性。

Tutorship Amplification 的灵感源于现实中教师指导学生纠正错误的做法。如 OpenAI (2024) 所证明,模型可以被训练来发现错误。这与 Ye et al. (2024) 的观点相符,即模型可以检测错误,但缺乏纠正错误的机会。导师放大模拟了真实的错误纠正过程。在此过程中,一个"强"模型作为教师帮助"弱"模型(代表学生)。在学生模型对问题生成解答后,教师模型进行以下操作:检查学生答案是否正确;若答案正确,则予以肯定;否则指出错误步骤,并从该点继续求解。我们希望该过程能实现三个目标:首先,构造可能出现的真实错误;其次,使模型习得自我评估和错误识别能力;第三,促使及时纠正已识别错误。我们相信这三要素将帮助模型学会自我纠错,从而提升推理准确率。

合成数据。我们首先从原始问题求解数据中筛选一子集,依据数据完整性和推理步骤数量构造种子集。随后,对该种子集应用上述四种数据合成方法。表 1 中给出了各方法产生的合成数据数量及相应 token 数的详细说明。

实验。我们以控制组 Base2 作为对照,该组由 483 亿普通语料 token、147 亿数学语料 token和 72 亿问题求解数据 token 组成。基于 Base2 所用数据,在其基础上额外加入由四种数据合成方法产生的 token,以构建四个实验组。这些模型均从原始 Llama2 基础模型上进行继续预训练。每种数据组合训练最多 25,000 步,并选择验证集损失收敛的检查点。最终准确率基于该检查点进行评价。其他训练参数与第 3 节一致。

\begin{center}

\begin{tabular}{llllllll}

\hline

Model & Num & Tokens & GSM8K & MATH & GAOKAO & ZHONGKAO & Average \

\hline

Base2 & - & - & 47.84 & 20.12 & 22.98 & 67.05 & 39.50 \

\hline

Res-Div & 14 , 018 , 544 14,018,544 14,018,544 & 6.82 B & 52.99 & 23.22 & 23.83 & 65.15 & 41.30 \

\hline

Query-Exp & 24 , 459 , 192 24,459,192 24,459,192 & 4.78 B & 51.25 & 23.08 & 27.23 & 69.13 & 42.67 \

\hline

Retro-Enh & 14 , 707 , 792 14,707,792 14,707,792 & 5.04 B & 45.11 & 21.72 & 22.98 & 66.67 & 39.12 \

\hline

Tutor-Amp & 11 , 942 , 328 11,942,328 11,942,328 & 13.90 B & 64.44 & 35.88 & 32.77 & 69.32 & 50.60 \

\hline

\end{tabular}

\end{center}

表 1:对照组与使用不同合成数据方法的四个实验组在四个评价集上的性能对比。"Num"表示使用的问题求解题目及对应解答的数量,"Tokens"表明总 token 数。模型缩写分别代表:Res-Div(答案多样化)、Query-Exp(查询扩展)、Retro-Enh(回顾性增强)和 Tutor-Amp(导师放大)。

结果。表 1 展示了四种合成数据组合的实验结果。从中可以得出 Result 2:答案多样化、查询扩展和导师放大均为有效的数据合成技术,其中导师放大效果尤为显著。相反,回顾性增强似乎影响甚微。我们推测这可能是因为构造的错误数据并非基于实际采样,发生概率较低,从而抑制了模型错误检测及纠正能力的学习。我们还注意到查询扩展和答案多样化提升效果有限。对此我们提出一种假设:在数据生成过程中,模型的自我评估可能未能识别出自身错误,从而限制了合成数据的质量。至于导师放大的有效性,我们提出两点假设:首先,模型通过导师放大数据习得了一套自查、错误检测和纠正的推理框架;其次,该数据有助于学习如何利用知识正确解决问题,通过纠错来增强推理能力。

\section*{5 CPT 阶段与 SFT 阶段的能力习得比较}

在前两节中,我们已经证明在 CPT 阶段提供问题求解数据能高效地教会模型应用数学知识并提升推理能力。然而,在 SFT 阶段培养数学推理能力又有何不同呢?本节首先验证问题求解数据使用阶段的改变确实提升了模型最终能力,而不仅仅是数据不同导致的差异。接着,我们从数据分布和难度两个角度探讨了 CPT 和 SFT 阶段数学学习能力的差异来源。

\subsection*{5.1 能力习得比较}

本节探讨了在不同阶段使用问题求解数据(CPT 与 SFT)对模型最终能力的显著影响。我们共有 72 亿问题求解数据,可分配在 CPT 或 SFT 阶段。此外,我们另外抽取 0.72 亿问题求解数据用于 1 % 1\% 1%-SFT,以赋予模型指令跟随能力。我们设计以下实验设置以比较 CPT 与 SFT 阶段能力习得的差异:

\begin{itemize}

\item Base1:如第 3 节所述,使用 483 亿普通语料 token 和 147 亿数学语料 token 进行 CPT。

\item Base2:在 CPT 阶段使用 483 亿普通语料 token、75 亿数学语料 token和 72 亿问题求解数据 token。

\item Base1-SFT:基于 Base1 进行 SFT,使用 72 亿问题求解数据。

\item Base1-1%SFT:基于 Base1 进行 SFT,仅使用 0.72 亿问题求解数据。

\item Base2-1%SFT:基于 Base2 进行 SFT,仅使用 0.72 亿问题求解数据。

\end{itemize}

需要注意的是,我们在 Base1 与 Base2 上均使用 1% 的问题求解数据进行 SFT。该设置可以隔离指令跟随能力的提升影响,从而评估在 CPT 阶段引入问题求解数据对数学推理能力带来的真实提升。

实验细节。在 SFT 阶段,我们设置批量大小为 256,学习率采用余弦调度从 1e-5 衰减至 1e-6。训练 3 个周期,确保训练损失收敛。收敛后,我们从 10 个检查点中选择最优结果进行报告,该检查点通常出现在 2 个周期左右。更多实验设计讨论见附录 C。

\includegraphics[max width=\textwidth, center]{2025_04_15_262c644527836053857ag-07}

Figure 2:CPT 阶段与 SFT 阶段习得能力的比较

结果。四个数据集的评价结果见附录 E,其平均准确率如图 2 所示。首先,我们观察红色与蓝色阴影区域,其中少量 SFT 数据在 Base1 与 Base2 上带来了类似的提升。从评价结果来看,该提升源于模型原本不一致且重复输出的大幅减少。我们认为这是由于 SFT 的监督方法所致,这引出了一个有趣的结论:少量 SFT 数据即可有效提升模型的指令跟随能力。

接下来,我们在排除指令跟随能力影响后进行对比,此时,记作 SFT Δ \Delta Δ 与 CPT Δ 2 \Delta_{2} Δ2 分别代表在 SFT 与 CPT 阶段使用相同数据所获得的数学推理能力提升。结果显示,SFT 阶段获得的能力提升仅约为 CPT 阶段的 60% 。另外,对比 Base1-SFT 与 Base2,尽管二者使用相同数据,Base1-SFT因获得了指令跟随能力,其表现仍然逊于 Base2。因此,我们得出 Result 3:总体而言,虽然 SFT 能在一定程度上培养数学能力,但其效果明显不如 CPT。

为了更好地理解 SFT 对能力习得的影响,我们增加了三个额外实验组,分别使用 10%、20% 以及 50% 的问题求解数据进行 SFT,并与 Base1、1% SFT 及 100% SFT 进行比较,分析 SFT 数据量对推理提升效果的影响。结果如图 6 所示。我们观察到在 1 % 1\% 1% SFT 数据量处平均准确率有显著提升,之后数据量与准确率提升呈对数线性关系。这进一步验证了少量 SFT 数据能够提升模型指令跟随能力。此外,增加 SFT 数据量可能继续以对数形式提升模型的推理能力。

\subsection*{5.2 不同数据分布的影响}

在上一节中,我们观察到 SFT 阶段所习得推理能力显著弱于 CPT。在本节中,我们旨在探讨这一差异的根源。我们的直觉认为,数据分布可能在不同阶段对能力学习产生不同的影响,CPT 可能有助于提升域外(OOD)的表现。然而,我们的发现与这一假设相悖:无论是 CPT 还是 SFT,其主要培养的均为与其训练数据分布一致的能力。

实验。我们通过依据评价集对训练数据进行划分来设计实验,具体来说,我们选择一个评价集来代表域内(IND)能力,其余的数据集均视为域外(OOD)。相应地,我们仅保留与 IND 能力相匹配的训练数据部分。不过需要注意两个关键问题:首先,在去污染过程中,我们已排除了与评价集重叠的数据;其次,数学能力的涵盖范围本质上在不同领域间存在重叠。因此,很难将训练数据与特定能力完全匹配。因此,我们利用原始问题求解数据中的知识点标签,从中分离出对应于中学能力的 8.3 亿 token(对应 ZHONGKAO)和对应于高中能力的 8.9 亿 token(对应 GAOKAO)。域外能力则由与这些 IND 能力不匹配的其他评价集来表示。更多实验设计讨论见附录 C。具体的实验设计如下:

\begin{itemize}

\item Base1:与第 3 节描述一致。使用 483 亿普通语料 token 和 147 亿数学语料 token 进行 CPT。

\item Middle-school-SFT:在 Base1 上使用 8.3 亿中学数据进行 SFT。

\item Middle-school-CPT:在 Base1 数据基础上加入中学数据进行 CPT。

\item High-school-SFT:在 Base1 上使用 8.9 亿高中数据进行 SFT。

\item High-school-CPT:在 Base1 数据基础上加入高中数据进行 CPT。

\end{itemize}

\begin{center}

\begin{tabular}{llllll}

\hline

Model & GSM8K & MATH & GAOKAO & ZHONGKAO & Average \

\hline

Base1 & 28.20 & 9.48 & 8.09 & 30.68 & 19.11 \

\hline

Middle-school-SFT & 22.67 ( − 5.53 ) 22.67(-5.53) 22.67(−5.53) & 16.3 6 ( + 6.88 ) 16.36_{(+6.88)} 16.36(+6.88) & 10.2 1 ( + 2.12 ) 10.21_{(+2.12)} 10.21(+2.12) & 52.28 ( + 21.60 ) \mathbf{52.28}{ }_{(+21.60)} 52.28(+21.60) & 25.38 ( + 6.27 ) 25.38(+6.27) 25.38(+6.27) \

\hline

Middle-school-CPT & 29.4 2 ( + 1.22 ) 29.42_{(+1.22)} 29.42(+1.22) & 15.0 4 ( + 5.56 ) 15.04_{(+5.56)} 15.04(+5.56) & 8.0 9 ( 0.00 ) 8.09_{(0.00)} 8.09(0.00) & 54.71 ( + 24.03 ) \mathbf{54.71}(+\mathbf{24.03}) 54.71(+24.03) & 26.81 ( + 7.70 ) 26.81(+7.70) 26.81(+7.70) \

\hline

High-school-SFT & 19.1 1 ( − 9.09 ) 19.11_{(-9.09)} 19.11(−9.09) & 13.4 8 ( + 4.00 ) 13.48_{(+4.00)} 13.48(+4.00) & 16.60 ( + 8.51 ) \mathbf{16.60}(+8.51) 16.60(+8.51) & 36.7 8 ( + 6.10 ) 36.78_{(+6.10)} 36.78(+6.10) & 21.4 9 ( + 2.38 ) 21.49_{(+2.38)} 21.49(+2.38) \

\hline

High-school-CPT & 23.9 6 ( − 4.24 ) 23.96_{(-4.24)} 23.96(−4.24) & 13.8 2 ( + 4.34 ) 13.82_{(+4.34)} 13.82(+4.34) & 22.98 ( + 14.89 ) \mathbf{22.98}(+\mathbf{14.89}) 22.98(+14.89) & 34.1 9 ( + 3.51 ) 34.19_{(+3.51)} 34.19(+3.51) & 23.7 4 ( + 4.63 ) 23.74_{(+4.63)} 23.74(+4.63) \

\hline

\end{tabular}

\end{center}

表 2:基于不同数据分布下能力学习的分析

结果。如表 2 所示,对于由粗体显示的 IND 能力,CPT 阶段的学习提升始终明显大于 SFT 阶段。这一效果在对于更具挑战性的高中水平知识的学习中尤为明显。此外,对于 OOD 能力,SFT 阶段的学习受到的干扰明显较大。这在 GSM8K 上表现尤为明显(参见附录 B 中的数据分布与能力维度图), GSM8K 具有最大的数据分布差异。SFT 后,模型在 OOD 任务上的性能比 CPT 下受损更多。因此,我们得出 Result 4:无论是 SFT 还是 CPT,均主要培养与其训练数据分布一致的能力。但是,SFT 在 IND 学习能力上弱于 CPT;而对于 OOD 能力的学习,仅观察到 SFT 比 CPT 更容易受到数据分布扰动的影响。

\subsection*{5.3 不同难度水平的影响}

在上一节中,虽然我们阐明了无论 CPT 或 SFT 均涉及域内能力学习,但 SFT 学习表现为何弱于 CPT 仍不明确。然而,在 Result 4 中,对于高中训练数据的结论比中学更明显,这促使我们探讨在不同问题难度数据下,CPT 与 SFT 阶段能力习得的差异。

实验。我们选取问题求解数据中的 50 亿 token 子集,并根据解答推理步骤数将其分类:需要 1-3 步的归为简单,4-7 步归为中等,8 步及以上归为困难。样本分布分别占整体数据的 36.0%、38.4% 和 25.6%,而 token 数分别占 23.0%、36.0% 和 41.0%。考虑到这种分类方法的不可避免的不精确性,我们仅选取简单数据和困难数据进行 CPT 与 SFT 的对比实验。更多实验设计讨论见附录 C。实验组设计如下:

\begin{itemize}

\item Base1:如第 3 节所述,使用 483 亿普通语料 token 和 147 亿数学语料 token 进行 CPT。

\item Easy-SFT:在 Base1 上使用简单数据子集进行 SFT。

\item Easy-CPT:在 Base1 数据基础上加入简单数据子集进行 CPT。

\item Hard-SFT:在 Base1 上使用困难数据子集进行 SFT。

\item Hard-CPT:在 Base1 数据基础上加入困难数据子集进行 CPT。

\end{itemize}

\begin{center}

\begin{tabular}{llllll|lll}

\hline

Model & GSM8K & MATH & GAOKAO & ZHONGKAO & Average & Easy & Medium & Hard \

\hline

Base1 & 28.20 & 9.48 & 8.09 & 30.68 & 19.11 & 14.86 & 6.69 & 4.85 \

\hline

Easy-SFT & 31.31 & 14.46 & 14.04 & 48.30 & 27.03 & 22.5 2 ( + 7.66 ) 22.52_{(+7.66)} 22.52(+7.66) & 10.6 8 ( + 4.00 ) 10.68_{(+4.00)} 10.68(+4.00) & 6.9 4 ( + 2.09 ) 6.94_{(+2.09)} 6.94(+2.09) \

\hline

Easy-CPT & 37.98 & 15.70 & 17.02 & 52.46 & 30.79 & 27.6 1 ( + 12.75 ) 27.61_{(+12.75)} 27.61(+12.75) & 13.3 3 ( + 6.64 ) 13.33_{(+6.64)} 13.33(+6.64) & 6.2 7 ( + 1.42 ) 6.27_{(+1.42)} 6.27(+1.42) \

\hline

Hard-SFT & 31.39 & 17.40 & 15.32 & 54.55 & 29.66 & 24.3 7 ( + 9.51 ) 24.37_{(+9.51)} 24.37(+9.51) & 11.9 3 ( + 5.24 ) 11.93_{(+5.24)} 11.93(+5.24) & 6.8 4 ( + 1.99 ) 6.84_{(+1.99)} 6.84(+1.99) \

\hline

Hard-CPT & 45.79 & 23.96 & 26.38 & 69.89 & 41.51 & 35.7 8 ( + 20.92 ) 35.78_{(+20.92)} 35.78(+20.92) & 20.1 7 ( + 13.48 ) 20.17_{(+13.48)} 20.17(+13.48) & 9.3 2 ( + 4.47 ) 9.32_{(+4.47)} 9.32(+4.47) \

\hline

\end{tabular}

\end{center}

表 3:CPT 与 SFT 模型在不同难度水平下性能的比较。表中显示了平均表现以及在简单、中等和困难数据子集上的具体表现。

结果。表 3 左半部分(由垂直线分隔)显示,无论是 SFT 模型还是 CPT 模型,CPT 模型始终表现更优,其中 Hard-CPT 相较于 Easy-CPT 的相对提升更为显著,这些提升不仅局限于困难领域的准确率,且体现在所有数据集上。此外,无论 SFT 或 CPT,在同一训练阶段中使用困难数据均比使用简单数据获得更好效果。由此可见,Result 5:提供更具挑战性的问题求解数据能显著提升学习效果,并且这一优势在 CPT 中尤为明显,这可能是导致 CPT 与 SFT 学习能力差异的主要原因。因此,在计算资源有限的情况下,我们建议在 CPT 阶段准备更具挑战性的问题求解数据。\

表 3 右半部分显示,无论 SFT 或 CPT 模型在简单问题上获得的提升最高,而随着问题难度增加,提升幅度依次下降。例如,Easy-SFT 与 Easy-CPT 在简单数据上分别提升 +7.66 与 +12.75,而在困难数据上仅提升 +2.09 与 +1.42。同样,Hard-SFT 与 Hard-CPT 分别在简单数据上获得最大提升(+9.51 和 +20.92),而在困难数据上仅分别提升 +1.99 和 +4.47。这些模式表明,不论训练数据难度如何,SFT 与 CPT 均主要侧重于学习求解较简单、步骤较少的问题。

\section*{6 训练数学专用强模型}

为进一步验证我们实验结果的有效性,我们基于 Llama3-8B (Dubey et al., 2024) 训练了一款数学专用强模型,命名为 MathGPT-8B。我们遵循前述三个 RQ 得出的结论:(1)保持数学语料与问题求解数据的比例为 3:7;(2)利用 Query Expansion、Response Diversification 和 Tutorship Amplification 产生的合成数据,其中重点扩充数据采用最有效的 Tutorship Amplification 方法;(3)筛选并扩展原始数据,重点关注推理步骤多于 5 步的问题,利用这些作为种子数据生成更多合成数据。除此之外,我们还将新发布的数学语料(Han et al., 2024)纳入训练。最终,我们使用 396 亿普通语料 token、467 亿数学语料 token 以及 511 亿问题求解数据和合成数据 token 训练 MathGPT-8B 25,000 步,采用全局批量大小 1024,序列长度 8192 个 token。学习率预热至 1 e − 4 1 \mathrm{e}-4 1e−4 后,使用余弦调度衰减至 1 e − 5 1 \mathrm{e}-5 1e−5。

结果。如表 4 所示,与基础模型相比,我们显著增强了 Llama3-8B 的基础能力,甚至超越了 Llama3.1-70B 和 Qwen2-72B 这类参数超过 70 亿的更大模型。此外,我们使用 Gao et al. (2024) 提出的 MMLU (Hendrycks et al. 2020) 基准对模型进行了评价,MathGPT-8B 得分为 0.6222,而 Llama3-8B 为 0.6211,这表明它在保持普通知识能力的同时提升了数学推理能力。\

与数学专用的基础模型相比,MathGPT-8B 超越了 DeepSeekMath-Base-7B (Shao et al., 2024) 和 Qwen2-Math-7B (Yang et al. 2024a),并且其能力可与 Qwen2-Math-72B 和最近发布的 Qwen2.5-Math-7B (Yang et al. 2024b) 相媲美。与 Qwen2.5-Math-7B 相比,MathGPT-8B 仅使用了 1400 亿 token(其中数学相关 token 为 1000 亿),而 Qwen2.5-Math-7B 使用了 1 万亿 token(据报道)。此外,MathGPT-8B 起始于一个较弱的基础模型。这些结果验证了我们提出的方法在提升数学能力方面比现有范式更高效。关于相关工作的进一步讨论见附录 F。考虑到我们没有进行完整的后训练过程,因此我们发布的是模型的基础版本,供研究界在后续根据需要进行进一步后训练以增强其能力。

\begin{center}

\begin{tabular}{lccccc}

\hline

Model & GSM8K & MATH & GAOKAO & ZHONGKAO & Average \

\hline

\multicolumn{6}{c}{通用模型} \

\hline

Llama3-8B & 58.38 & 17.04 & 13.62 & 42.61 & 32.91 \

Llama3-70B & 82.34 & 38.42 & 28.09 & 64.02 & 53.21 \

Llama3.1-8B & 56.79 & 19.70 & 11.49 & 44.70 & 33.17 \

Llama3.1-70B & 81.73 & 39.66 & 31.06 & 64.77 & 54.31 \

Qwen2-7B & 80.44 & 47.82 & 27.23 & 70.45 & 56.49 \

Qwen2-72B & 86.58 & 56.88 & 45.11 & 73.67 & 65.56 \

Qwen2.5-7B & 84.61 & 53.22 & 45.53 & 80.30 & 65.92 \

Qwen2.5-72B & 90.60 & 59.38 & 56.60 & 82.95 & 72.38 \

\hline

\multicolumn{6}{c}{数学专用模型} \

\hline

LLEMMA-7B & 41.47 & 18.94 & 14.89 & 45.08 & 30.10 \

DeepSeekMath-Base-7B & 65.73 & 33.40 & 23.83 & 62.69 & 46.41 \

Qwen2-Math-7B & 80.67 & 53.02 & 42.13 & 77.08 & 63.22 \

Qwen2-Math-72B & 88.63 & 61.88 & 51.91 & 81.25 & 70.92 \

Qwen2.5-Math-7B & 85.44 & 59.10 & 53.19 & 78.79 & 69.13 \

Qwen2.5-Math-72B & 88.70 & 67.10 & 53.62 & 81.63 & 72.76 \

(MathGPT-8B) & 81.20 \mathbf{81.20} 81.20 & 60.38 \mathbf{60.38} 60.38 & 60.43 \mathbf{60.43} 60.43 & 80.49 \mathbf{80.49} 80.49 & 70.62 \mathbf{70.62} 70.62 \

\hline

\end{tabular}

\end{center}

表 4:各模型在 GSM8K、MATH、GAOKAO、ZHONGKAO 四个数据集上的性能指标 (通用模型及数学专用模型)

\section*{7 结论}

本研究探讨了在预训练阶段采用替代策略以提升 LLMs 数学推理能力的问题。我们的发现促成了 MathGPT-8B 的开发,这是一款具有竞争力的模型,不仅超越了多数 7B 模型,其能力亦能与体量远大于 7B 的模型相媲美,同时所使用的 token 数量更少。未来工作应在两个关键方向扩展:首先,需要进一步改进数据合成方法。虽然我们证明了合成数据的有效性,但目前的方法仍较为初级;其次,应探讨后训练过程中对齐过程的作用及影响。对这些问题的研究将有助于进一步提升模型的数学推理能力。

\section*{致谢}

本研究部分得到了中国国家重点研发计划(项目号 2022YFC3303600)的资助;部分得到了国家自然科学基金(项目号 62477025)的支持;部分得到了广东高校智能教育重点实验室、暨南大学(2022LSYS003)的支持;部分得到了北京市科学技术项目(项目号 Z241100001324011)的资助。

\section*{参考文献}

Zeyuan Allen-Zhu and Yuanzhi Li. Physics of language models: Part 3.1, knowledge storage and extraction. In Forty-first International Conference on Machine Learning, 2023.

Zhangir Azerbayev, Hailey Schoelkopf, Keiran Paster, Marco Dos Santos, Stephen Marcus McAleer, Albert Q Jiang, Jia Deng, Stella Biderman, and Sean Welleck. Llemma: An open language model for mathematics. In The Twelfth International Conference on Learning Representations, 2023.

Wenhu Chen, Xueguang Ma, Xinyi Wang, and William W Cohen. Program of thoughts prompting: Disentangling computation from reasoning for numerical reasoning tasks. Transactions on Machine Learning Research, 2022.

Zui Chen, Yezeng Chen, Jiaqi Han, Zhijie Huang, Ji Qi, and Yi Zhou. An empirical study of data ability boundary in llms' math reasoning. arXiv preprint arXiv:2403.00799, 2024.

Karl Cobbe, Vineet Kosaraju, Mohammad Bavarian, Mark Chen, Heewoo Jun, Lukasz Kaiser, Matthias Plappert, Jerry Tworek, Jacob Hilton, Reiichiro Nakano, et al. Training verifiers to solve math word problems. arXiv preprint arXiv:2110.14168, 2021.

Hanze Dong, Wei Xiong, Bo Pang, Haoxiang Wang, Han Zhao, Yingbo Zhou, Nan Jiang, Doyen Sahoo, Caiming Xiong, and Tong Zhang. Rlhf workflow: From reward modeling to online rlhf. arXiv preprint arXiv:2405.07863, 2024.

Abhimanyu Dubey, Abhinav Jauhri, Abhinav Pandey, Abhishek Kadian, Ahmad Al-Dahle, Aiesha Letman, Akhil Mathur, Alan Schelten, Amy Yang, Angela Fan, et al. The llama 3 herd of models. arXiv preprint arXiv:2407.21783, 2024.

Jiayi Fu, Lei Lin, Xiaoyang Gao, Pengli Liu, Zhengzong Chen, Zhirui Yang, Shengnan Zhang, Xue Zheng, Yan Li, Yuliang Liu, et al. Kwaiyiimath: Technical report. arXiv preprint arXiv:2310.07488, 2023.

Leo Gao, Jonathan Tow, Baber Abbasi, Stella Biderman, Sid Black, Anthony DiPofi, Charles Foster, Laurence Golding, Jeffrey Hsu, Alain Le Noac'h, Haonan Li, Kyle McDonell, Niklas Muennighoff, Chris Ociepa, Jason Phang, Laria Reynolds, Hailey Schoelkopf, Aviya Skowron, Lintang Sutawika, Eric Tang, Anish Thite, Ben Wang, Kevin Wang, and Andy Zou. A framework for few-shot language model evaluation, 2024.

Zhibin Gou, Zhihong Shao, Yeyun Gong, Yujiu Yang, Minlie Huang, Nan Duan, Weizhu Chen, et al. Tora: A tool-integrated reasoning agent for mathematical problem solving. In The Twelfth International Conference on Learning Representations, 2023.

Xiaotian Han, Yiren Jian, Xuefeng Hu, Haogeng Liu, Yiqi Wang, Qihang Fan, Yuang Ai, Huaibo Huang, Ran He, Zhenheng Yang, et al. Infimm-webmath-40b: Advancing multimodal pretraining for enhanced mathematical reasoning. In The 4th Workshop on Mathematical Reasoning and AI at NeurIPS'24, 2024.

Shibo Hao, Yi Gu, Haodi Ma, Joshua Hong, Zhen Wang, Daisy Wang, and Zhiting Hu. Reasoning with language model is planning with world model. In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, pp. 8154-8173, 2023.

Dan Hendrycks, Collin Burns, Steven Basart, Andy Zou, Mantas Mazeika, Dawn Song, and Jacob Steinhardt. Measuring massive multitask language understanding. In The Eighth International Conference on Learning Representations, 2020.

Dan Hendrycks, Collin Burns, Saurav Kadavath, Akul Arora, Steven Basart, Eric Tang, Dawn Song, and Jacob Steinhardt. Measuring mathematical problem solving with the math dataset. In Thirty-fifth Conference on Neural Information Processing Systems Datasets and Benchmarks Track, 2021.

Shengding Hu, Yuge Tu, Xu Han, Chaoqun He, Ganqu Cui, Xiang Long, Zhi Zheng, Yewei Fang, Yuxiang Huang, Weilin Zhao, et al. Minicpm: Unveiling the potential of small language models with scalable training strategies. arXiv preprint arXiv:2404.06395, 2024.

Takeshi Kojima, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, and Yusuke Iwasawa. Large language models are zero-shot reasoners. Advances in neural information processing systems, 35:22199-22213, 2022.

Xin Lai, Zhuotao Tian, Yukang Chen, Senqiao Yang, Xiangru Peng, and Jiaya Jia. Step-dpo: Stepwise preference optimization for long-chain reasoning of llms. arXiv preprint arXiv:2406.18629, 2024.

Katherine Lee, Daphne Ippolito, Andrew Nystrom, Chiyuan Zhang, Douglas Eck, Chris CallisonBurch, and Nicholas Carlini. Deduplicating training data makes language models better. In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics, pp. 8424-8445, 2022.

Jia Li, Edward Beeching, Lewis Tunstall, Ben Lipkin, Roman Soletskyi, Shengyi Huang, Kashif Rasul, Longhui Yu, Albert Q Jiang, Ziju Shen, et al. Numinamath: The largest public dataset in ai4maths with 860 k pairs of competition math problems and solutions. Hugging Face repository, 13:9, 2024.

Raymond Li, Yangtian Zi, Niklas Muennighoff, Denis Kocetkov, Chenghao Mou, Marc Marone, Christopher Akiki, LI Jia, Jenny Chim, Qian Liu, et al. Starcoder: may the source be with you! Transactions on Machine Learning Research, 2023.

Ilya Loshchilov and Frank Hutter. Sgdr: Stochastic gradient descent with warm restarts. In International Conference on Learning Representations, 2022.

Haipeng Luo, Qingfeng Sun, Can Xu, Pu Zhao, Jianguang Lou, Chongyang Tao, Xiubo Geng, Qingwei Lin, Shifeng Chen, and Dongmei Zhang. Wizardmath: Empowering mathematical reasoning for large language models via reinforced evol-instruct. arXiv preprint arXiv:2308.09583, 2023.

Swaroop Mishra, Matthew Finlayson, Pan Lu, Leonard Tang, Sean Welleck, Chitta Baral, Tanmay Rajpurohit, Oyvind Tafjord, Ashish Sabharwal, Peter Clark, et al. Lila: A unified benchmark for mathematical reasoning. In Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing, pp. 5807-5832, 2022.

Arindam Mitra, Hamed Khanpour, Corby Rosset, and Ahmed Awadallah. Orca-math: Unlocking the potential of slms in grade school math. arXiv preprint arXiv:2402.14830, 2024.

OpenAI. Finding GPT-4's mistakes with GPT-4, 2024. URL \href{https://openai.com/index/}{https://openai.com/index/} finding-gpt4s-mistakes-with-gpt-4/.

Keiran Paster, Marco Dos Santos, Zhangir Azerbayev, and Jimmy Ba. Openwebmath: An open dataset of high-quality mathematical web text. In The Twelfth International Conference on Learning Representations, 2023.

Fabio Petroni, Tim Rocktäschel, Sebastian Riedel, Patrick Lewis, Anton Bakhtin, Yuxiang Wu, and Alexander Miller. Language models as knowledge bases? In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing, pp. 2463-2473, 2019.

Adam Roberts, Colin Raffel, and Noam Shazeer. How much knowledge can you pack into the parameters of a language model? In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing, pp. 5418-5426, 2020.

Zhihong Shao, Peiyi Wang, Qihao Zhu, Runxin Xu, Junxiao Song, Mingchuan Zhang, YK Li, Yu Wu, and Daya Guo. Deepseekmath: Pushing the limits of mathematical reasoning in open language models. arXiv preprint arXiv:2402.03300, 2024.

Hugo Touvron, Louis Martin, Kevin Stone, Peter Albert, Amjad Almahairi, Yasmine Babaei, Nikolay Bashlykov, Soumya Batra, Prajjwal Bhargava, Shruti Bhosale, et al. Llama 2: Open foundation and fine-tuned chat models. arXiv preprint arXiv:2307.09288, 2023.

Maurice Weber, Daniel Y Fu, Quentin Gregory Anthony, Yonatan Oren, Shane Adams, Anton Alexandrov, Xiaozhong Lyu, Huu Nguyen, Xiaozhe Yao, Virginia Adams, et al. Redpajama: an open dataset for training large language models. In The Thirty-eight Conference on Neural Information Processing Systems Datasets and Benchmarks Track, 2023.

Can Xu, Qingfeng Sun, Kai Zheng, Xiubo Geng, Pu Zhao, Jiazhan Feng, Chongyang Tao, and Daxin Jiang. Wizardlm: Empowering large language models to follow complex instructions. arXiv preprint arXiv:2304.12244, 2023.

An Yang, Baosong Yang, Binyuan Hui, Bo Zheng, Bowen Yu, Chang Zhou, Chengpeng Li, Chengyuan Li, Dayiheng Liu, Fei Huang, et al. Qwen2 technical report. arXiv preprint arXiv:2407.10671, 2024a.

An Yang, Beichen Zhang, Binyuan Hui, Bofei Gao, Bowen Yu, Chengpeng Li, Dayiheng Liu, Jianhong Tu, Jingren Zhou, Junyang Lin, et al. Qwen2.5-math technical report: Toward mathematical expert model via self-improvement. arXiv preprint arXiv:2409.12122, 2024b.

Tian Ye, Zicheng Xu, Yuanzhi Li, and Zeyuan Allen-Zhu. Physics of language models: Part 2.2, how to learn from mistakes on grade-school math problems. arXiv preprint arXiv:2408.16293, 2024.

Shuo Yin, Weihao You, Zhilong Ji, Guoqiang Zhong, and Jinfeng Bai. Mumath-code: Combining tool-use large language models with multi-perspective data augmentation for mathematical reasoning. arXiv preprint arXiv:2405.07551, 2024.

Huaiyuan Ying, Shuo Zhang, Linyang Li, Zhejian Zhou, Yunfan Shao, Zhaoye Fei, Yichuan Ma, Jiawei Hong, Kuikun Liu, Ziyi Wang, et al. Internlm-math: Open math large language models toward verifiable reasoning. arXiv preprint arXiv:2402.06332, 2024.

Longhui Yu, Weisen Jiang, Han Shi, YU Jincheng, Zhengying Liu, Yu Zhang, James Kwok, Zhenguo Li, Adrian Weller, and Weiyang Liu. Metamath: Bootstrap your own mathematical questions for large language models. In The Twelfth International Conference on Learning Representations, 2023.

Zheng Yuan, Hongyi Yuan, Chengpeng Li, Guanting Dong, Chuanqi Tan, and Chang Zhou. Scaling relationship on learning mathematical reasoning with large language models. arXiv preprint arXiv:2308.01825, 2023.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section*{附录}

\section*{A 详细实验准备}

\section*{A.1 训练数据详情}

本研究中使用的训练数据分为以下三大类:(1) 普通语料,包括来自 RedPajama 的 ArXiv 子集中的科学文本、来自 AlgebraicStack (Azerbayev et al., 2023) 和 StarCoder (Li et al., 2023) 的代码数据集,以及来自 RedPajama 的 C4 与 Wikipedia 子集的自然语言数据。引入普通数据有助于防止模型在进行领域专精训练时出现灾难性遗忘;同时,保持普遍知识基底确保模型在各类任务上的鲁棒性。(2) 数学语料,旨在提升模型的数学能力,主要包含从 CommonCrawl 网页中提取的数学内容。主要目标是使预训练模型具备数学相关的基础知识,包括术语、定理、证明等。为此,我们利用 OpenWebMath (Paster et al., 2023) ------一项已被证明能有效提升数学能力的资源 (Azerbayev et al., 2023)。(3) 问题求解数据。我们认为该数据能更高效地提升模型的推理能力。我们收集了 2500 万条问题求解数据,包括来自开源资源如 NuminaMath (Li et al., 2024) 和 Lila (Mishra et al., 2022) 的数据,以及内部专有数据。其中 1400 万条作为种子数据用于增强生成合成数据。整体来说,基于 Llama2 (Touvron et al., 2023) 在 RQ 实验上,我们分别使用了 483 亿普通语料 token、137 亿数学语料 token、72 亿问题求解数据 token 以及 305.4 亿合成数据 token。

\section*{A.2 基线模型选择}

基线模型的选择对我们的结论具有关键影响,因为它直接影响结论的可靠性与适用性。为确保我们关于研究问题的探索能够产生具有实践价值的见解,我们基于主流模型开展研究。由于 OpenWebMath 可能已广泛被最新 LLMs 引入,使用该数学语料可能达不到预期效果,因此我们选择 Llama2 (Touvron et al., 2023) 作为基线模型,因为其发布时间早于 OpenWebMath (Paster et al., 2023) 的发布。此举旨在增强我们结论的鲁棒性。

\section*{A.3 评价数据集}

考虑到既要降低数据污染风险,又需拓宽评价能力范围,我们扩展了评价集,新增了 GAOKAO 和 ZHONGKAO 数据集,此外还保留了 GSM8K (Cobbe et al., 2021) 和 MATH (Hendrycks et al. 2021) 数据集。GAOKAO 数据集包括 GAOKAO-2023 与 GAOKAO-2024,来源于最新的中国高考。我们将问题格式转换为数学文字题,并将问题进行翻译,经过审核后保留 235 条题目。类似地,ZHONGKAO 数据集来源于 2023 年中考,包含 658 道翻译后的数学文字题。这两个数据集均在 Llama2 (Touvron et al., 2023) 发布之后创建,从而增强了我们的结论。新增的数据集在普通知识、数学知识以及推理步骤维度上提供了不同的考察。GAOKAO 与 MATH 类似,但需要更多普通知识;ZHONGKAO 与 GSM8K 类似,但可能需要更多数学知识且推理步骤更少。详细的能力维度见附录 B。本研究相信扩展后的评价集将带来更全面的评估,并为后续改进提供有价值的参考。

\section*{A.4 去重与去污染}

我们使用 MinHash 去重框架(Lee et al., 2022)来去除训练数据中重复文本超过某一阈值的整篇文档。具体而言,我们设置去重阈值为 2048 字节以提升训练数据质量。另外,我们设置阈值为 100 字节,以移除训练集中与评价数据集(包括其子集)重叠超过 100 字节的部分。我们认为这可以解决因简单改写而引起的部分污染。(值得注意的是,对于 OpenWebMath (Paster et al., 2023) 的案例,我们剔除了 2594 篇受污染的文档,这对我们初步实验的结论产生了显著影响。)

\section*{A.5 评价指标}

评价过程包含三个阶段:模型推理、答案比较和统计打分。在模型推理阶段,我们对每个数据集分别使用零样本和少样本提示模板。对于零样本,我们采用简单的链式思考(Chain-of-Thought, CoT)提示 (Kojima et al., 2022)。对于少样本,我们在 GSM8K 与 MATH 数据集上分别采用 8-shot 与 4-shot 设置,并将相同的少样本设置应用于 ZHONGKAO 与 GAOKAO 数据集。关于答案比较,我们使用答案比较模型 2 { }^{2} 2来解决基础模型产生的输出不规则问题,例如停止准则不一致或从 CoT 输出中提取答案等问题。在统计打分阶段,我们为每个数据集选择零样本与少样本中准确率较高的一个,以确保结果的可靠性与鲁棒性,因部分模型在零样本下表现较优,部分则在少样本下表现更好。最后,我们报告四个数据集准确率的算术平均值。

\section*{B 四个评价集的能力维度}

GSM8K、MATH、ZHONGKAO 与 GAOKAO 四个评价集被引入以丰富评价维度,如表 5 所示,并给出示例题目。

为了初步理解各评价集在不同能力维度上的差异,我们尝试定义三个能力维度:普通知识、数学知识以及推理步骤。正如表 6 所示,每个能力维度均分为三个等级,要求从一级到三级逐步提高。普通知识描述了对常识(例如一天由 24 小时组成)的要求;数学知识指数学知识的复杂程度,包括算术、初等数学与高级数学;推理步骤描述了推理深度。图 3 展示了四个评价集在不同维度上的表现。总体而言,GAOKAO 与 MATH 表现相似,但 GAOKAO 在某些题目上可能需要一定的普通知识;ZHONGKAO 与 GSM8K 都要求较高的普通知识,但在数学知识与推理步骤要求上有所不同。

此外,如图 4 所示,我们通过对各评价集问题的数据分布进行 t-SNE 降维分析,并展示了数据分布图及余弦相似度情况。显然,MATH、ZHONGKAO 与 GAOKAO 之间存在一定相关性,而 GSM8K 数据分布差异最大。这可能也解释了不同评价集在 OOD 能力表现上的差异(如表 2 中讨论的情况)。

\begin{center}

\begin{tabular}{|l|l|}

\hline

数据集 & 题目示例 \

\hline

GSM8K & \begin{tabular}{l}

Josh 决定尝试买房翻修。他以 $80,000 购买一处房产,\

随后投入 $50,000 用于维修。此举使房屋价值提高了 150%。\

他的利润是多少?

\end{tabular} \

\hline

MATH & 求函数 y = 2 x 2 + x − 6 y=\frac{2}{x^{2}+x-6} y=x2+x−62 图像的垂直渐近线个数。 \

\hline

ZHONGKAO & 4 的相反数是多少? \

\hline

GAOKAO & \begin{tabular}{l}

设 M = { x ∣ x + 2 ≥ 0 } ,   N = { x ∣ x − 1 < 0 } M=\{x \mid x+2 \ge 0\},\, N=\{x \mid x-1 < 0\} M={x∣x+2≥0},N={x∣x−1<0},\

则 M ∩ N = ? M \cap N=? M∩N=?

\end{tabular} \

\hline

\end{tabular}

\end{center}

表 5:四个评价集示例题目

\section*{C 关于实验设置的讨论}

我们的实验设计总体上遵循对比实验原理,构成对照组以通过引入变量验证假设。下文详细介绍各实验组设计的考虑因素。

在第 3 节中,为了减小数学数据总量对实验结论的影响,如文中所述,我们在基线组与测试组中均控制了数学数据总量为 147 亿 token,其中基线组使用全部 147 亿数学语料,而测试组则使用 72 亿问题求解数据与剩余 75 亿数学语料分配,确保数学 token 总量亦为 147 亿。随后,在三个测试组中,我们调整数学数据混合比例以进一步验证问题求解数据的有效性,并确定后续实验的最优混合比例。具体来说,根据 75 亿 token:72 亿 token 的比例,我们从数学数据混合比例 5:5 开始;接着将比例调整为 3:7,此时较小的 75 亿数学语料可在 10K 步内充分利用,并在 25K 步内使用超过两次,从而确保数据得到充分利用;最后,我们补充了 7:3 的反比例实验。

在第 4 节中,为区分不同合成数据的影响,我们引入了对照组 Base2,该组在 Base1 基础上使用全部问题求解数据。实验组在此基础上额外加入合成数据,以验证合成数据带来的新价值,而不仅仅是替代原始数据。

\includegraphics[max width=\textwidth, center]{2025_04_15_262c644527836053857ag-17}

Figure 4:(a) 四个评价集问题的数据分布;(b) 基于数据分布计算的评价集相似度图。

在第 5.1 节中,我们比较了将问题求解数据引入不同阶段(CPT 与 SFT)对模型最终能力的影响。首先,参照 Base1 与 Base2 的设置,在 Base1 上进行 SFT 构成对比实验 Base1-SFT,我们假设 Base1-SFT 会因拥有指令跟随能力而受益,此为 Base2 所不具备。为验证这一点,我们划分出 1% 的数据,假设其对推理能力影响有限但对指令跟随能力有提升,随后在 Base1 与 Base2 上均进行 1% SFT。通过对比 Base1-1%SFT 与 Base1SFT,可以评估 SFT 带来的推理能力提升;而对比 Base1-1%SFT 与 Base2-1%SFT,则评估 CPT 带来的推理提升。

在第 5.2 节中,我们主要关注相同评价集在不同训练阶段下的能力差异。为此,我们复用 Base1 定义实验组能力提升,并引入两个实验组 Middle-school-SFT 与 Middle-school-CPT,分别在 SFT 与 CPT 中使用中学数据子集,以构成比较,进而评估 SFT 与 CPT 在特定评价集上的 IND 学习差异。同时,对其他评价集中 OOD 学习的变化也进行分析。随后,我们用高中数据子集替换中学数据子集,再构造两个实验组以重复实验,强化结论的鲁棒性。

在第 5.3 节中,实验设计与第 5.2 节类似,主要区别在于侧重于相同训练阶段中不同问题难度数据下的学习能力差异。因此,除了分别比较 SFT 与 CPT 下在简单和困难数据子集上的表现外,我们还在同一训练阶段中比较不同训练子集的表现。基于评价集数据分布的比较仅为补充分析。

\section*{D 问题求解数据有效性详细实验结果}

我们假设仅使用问题求解数据进行 CPT 已足够,因此增加了实验组 Test4,该组仅使用问题求解数据作为数学数据,具体为:

\begin{itemize}

\item Test4:使用 483 亿普通语料 token 和 72 亿问题求解数据 token,数据混合比例为 4:6。

\end{itemize}

结果如图 5 所示。我们发现,即使数学数据量较少,代表 Test4 的紫色曲线与代表 Test2 的绿色曲线表现一致甚至更优,这进一步佐证了 Result 1,即问题求解数据具有显著的提升效果,甚至能超越大规模新增 token 的影响。

下表(表 7)给出了 Base1、Test1、Test2、Test3 与 Test4 在四个评价集上的详细准确率。特别指出,当不使用数学语料时,Test4 在四个评价数据集上的具体指标不再与 Test1 至 Test3 保持一致,此数据分布的变化降低了 GSM8K 的提升效果,而在 MATH 与 GAOKAO 上的提升反而更明显。

\includegraphics[max width=\textwidth, center]{2025_04_15_262c644527836053857ag-18}

Figure 5:五个组随训练步数变化的平均准确率。

\begin{center}

\begin{tabular}{lllllc}

\hline

Model & GSM8K & MATH & GAOKAO & ZHONGKAO & Average \

\hline

Llama2-7b & 14.40 & 5.10 & 4.26 & 16.48 & 10.06 \

\hline

Base1 & 28.20 & 9.48 & 8.09 & 30.68 & 19.11 \

\hline

Test1 & 44.88 & 19.72 & 20.00 & 66.29 & 37.72 \

\hline

Test2 & 48.29 & 20.78 & 23.40 & 67.05 & 39.88 \

\hline

Test3 & 42.15 & 19.48 & 22.55 & 63.26 & 36.86 \

\hline

Test4 & 40.11 & 25.12 & 29.79 & 68.18 & 40.80 \

\hline

\end{tabular}

\end{center}

表 7:所有实验组在四个评价集上的准确率

\section*{E 能力习得比较的详细结果}

四个评价集的详细评价结果见表 8,而平均准确率与 SFT 数据量之间的关系如图 6 所示。

\section*{F 相关工作}

我们在此讨论有关数学 CPT 的相关工作。LLEMMA (Azerbayev et al., 2023) 首次关注继续预训练以提升数学推理能力,通过收集包括 OpenWebMath (Paster et al., 2023) 在内的开源数据并提供 Proof-Pile-2 数据集,初步尝试了数学领域的继续预训练,并分享了其经验。DeepSeekMath (Shao et al., 2024) 通过提升数据质量推动了数学继续预训练的效果,主要训练了 fastText 模型以召回更多 OpenWebMath 类数学网页,并迭代该过程,这也为数学推理之外的研究提供了有价值的经验。InternLM-Math (Ying et al., 2024) 利用开源数据集与内部数据集,并训练了评分模型以筛选高质量数据。Qwen2-Math (Yang et al., 2024a) 以及近期发布的 Qwen2.5-Math (Yang et al., 2024b) 已开始关注使用合成数据,并有效地取得了显著提升。

\begin{center}

\begin{tabular}{|l|l|l|l|l|l|}

\hline

Model & GSM8K & MATH & GAOKAO & ZHONGKAO & Average \

\hline

Base1 & 28.20 & 9.48 & 8.09 & 30.68 & 19.11 \

\hline

Base1-1%SFT & 31.08 & 12.10 & 12.34 & 39.39 & 23.73 \

\hline

Base1-10%SFT & 32.37 & 13.74 & 11.49 & 42.42 & 25.01 \

\hline

Base1-20%SFT & 34.65 & 16.26 & 13.62 & 46.40 & 27.73 \

\hline

Base1-50%SFT & 36.92 & 19.34 & 14.04 & 57.20 & 31.88 \

\hline

Base1-SFT & 42.84 & 21.88 & 18.30 & 59.47 & 35.62 \

\hline

Base2 & 47.84 & 20.12 & 22.98 & 67.05 & 39.50 \

\hline

Base2-1%SFT & 51.40 & 27.10 & 25.96 & 69.70 & 43.54 \

\hline

\end{tabular}

\end{center}

表 8:带 SFT 模型的性能指标

\includegraphics[max width=\textwidth, center]{2025_04_15_262c644527836053857ag-19}

Figure 6:平均准确率与 SFT 数据量之间的关系

\section*{G 合成数据 Prompt}

\section*{Response Diversification}

你是数学老师,请用英文完成以下任务。\

任务:对于下面的数学题,在给定的解答之外,请额外提供两种不同的解法。

如果你能提供两种不同解法,请以 < < <response > > >accept < / r e s p o n s e > </response> </response> 开头,然后依次以 'Solution2:' 和 'Solution3:' 展示额外的解法。\

如果你认为无法提供两种不同的解法,或提供的解法可能不准确,请以 < < <response > > >refuse < / r e s p o n s e > </response> </response> 开头。\

请确保解法是正确且彼此不同。如果你对解法的正确性有疑问,或认为该题目不允许有多解,请直接以 < < <response > > >refuse < / r e s p o n s e > </response> </response> 开头,并说明原因。

\section*{Query Expansion}

你的目标是从给定的题目及其解答中生成不同的数学文字问题及解答。请按照以下步骤进行:

\begin{enumerate}

\item 将问题转换为陈述,并在 < < <statement > > > 中填写 < < <statement > > > FILL IN HERE < / s t a t e m e n t > </statement> </statement>。

\item 基于该陈述生成一个新问题,并在 < < <question > > > 中填写 < < <question > > > FILL IN HERE < / q u e s t i o n > </question> </question>。

\item 给出新问题的解答,并在 < < <solution > > > 中填写 < < <solution > > > FILL IN HERE < / s o l u t i o n > </solution> </solution>。

\item 检查解答,并在 < < <check > > > 中回复 < < <check > > >Accept < / c h e c k > </check> </check> 或 < < <check > > >Refuse < / c h e c k > </check> </check>;然后在 < < <reason > > > 中说明理由,格式为 < < <reason > > > FILL IN HERE < / r e a s o n > </reason> </reason>。

\item 重复该过程,总计生成 2 个问题及解答。

\end{enumerate}

\section*{Tutorship Amplification}

作为数学老师,请检查下列数学题的解答。如果解答正确,请仅回复 < < <check > > >correct < / c h e c k > </check> </check>。

若解答错误,请首先回复 < < <check > > >wrong < / c h e c k > </check> </check>,然后指出错误的步骤,纠正错误并继续给出正确解答。\

请注意,你的回复必须以 < < <check > > >correct < / c h e c k > </check> </check> 或 < < <check > > >wrong < / c h e c k > </check> </check> 开头。

相关推荐
林泽毅16 分钟前
UNet脑瘤医学影像分割训练实战(PyTorch 完整代码)
深度学习·算法·机器学习
AI绘画咪酱17 分钟前
SD教程|巧用Stable Diffusion,实现不同风格的LOGO设计|实战篇幅,建议收藏!
人工智能·学习·ai作画·stable diffusion·sd
IT古董23 分钟前
【漫话机器学习系列】208.标准差(Standard Deviation)
人工智能
CH3_CH2_CHO31 分钟前
DAY06:【pytorch】图像增强
人工智能·pytorch·计算机视觉
意.远33 分钟前
PyTorch实现权重衰退:从零实现与简洁实现
人工智能·pytorch·python·深度学习·神经网络·机器学习
兮兮能吃能睡37 分钟前
我的机器学习之路(初稿)
人工智能·机器学习
Java中文社群39 分钟前
SpringAI版本更新:向量数据库不可用的解决方案!
java·人工智能·后端
珊瑚里的鱼40 分钟前
【双指针】专题:LeetCode 202题解——快乐数
开发语言·c++·笔记·算法·leetcode·职场和发展
Shawn_Shawn1 小时前
AI换装-OOTDiffusion使用教程
人工智能·llm
扉间7981 小时前
探索图像分类模型的 Flask 应用搭建之旅
人工智能·分类·flask