HyperAIHyperAI

Command Palette

Search for a command to run...

AceMath:通过后训练与奖励建模推进前沿数学推理

Zihan Liu Yang Chen Mohammad Shoeybi Bryan Catanzaro Wei Ping

摘要

在本文中,我们介绍了 AceMath,一系列在前沿数学问题求解方面表现出色的数学模型,以及能够评估生成解决方案并可靠识别正确答案的高效奖励模型。为了开发指令微调的数学模型,我们提出了一种监督微调(SFT)流程,该流程首先在通用领域取得有竞争力的性能,然后使用精心挑选的提示集和合成生成的响应,针对数学领域进行定向微调。由此产生的模型 AceMath-72B-Instruct 在性能上大幅超越了 Qwen2.5-Math-72B-Instruct、GPT-4o 和 Claude-3.5 Sonnet。为了开发数学专用的奖励模型,我们首先构建了 AceMath-RewardBench,这是一个全面且稳健的基准,用于评估数学奖励模型在各种问题和难度级别上的表现。之后,我们提出了一种系统方法来构建我们的数学奖励模型。由此产生的模型 AceMath-72B-RM,一致地优于最先进的奖励模型。此外,当将 AceMath-72B-Instruct 与 AceMath-72B-RM 结合使用时,我们在数学推理基准上取得了最高的平均 rm@8 分数。我们已在 https://research.nvidia.com/labs/adlr/acemath 发布模型权重、训练数据和评估基准。

一句话总结

NVIDIA 研究人员提出 AceMath,这是一套经过指令微调的数学与奖励模型系列,采用 SFT 流程,首先在通用领域取得具有竞争力的表现,再针对数学任务使用精选提示词和合成响应进行微调;AceMath-72B-Instruct 超越了 GPT-4o 和 Claude-3.5 Sonnet,而使用新的 AceMath-RewardBench 开发的 AceMath-72B-RM 则超越了最先进的奖励模型,并在数学推理基准上取得了最高的平均 rm@8\mathrm{rm@8}rm@8 分数。

核心贡献

  • 本文提出 AceMath-Instruct,一系列数学微调模型,采用两阶段监督微调流程进行训练,首先建立通用领域的指令跟随能力,再使用精选提示词和合成响应进行针对性的数学 SFT。结果表明,72B 变体大幅超越 Qwen2.5-Math-72B-Instruct、GPT-4o 和 Claude-3.5 Sonnet,而 7B 模型超越了 Qwen2.5-Math-7B-Instruct,并几乎追平规模大 10 倍的 72B 对应模型。

  • 本文构建了 AceMath-RewardBench,一个全面的数学奖励模型评估基准,覆盖多种数据集和难度等级。

  • 本文开发了 AceMath-RM,一种数学专项的结果奖励模型,采用系统化训练方法,通过对多样化的模型响应进行采样来提升对风格偏见的鲁棒性。72B 奖励模型在性能上持续超越 Qwen2.5-Math-RM-72B 和 Skywork-o1-Open-PRM-Qwen-2.5-7B 等最先进的奖励模型,将其与 AceMath-72B-Instruct 结合后,在数学推理基准上取得了最高的平均 rm@8 分数。

引言

数学推理是大语言模型一项基础且可验证的能力,使其成为评估复杂多步逻辑推理的可靠基准。先前的数学专项模型通过在大型数学语料库上进行持续预训练以及在提示-响应对上进行监督微调(SFT)取得了进展,但在较小规模下仍落后于更大的通用模型,且现有奖励模型常常受到风格偏见的影响。作者提出 AceMath,一系列前沿级别的数学指令模型和奖励模型,采用两阶段 SFT 方法,先在通用领域进行训练,再进行数学专项微调。他们还对奖励模型训练进行了系统研究,重点关注正负样本对构建、训练目标和去偏处理,最终得到的验证器超越了最先进的同类模型。AceMath-7B-Instruct 超越了 Qwen2.5-Math-7B-Instruct,并接近规模大 10 倍的模型的性能,而 AceMath-72B-RM 树立了新的标准。作者开源了模型权重、完整训练数据以及一个新的奖励模型基准。

数据集

作者构建了一个监督微调(SFT)数据集,分为通用领域和数学专项两部分,同时还有一个用于奖励模型训练的独立数据集。以下是数据集的构成、处理和使用方式的详细说明。

通用 SFT 数据

  • 来源: 提示词收集自多种开源数据集。通用领域来源包括 ShareGPT、SlimOrca、EvolInstruct、GPTeacher、AlpacaGPT4 和 UltraInteract。编程领域来源包括 Magicoder、Wizard-Coder、GlaiveCodeAssistant 和 CodeSFT。数学来源包括 NuminaMath、OrcaMathWordProblems、MathInstruct、MetaMathQA 以及新的合成数据。
  • 提示词处理: 收集后,作者进行数据去重以移除完全相同的提示词(基于小写比较)。剩余的提示词集合不加过滤地保留,以维持多样性。
  • 响应构建: 原始的开放源代码响应被丢弃,以保证一致的质量和格式。所有编程和通用领域提示词改用 GPT-4o-mini 通过贪婪解码生成新响应。数学提示词使用独立流程处理。
  • 规模: 该流程产生约 120 万条编程样本(6.7 亿 token)和 70 万条通用领域样本(5.5 亿 token)。此外,数学 SFT 数据集中的 120 万条样本也被用于此阶段。

数学 SFT 数据

  • 初始提示词: 作者从开源数据集(NuminaMath、OrcaMathWordProblems、MathInstruct、MetaMathQA)中收集了超过 130 万条去重后的初始提示词,涵盖广泛的难度范围。
  • 合成提示词: 为提升多样性,他们使用 GPT-4o-mini 生成了约 100 万条额外的合成提示词。该流程以 NuminaMath 作为种子数据,并应用广度扩展和深度扩展策略。低质量提示词被过滤掉,包括由添加约束类型的扩展生成的提示词、超过 300 个单词的提示词,以及 50 万条其他低质量样本。
  • 响应构建: Qwen2.5-Math-72B-Instruct 为总计超过 230 万的提示词生成响应。模型被指示逐步推理并以方框格式给出最终答案。响应的格式一致性、长度(排除超过 2,500 个单词的响应)和重复模式均经过过滤。最终得到约 230 万条数学 SFT 样本(18.3 亿 token)。
  • 高质量子集: 为提升准确性,作者交叉核对了答案。他们使用 GPT-4o-mini 为每个提示词生成两个响应,仅保留两次生成结果一致的答案。随后选择该答案与 Qwen2.5-Math-72B-Instruct 生成答案一致的响应,最终获得包含 80 万条样本的高质量子集。

数据去污染

  • 流程: 为防止测试集污染,作者应用了过滤流程。对于数学提示词,他们对文本进行归一化处理并移除无关标点,然后过滤掉与测试数据存在 13-gram 重叠或最长公共子序列超过提示词长度 60% 的提示词。对于非数学提示词,与测试样本存在 13-gram 重叠即足以触发移除。

数据的使用方式

  • 通用 SFT: 通用 SFT 模型首先进行训练,以建立强大的指令跟随和广泛的问答能力。它使用 120 万条编程样本、70 万条通用样本和 120 万条数学样本(9.5 亿 token)的混合数据。
  • 数学 SFT: 数学 SFT 阶段以通用 SFT 模型为起点。训练混合数据包括全部 NuminaMath 样本、百万条合成提示词的子集,以及 80 万条经过交叉核对的高质量样本。去重后总计约 160 万条样本(12.9 亿 token)。作者发现该混合数据的效果优于使用全部 230 万条数学样本。
  • 初步构建: 作者使用数学 SFT 数据中 35 万条样本的子集,以提示词和 GPT-4o-mini 生成的答案作为参考标签。他们从 14 个不同的 LLM(包括多种 Llama、DeepSeek、Mistral、Gemma 和 Qwen 模型)中为每个问题采样 4 个响应。
  • 评分与选择: 响应根据参考标签标注为正确或错误。为减少假阴性,奖励模型 Qwen2.5-Math-RM-72B 对候选响应进行排序。作者采用按分数排序的采样策略,从 top-k 正样本和 bottom-k 负样本候选中进行选择,k 设为 14。他们为每个问题采样 6 个响应,保证正负样本数量均衡,并过滤掉所有响应均为正确或均为错误的问题。
  • 处理偏见: 为应对风格偏见,作者使用少样本提示为 2,000 道选择题生成简短推理路径。他们还采样了 30,000 个问题,并使用 AceMath-Instruct 检查点生成响应,以构建正负样本对。
  • 最终数据集: 最终的奖励模型训练数据集包含 356K 个问题,每个问题配有 6 个响应。

奖励模型评估基准(AceMath-RewardBench)

  • 构成: 该基准旨在评估数学奖励模型。它使用 7 个数据集,每个问题包含从 8 个不同 LLM 中采样的 64 个候选响应。
  • 评估指标: 主要指标为 rm@8,即从 64 个候选中随机采样 8 个响应,并在 100 个随机种子上取准确率的平均值以确保统计可靠性。基准使用 MATH500 子集进行评估。

方法

作者提出了一套完整的训练流程,首先通过两阶段监督微调(SFT)过程建立稳健的基础,随后进行数学专项训练。该方法涵盖数据策展、分阶段训练策略以及奖励模型的开发。

通用 SFT 数据策展与策略 为了构建能够遵循指令并回答多样化问题的通用 SFT 模型,作者从大量开源数据集中收集提示词,这些数据集分为通用领域、编程领域和数学领域。为解决原始响应不一致的问题,系统使用 GPT-4o-mini 通过贪婪解码生成新响应,确保统一的格式和高品质。该流程产生约 120 万条编程样本(6.7 亿 token)和 70 万条通用领域样本(5.5 亿 token)。

数据分布概览见下文:

构建的数据集总计包含约 230 万条数学 SFT 样本(18.3 亿 token)、120 万条编程 SFT 样本(6.7 亿 token)和 70 万条其他样本(5.5 亿 token)。数学数据中的一部分,具体为 120 万条样本(9.5 亿 token),被策略性地用于通用 SFT,以在进入专项数学训练之前增强模型的指令跟随能力。

训练过程分为两个不同的阶段。在第一阶段,模型在主要关注编程和数学任务的大型数据集上进行训练,以构建强大的基础能力。第二阶段通过引入编程、数学和通用 SFT 数据的均衡混合来扩展模型的能力范围。对于第二阶段,作者仅选择经过交叉核对的高质量数学样本,即 GPT-4o-mini 与 Qwen2.5-Math-72B-Instruct 最终答案一致的样本,确保整合多样且可靠的数据。

数学 SFT 策略 数学专项 SFT 阶段以通用 SFT 模型为起点。该阶段的数据集由 NuminaMath 样本、合成提示词的子集以及 80 万条经 GPT-4o-mini 和 Qwen2.5-Math-72B-Instruct 交叉核对的数学 SFT 样本合并而成。去除重复提示词后,最终数据集包含 160 万条样本。该策展混合数据被发现比使用全部数学 SFT 数据池能获得更好的性能。

训练细节 所有 SFT 模型均使用 AdamW 优化器进行优化。通用 SFT 的学习率设为 5×1065 \times 10^{-6}5×106,数学 SFT 的学习率设为 3×1063 \times 10^{-6}3×106。除 72B 模型使用 256 的批量大小外,所有模型规模的全局批量大小均设为 128。训练进行一个 epoch,最大序列长度为 4096。

奖励模型训练 为选择准确的解决方案和更优的推理路径,使用结果奖励方法训练一个数学奖励模型。架构以监督微调模型作为骨干网络进行初始化,并在顶部添加一个线性层,将最后一个 token 的表示投影为标量值。

训练数据的合成涉及从 14 个不同的 LLM 中生成响应,并根据参考标签将其标注为正确或错误。为降低启发式评估工具带来的噪声,作者采用按分数排序的采样策略,使用现有奖励模型对候选进行排序,并从 top-k 正样本和 bottom-k 负样本响应中进行采样。最终得到一个包含 356K 个问题的数据集,每个问题配有 6 个响应。

模型使用列表式 Bradley-Terry 损失进行训练,以最大化正确响应与错误响应之间的间隔:

Lrm(θ)=1k(6k)E(x,ypos,yneg)[log(σ(rθ(x,ypos)rθ(x,yneg)))]\mathcal {L} _ { \mathrm { r m } } ( \theta ) = - \frac { 1 } { k \cdot (6 - k ) } \mathbb { E } _ { ( x , y _ { \mathrm { p o s } } , y _ { \mathrm { n e g } } ) } \Big [ \log \big ( \sigma ( r _ { \theta } ( x , y _ { \mathrm { p o s } } ) - r _ { \theta } ( x , y _ { \mathrm { n e g } } ) ) \big ) \Big ]Lrm(θ)=k(6k)1E(x,ypos,yneg)[log(σ(rθ(x,ypos)rθ(x,yneg)))]

其中,rθ(x,y)r _ { \theta } ( x , y )rθ(x,y) 表示奖励模型对问题 xxx 和响应 yyy 的输出分数。该损失函数旨在优化模型对正负候选分数之间的判别能力。

实验

评估设置涵盖通用 SFT 基准(编程、数学和知识任务)以及从小学水平到奥林匹克级别的广泛数学基准,使用模型和新的奖励基准(AceMath-RewardBench)进行评估。采用两阶段策略训练的 AceInstruct 模型在性能上持续优于单阶段对应模型及其指令基线,在较弱的基座模型和编程/数学任务上提升最为显著。AceMath-Instruct 模型在所有规模上均显著超越 Qwen2.5-Math-Instruct,其中 7B 变体与 Llama3.1-405B 和 GPT-4o 等更大的模型具有竞争力,而消融实验证实,数学 SFT 之前的通用 SFT、精心挑选的合成数据以及多样化的模型生成训练响应对性能都至关重要。奖励模型结果显示,AceMath-RM 达到了最先进的准确率,尤其是在更具挑战性的 RewardMATH 基准上,且增加模型规模比增加数据量带来更大的收益,在具有挑战性的大学水平和竞赛数据集中尤为明显。

AceMath 模型在多种数学推理基准上取得了具有竞争力或最先进的结果,基于奖励模型的 rm@8 选择持续提升了直接生成的准确率。72B 模型总体上领先,而较小的变体在面对大得多的专有模型时仍表现出色。AceMath-72B-Instruct 在 GSM8K、MATH 和 MMLU STEM 上取得了所有对比模型(包括 GPT-4o 和 Claude 3.5 Sonnet)中最高或接近最高的分数。使用 AceMath-72B-RM 进行 best-of-8 选择(rm@8)在所有七个基准上均提升了每个 AceMath 模型规模的准确率,提升幅度通常超过 3 个百分点。7B 和 1.5B 的 AceMath 模型在使用 rm@8 后在多个基准(如 Minerva Math 和 College Math)上超越了专有模型,尽管其规模较小。

所提出的两阶段监督微调策略改善了不同基座模型的性能,其中在编程和数学基准上的提升最为显著。AceInstruct 模型在性能上持续优于相应的指令基线,并且在更强的起始模型上取得了与更先进的基线相当的结果。对于 DeepSeek-Coder、Llama3.1 和 Qwen2.5 模型,相对于基线的平均分数提升超过 4%。基于 DeepSeek-Coder 的 AceInstruct 取得了尤为显著的提升,在编程和数学任务上平均提升约 10% 或更多。在 Qwen2.5-7B 和 Qwen2.5-72B 上,AceInstruct 达到了与相应指令模型相当的性能。

消融实验在两个基座模型家族(Qwen2.5 和 Llama3.1)上比较了两阶段监督微调策略与单阶段变体的表现。两阶段 AceInstruct 模型在所有评估基准上均持续优于两种单阶段设置,其中较弱的 Llama3.1 基座模型观察到的提升尤为显著。较强的 Qwen2.5 基座模型提升较小,这可能是因为它在预训练期间已经包含了大量数学和编程数据。两阶段训练在两种基座模型家族的所有任务上均优于单阶段训练。Llama3.1-8B 从两阶段训练中获得了超过 3 个平均分数点的提升,而 Qwen2.5-7B 表现出较小但一致的優勢。纳入大量编程和数学数据对较弱的基座模型的益处更为明显,因为较强的模型可能已经从预训练中获得了此类知识。

AceMath-Instruct 模型在数学基准上的得分显著高于对应的 Qwen2.5-Math-Instruct 模型,其中 72B 变体以较大幅度超越了此前的最高水平。7B 模型也表现出色,能够匹配或超越 GPT-4o 和 Claude-3.5 Sonnet 等大得多的模型。AceMath-72B-Instruct 超越 Qwen2.5-Math-72B-Instruct,平均提升达 3.68 分。AceMath-7B-Instruct 可与 GPT-4o 和 Claude-3.5 Sonnet 匹敌,并在平均分数上接近大得多的 Qwen2.5-Math-72B-Instruct。AceMath-Instruct 模型在 1.5B、7B 和 72B 规模上均持续击败相应的 Qwen2.5-Math-Instruct 基线。

消融实验表明,单独使用 GPT-4o-mini 或 Qwen2.5-Math-72B-Instruct 的响应所获得的性能与同时使用两者接近,这表明数据构建具有鲁棒性。增加数学 SFT 数据量或仅使用高质量样本并不能改善结果,而将交叉核对的高质量数据与多样化样本相结合效果最佳。跳过数学 SFT 之前的通用 SFT 会导致平均分数下降约 1%。仅依赖 GPT-4o-mini 的响应对于一个骨干网络仅导致约 1% 的平均分数下降,表明对强大数学专家的依赖度较低。仅使用 80 万条高质量数学样本或扩展到 230 万条样本均未超越 160 万条混合数据集,这表明多样性优于数量或严格过滤。省略通用 SFT 步骤持续使平均分数降低约 1%,即使从数学基座骨干网络开始也是如此。

在数学基准上的评估表明,AceMath 模型(尤其配合 best-of-8 奖励模型选择)取得了具有竞争力或最先进的准确率,其中 72B 变体领先。AceInstruct 的两阶段监督微调在编程和数学任务以及对较弱的基座模型上持续优于单阶段基线。消融实验证实,混合高质量与多样化数学数据比单纯扩展数量更为有效,且数学 SFT 之前的通用 SFT 阶段不可或缺,省略该阶段会使分数下降约 1%。总体而言,这些实验验证了所提出的训练和数据策略对强数学推理能力的有效性。


用 AI 构建 AI

从创意到上线——通过免费 AI 协同编码、开箱即用的环境和最优惠的 GPU 价格,加速您的 AI 开发。

AI 协同编码
开箱即用的 GPU
最优定价

HyperAI Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供