一、模型概述
Qwen2.5-Math系列模型介绍
Qwen2.5-Math 是一系列专门针对数学的大型语言模型,包括 Qwen2.5-Math 和 Qwen2.5-Math-Instruct-1.5B/7B/72B。该系列模型的核心创新在于整个模型开发流程中贯穿了自我提升的哲学,从预训练、后训练到推理阶段,都采用了自我提升的方法。
1. 预训练阶段:
- 在预训练阶段,Qwen2-Math-Instruct 被用于生成大规模、高质量的数学数据。这些数据为后续的模型训练提供了丰富的素材。
2. 后训练阶段:
- 在后训练阶段,开发了一个奖励模型(RM),通过从 Qwen2-Math-Instruct 中进行大规模采样来构建。这个 RM 用于监督微调(SFT)数据的迭代演化。随着更强的 SFT 模型的出现,可以迭代地训练和更新 RM,进而指导下一阶段的 SFT 数据迭代。最终,在 SFT 模型上使用最终的 RM 进行强化学习,从而得到 Qwen2.5-Math-Instruct。
3. 推理阶段:
- 在推理阶段,RM 用于指导采样,优化模型的性能。
Qwen2.5-Math-Instruct 支持中文和英文,具备先进的数学推理能力,包括链式思维(Chain-of-Thought, CoT)和工具集成推理(Tool-Integrated Reasoning, TIR)。在 10 个数学数据集上对模型进行了评估,这些数据集涵盖了从基础教育到数学竞赛的不同难度,包括 GSM8K、MATH、高考试题、AMC23 和 AIME24。
旗舰模型 Qwen2.5-Math-72B-Instruct 在多个数据集上显著优于开源模型和领先的闭源模型(如 GPT-4o、Gemini Math-Specialized 1.5 Pro)。特别是在具有挑战性的 AMC 2023 中,借助 RM 的帮助,Qwen2.5-Math-72B-Instruct 成功解决了几乎所有问题。Qwen2.5-Math-7B-Instruct 的性能超过了 Qwen2-Math-72B-Instruct,在 CoT 和 TIR 设置下,分别达到了 83.6 和 85.3 的 MATH 评分。即使是 1.5B 的小型模型,在使用 Python 解释器的情况下,MATH 评分也达到了约 80,超过了当前领域内的大多数模型。
Qwen2.5-Math 系列的基模型、指令模型和奖励模型已在 Hugging Face 和 ModelScope 上发布,评估脚本也在 GitHub 上提供。此外,还开发了一个支持 TIR 模式的 Qwen-Agent 演示,允许在本地运行代码,体验 Qwen2.5-Math 的工具集成推理能力。
二、自提升技术的应用
在过去的一年中,投入了大量精力研究和提升大型语言模型的推理能力,特别是其解决算术和数学问题的能力。在本报告中,介绍了一系列专门用于数学的大型语言模型:Qwen2.5-Math、Qwen2.5-Math-RM 和 Qwen2.5-Math-Instruct-1.5B/7B/72B。为了全面理解 Qwen2.5-Math 的技术发展,还提供了其前身 Qwen2-Math 的详细概述。
自提升技术是在 Qwen2.5-Math 模型开发中应用的关键技术之一。这些技术利用大型语言模型自身的监督(Cao 等,2024)。具体来说,在 Qwen2.5-Math 的训练过程中从三个方面应用了自提升技术。
预训练阶段
在预训练阶段,使用 Qwen2-Math-Instruct 来大规模生成数学查询及其对应的响应,以丰富 Qwen2.5-Math 的预训练语料库。这一过程不仅增加了语料库的多样性,还提高了模型在数学问题上的理解和推理能力。
后训练阶段
在后训练阶段,从之前的模型中大量采样,训练一个奖励模型,并将其应用于监督微调的迭代数据演化中。通过这一过程,训练出了更强大的数学模型,进而构建了一个更稳健的奖励模型 Qwen2.5-Math-RM。这个奖励模型在强化学习和推理阶段的 best-of-N 采样中发挥重要作用。
强化学习和推理阶段
在强化学习阶段,利用 Qwen2.5-Math-RM 进行 Group Relative Policy Optimization (GRPO)。GRPO 方法在监督微调之后使用,进一步优化了模型的性能。在推理阶段,利用 Qwen2.5-Math-RM 进行 best-of-N 采样,确保模型在生成数学问题解答时的准确性和可靠性。
总体开发流程
Qwen2-Math和Qwen2.5-Math的整体开发流程如图2所示。具体步骤如下:
-
基础模型训练:首先,Qwen2-Math基础模型在高质量的数学预训练数据集Qwen Math Corpus v1上进行训练,该数据集包含约7000亿个标记。
-
奖励模型训练:其次,基于Qwen2-Math-72B训练了一个数学专用的奖励模型Qwen2-Math-RM,用于构建Qwen2-Math-Instruct模型。这个奖励模型通过拒绝采样(Yuan et al., 2023)构建监督微调(SFT)数据,并在强化学习阶段使用组相对策略优化(GRPO)(Shao et al., 2024)。
-
合成数据生成:然后,利用Qwen2-Math-72B-Instruct模型生成额外的高质量数学预训练数据,作为Qwen Math Corpus v2的基础。更新后的语料库包含超过1万亿个标记,用于Qwen2.5-Math模型的预训练。
-
奖励模型和指令模型构建:最后,类似于Qwen2-Math-Instruct模型的构建过程,构建了Qwen2.5-Math-RM和Qwen2.5-Math-Instruct模型。在这个阶段的一个重要区别是,训练Qwen2.5-Math-Instruct模型时包含了英语和中文的Chain-of-Thought(CoT)推理数据,以及Tool-Integrated Reasoning(TIR)数据,而不仅仅是英语CoT数据。
三、Qwen2.5-Math预训练
数据收集与筛选
在构建Qwen Math Corpus v1之前,观察到通用语言模型在数学推理方面表现不佳,主要原因是预训练过程中数学数据的不足。现有的研究已经明确展示了从数字数据库中提取大量数学文本的重要性。初步策略是从网络资源(如Common Crawl)中召回数学数据,以增加数据量。具体来说,使用FastText分类器,利用高质量的数学种子数据和普通文本数据进行训练,并通过每次迭代加入更多的数学数据来持续提升分类器的性能。为了识别语料库池中缺失的数学相关数据,利用召回数据的元信息(如URL)来扩展数学数据的检索池。随后,使用MinHash等去重技术来过滤相似的数学文档。
数据质量提升
在收集了大量数学数据后,专注于提升数据质量。为此,实施了一种基于语言模型的过滤技术来进一步精选数据集。具体来说,使用Qwen2-0.5B-Instruct模型,通过提示工程来评估潜在数据条目的质量。得分较高的数据(即根据语言模型质量较高的数据)被优先纳入最终数据集。除了召回多样化的数学文档和过滤低质量数据外,还借鉴了先前在生成合成数学数据方面的努力(如Yue等,2024;Zhou等,2024)。使用Qwen2-72B-Instruct模型来合成大量的数学预训练语料库。在这个阶段,已经收集的高质量数学数据被用作参考材料。使用Qwen2-72B-Instruct模型:
- 从这些参考材料中提取和精炼现有的数学问题-答案数据
- 直接生成新的数学问题-答案对。
数据混合与模型预训练
在最终阶段,使用一个小规模的数学专用语言模型Qwen2-Math-1.5B进行数据混合的消融研究。基于这些研究结果,构建了Qwen Math Corpus v1,总共有7000亿个标记。使用Qwen2-1.5B/7B/72B基础模型的中间检查点初始化Qwen2-Math-1.5B/7B/72B的预训练。这些模型在Qwen Math Corpus v1上以4K的上下文长度进行持续预训练。
Qwen2.5-Math模型升级
完成Qwen2-Math基础模型的预训练后,通过三个主要途径进一步升级这些模型:
- 使用Qwen2-Math-72B-Instruct模型来合成额外的高质量数学预训练数据。
- 汇聚更多高质量的数学数据,特别是中文数据,这些数据来自多个召回周期的网络文档、书籍和代码库。通过这些努力,编译了Qwen Math Corpus v2用于Qwen2.5-Math-1.5B/7B/72B的预训练,同时保持4K的上下文长度。与Qwen Math Corpus v1相比,Qwen Math Corpus v2的总标记数从7000亿增加到超过1万亿。
- 不使用Qwen2系列模型初始化,而是使用Qwen2.5系列基础模型进行参数初始化,因为它们在语言理解、代码生成和文本推理方面表现出更强的能力。Qwen2.5-Math模型在Qwen Math Corpus v2上以类似的数学预训练设置进行持续预训练。得益于数据集和基础模型的改进,Qwen2.5-Math模型在数学推理能力方面取得了进一步的提升,超越了Qwen2-Math。
四、Qwen2.5-Math后训练
Qwen2.5-Math后训练概述
在完成了广泛的数学预训练之后,继续进行后训练,以进一步增强Qwen-Math的数学逻辑推理能力,特别是集中在Chain-of-Thought (CoT) 和 Tool-Integrated Reasoning (TIR) 上。的研究重点集中在两个关键挑战上:
- 如何自动生成大量高质量且可靠的CoT和TIR注释;
- 如何有效地利用这些注释进行监督微调和强化学习。
生成高质量CoT和TIR注释
为了生成大量高质量的CoT和TIR注释,采取了以下方法:
1. 自动生成注释:
-
Chain-of-Thought (CoT) 注释:利用Qwen2.5-Math-72B-Instruct模型生成高质量的CoT注释。该模型经过多次迭代训练,能够生成详细的解题步骤和推理过程,确保注释的准确性和可靠性。
-
Tool-Integrated Reasoning (TIR) 注释:通过集成Python解释器等工具,生成包含工具使用过程的TIR注释。这些注释不仅包括解题步骤,还详细记录了使用工具的具体操作和结果,进一步提高了解题的准确性和效率。
2. 人工审核和校正:
- 生成的注释会经过人工审核和校正,确保其质量和准确性。采用多轮审核机制,确保每个注释都经过多次审查,以减少错误和不一致。
利用注释进行微调和强化学习
1. 监督微调:
- 数据准备:将生成的CoT和TIR注释与原始训练数据结合,形成一个高质量的微调数据集。
- 微调过程:使用这个数据集对Qwen2.5-Math模型进行监督微调。通过优化损失函数,模型能够更好地理解和生成高质量的解题步骤和工具使用过程。
2. 强化学习:
- 环境设置:设置了一个强化学习环境,其中模型通过与环境互动来学习如何更有效地解决问题。环境提供即时反馈,帮助模型调整其策略。
- 奖励机制:设计了一套奖励机制,根据模型生成的解题步骤和工具使用过程的准确性、完整性和效率来分配奖励。这有助于模型学习更优的解题策略。
监督微调
目标是使 Qwen-Math 在两个核心能力上表现出色:通过逐步自然语言推理解决数学问题,以及利用外部工具(如 Python 解释器)解决复杂的数学或算法推理任务。为此,构建了专门的链式思维(Chain-of-Though,CoT)和工具集成推理(Tool-integrated Reasoning,TIR)数据集,并将这些数据集联合训练。所有模型均训练 3 个 epoch,序列长度为 4,096 个 token。对于 720 亿参数的模型,使用 256 的批量大小和 的学习率。对于 15 亿和 70 亿参数的模型,设置批量大小为 128,学习率为。在训练过程中,学习率逐渐衰减至最终值 。
链式思维数据合成
查询构建
链式思维数据集包含 58 万个英文和 50 万个中文数学问题,包括标注和合成的问题。标注问题来源于 GSM8K、MATH 和 NuminaMath 等知名数据集。为了增强 Qwen2.5-Math 的中文推理能力,还从独家 K-12 问题集合中添加了更多的中文数学问题。合成问题通过 MuggleMath 方法从标注问题演变而来。为了保持问题复杂度的平衡分布,使用难度评分模型对问题集进行有效分类。
响应构建
采用迭代方法,通过奖励建模和标注答案引导的拒绝采样逐步提高响应质量。在每次迭代中,当前最佳模型生成多个给定问题的推理路径,扩展候选解决方案池。对于有标注答案的问题,从池中选择最终答案正确的前 k 个推理路径。对于没有明确答案的合成问题,实施加权多数投票机制,推断最可能正确的推理路径。从这些路径中,选择奖励得分最高的前 k 个路径。在 Qwen2.5-Math 的开发中,使用 Qwen2-Math-Instruct 模型进行额外的迭代,以进一步提高响应质量。最终的 CoT 训练集包含 200 万个英文样本和 50 万个中文样本。
工具集成推理数据合成
查询构建
工具集成推理数据集包含 19 万个标注问题和 20.5 万个合成问题。标注问题来源于 GSM8K、MATH、CollegeMath 和 NuminaMath 等知名基准数据集。合成问题通过 MuggleMath 和 DotaMath 技术在 GSM8K 和 MATH 训练集内生成。此外,使用 Qwen2-72B 模型(Yang 等,2024)将 7.5 万个标注问题翻译成中文,以增强模型的中文推理能力。
响应构建
对于标注问题,采用在线拒绝微调方法迭代生成工具集成推理路径,使其最终答案与参考答案一致。在每次 RFT 迭代中,使用当前最佳模型在不同温度下进行多次核采样,对于特别具有挑战性的问题增加样本量。每次迭代后,为了增强数据多样性,对响应进行去重处理,生成的清洁数据集用于后续训练。
奖励模型训练
数据合成
在Qwen2-Math-RM的开发过程中,使用了206K个英文数学问题,每个问题配以6个候选响应,这些响应是从Qwen2-Math的中间版本中采样的。对于Qwen2.5-Math-RM,进一步扩展了其对中文和TIR模式的支持,使用了361K个英文和257K个中文数学问题,每个问题同样配以6个响应,这些响应是从Qwen2.5-Math中采样的。这一扩展确保了Qwen2.5-Math-RM能够为更广泛的问题类型和语言提供监督反馈。
为了在响应之间建立偏好信号,检查每个响应的最终答案以确定其正确性。正确答案的响应被标记为正样本,而错误答案的响应被标记为负样本,从而自然地创建了响应之间的排序关系。过滤掉所有响应都是正确或错误的情况。为了避免只保留过于简单数据的潜在缺点,通过从不同版本和大小的模型中添加响应来丰富数据集。这一策略确保了查询难度的更平衡分布,并保持正负样本的均匀比例。
训练策略
从监督微调模型初始化奖励模型。在架构上,将原本用于下一个标记预测的语言模型头替换为一个标量值头,该标量值头由两个线性层组成。如前所述,奖励模型训练数据集中的每个查询配以6个响应,包括正样本和负样本。如果有k个正样本响应,则其余的个为负样本。根据Ouyang等人的方法,奖励模型的损失函数可以表示为:
这里, 表示奖励模型的输出,其中 代表问题, 是相应的响应。采用列表方式直接计算有效对的排序损失,而不是将这些对分解为多个单独的对并逐对计算损失。这种方法提高了训练效率和效果。
强化学习
在QWEN2.5-MATH模型的训练过程中,采用了强化学习(Reinforcement Learning, RL)方法来提升模型的数学能力。通过从大量的数学问题和解答中学习,模型能够逐渐提高其解决数学问题的准确性和效率。为了确保训练的有效性,对训练数据进行了筛选,保留了66K个查询用于训练,这些查询包含的问题是模型目前尚未完全掌握的。
Group Relative Policy Optimization (GRPO)
GRPO是一种专门为大型语言模型设计的强化学习方法。与传统的PPO方法不同,GRPO不需要额外的价值函数近似。GRPO通过计算一组采样输出的平均奖励作为基线,来计算每个输出的优势值。GRPO的目标函数定义如下:
其中,$ \pi_i,t} = \pi(o_{i,t}q, o_{<t) , G 是每组响应的数量, \pi_{\text{ref}} 、 \pi^\theta\ 和 \pi_{\text{old}} 分别是参考模型、训练模型和采样模型。 q 和 {o_i}_{i=1}^G 是训练中的问题和生成的响应集。每个响应的优势值 \hat{A}_i $计算公式为:
然后,这个序列级别的优势值被应用于每个响应中的每个token,即。
奖励塑形
结合了规则验证器和奖励模型的奖励来塑造整体的奖励信号。规则验证器从每个响应中提取潜在答案,并将其与标准答案进行比较。假设奖励模型的输出为,规则验证器的稀疏奖励为,整体奖励计算公式如下:
其中,在所有实验中设置为0.5。这种奖励塑形机制确保了正确响应始终获得比错误响应更高的整体奖励。在正确和错误的响应组内,响应根据奖励模型的分数进行排序,特别是在难样本中。
实现
的实验基于开源的RLHF框架ChatLearn5实现。规则验证器的核心实现与在评估中使用的类似。不同参数规模的策略模型使用相同的奖励模型进行训练。对每个查询采样32个响应。将一个查询和响应对视为一个样本,训练7B和72B模型时,每个episode的样本数量分别为4,096和2,048。所有模型的全局批量大小为512。7B和72B模型的学习率分别为和。所有训练中的KL系数为。在工具集成推理的强化学习中,屏蔽了Python执行器提供的所有输出token。
五、去污染
去污染对于确保模型性能评估的无偏性至关重要。采用了13-gram匹配的方法来排除潜在的污染训练样本。为了提高匹配的准确性,进行了文本规范化,去除了无关的标点和符号。为了进一步减少假阴性,特别是对于常见的数学表达式,引入了额外的准则:最长公共子序列的比值必须超过0.6,样本才被视为污染。对于预训练数据,使用GSM8K和MATH等数据集进行过滤。对于后训练数据,包括SFT数据、RM训练数据和RL查询集,排除了所有报告的评估数据集中潜在污染的问题和解决方案。这些评估数据集包括GSM8K、MATH、Minerva Math、Gaokao 2023 En、Olympiad Bench和College Math。
六、未来展望
在Qwen2.5-Math系列模型的开发过程中,不仅实现了模型在数学推理能力上的显著提升,还通过自我改进的哲学贯穿了整个训练和推理过程。未来,希望这些进步能够继续推动Qwen模型的整体能力,使更接近实现通用人工智能的目标。
模型的持续优化
1. 数据生成与质量提升:
- 在预训练阶段,利用Qwen2-Math-Instruct生成大规模、高质量的数学数据。未来,将继续优化数据生成机制,进一步提高数据的质量和多样性。
- 通过更多的数据来源和更复杂的生成算法,期望能够生成更多样化、更具有挑战性的数学问题,从而进一步提升模型的泛化能力。
2. 奖励模型的迭代与改进:
- 在后训练阶段,通过大规模采样生成奖励模型(RM),并将其应用于监督微调(SFT)的数据迭代。未来,将进一步优化RM的训练过程,提升其对高质量数据的识别能力。
- 通过更精细的迭代过程,期望RM能够更有效地指导SFT数据的生成,从而进一步提升模型的性能。
3. 推理阶段的优化:
- 在推理阶段,利用RM指导采样,优化模型的性能。未来,将继续探索更高效的采样策略,进一步提高模型在实际应用场景中的表现。
- 通过结合更多的推理技术和工具,如链式思维(CoT)和工具集成推理(TIR),期望模型能够更灵活地处理复杂的数学问题。
模型的多语言支持
- Qwen2.5-Math-Instruct支持中文和英文,具备先进的数学推理能力。未来,计划进一步扩展其多语言支持,使其能够处理更多语言的数学问题。
- 通过多语言数据的整合和优化,期望模型能够在更多语言环境下表现出色,为全球用户提供更优质的服务。
社区贡献与合作
-
将Qwen2.5-Math系列模型的基模型、指导模型和奖励模型发布在Hugging Face和ModelScope上,评估脚本发布在GitHub上。未来,希望更多的研究者和开发者能够参与到Qwen2.5-Math的开发和优化中来。
-
通过开放源代码和模型,期望能够促进社区的交流和合作,共同推动数学模型的发展。
实际应用的拓展
-
除了在数学竞赛和学术研究中的应用,Qwen2.5-Math还具有广泛的实际应用潜力。未来,计划将其应用于更多的实际场景,如教育、科研、金融等领域。
-
通过与实际应用场景的结合,期望Qwen2.5-Math能够更好地服务于社会,解决更多实际问题。
结论
通过不断的技术创新和自我改进,Qwen2.5-Math系列模型已经取得了显著的进展。未来,希望这些进步能够继续推动Qwen模型的整体能力,使更接近实现通用人工智能的目标。
七、最后分享
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源
,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享
!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 2024行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码
,免费领取【保证100%免费
】