大模型在复杂的数学推理任务中的方法主要集中在多步推理(CoT),即通过逻辑结构和任务特定动作实现多步推理。但是随着推理步骤的增加,多步推理的方法变得难以管理,并且对计算资源的需求也大幅增加。这不仅影响了推理的效率,也限制了大模型在处理更复杂的推理任务时的能力。
多步推理的局限性主要体现在两个方面。首先推理步骤的增多会导致累积误差或“幻觉”,即模型在某一步骤中产生错误,且该错误在后续步骤中得不到纠正,反而会放大。其次,多步推理涉及处理大量的推理痕迹,这对计算资源提出了更高的要求,推理过程变得低效且难以管理。
为了应对这些问题,阿里巴巴通义实验室提出了一种新的框架——思维马尔可夫链(Markov Chain of Thought,MCoT)。这一方法受到人类认知逻辑“推导然后简化”的启发,将多步推理简化为一系列较简单的问题,逐步推导出最终答案。与传统的多步推理不同,MCoT将每一步推理视为一个状态转换过程,并且在简化问题后清除上下文缓存,从而支持更长的推理路径。这不仅提高了推理的效率,还减少了对计算资源的依赖。他们的技术论文《Markov Chain of Thought for Efficient Mathematical Reasoning》10 月 24 日发表于arXiv,引起广泛关注。
通义实验室的研究团队由Wen Yang、Kai Fan和Minpeng Liao组成,他们研究的主要主题是通过思维马尔可夫链(MCoT)提高大模型在数学推理中的效率。这一团队在数学推理领域有着深厚的研究背景,并专注于探索如何通过推导和简化技术提升模型的推理能力。
通过引入MCoT框架,研究团队展示了如何在不依赖长KV缓存的情况下,实现更高效的推理过程。这一创新不仅在数学推理任务中表现出色,也为探索大模型的长CoT推理能力开辟了新路径。实验结果表明,MCoT在效率上有显著提升,同时保持与传统多步推理相当的准确性。虽然MCoT仍有一些需要改进的地方,但其在推理效率和资源使用上的优势为未来的研究提供了宝贵的参考。
思维马尔可夫链推理框架
马尔可夫思维链(MCoT)是一种创新的方法,通过将传统的多步推理简化为一系列独立的状态转换过程,大幅提升大模型(LLM)在数学推理中的效率。MCoT的核心理念是通过“推导然后简化”的逻辑,逐步将复杂问题分解为一系列较为简单的子问题。这种方法不仅减少了对长上下文的依赖,也显著提高了推理的效率和准确性。
MCoT的基本思想是将多步推理过程视为马尔可夫链中的状态转换。在这个框架中,初始问题被表示为一个特定的状态,每一个推导步骤作为一个相关的动作,这些动作使问题逐渐简化,直至最终得到答案。每一步的推导仅依赖于当前的状态,而不依赖于之前的推导步骤,这正是马尔可夫性质“无记忆性”的体现。通过这种方式,MCoT能够避免由于长上下文导致的累积错误或计算资源的过度消耗。
图1:MCoT和多步推理(MSR)之间的推理效率比较,显示了随着推理步骤数量的增加,这两种方法相对于步骤1的推理时间成本的变化。
在具体实现中,MCoT将每一个推理步骤定义为一个文本和一个Python代码片段,并通过与代码解释器的交互实现自我纠错。研究团队设计了一个名为MCoTInstruct的数据集,包含了由GPT-4注释的多步推理解决方案。通过训练一个模型来生成并验证多步推理样本,确保新生成的问题符合预期答案,然后逐步更新和扩展数据集。
简化技术的应用主要体现在将多步推理过程中的历史问题和解决方案压缩为独立的问题,从而提高推理的效率。这种方法使得MCoT能够处理更长的推理路径,而不会线性或平方地增加时间或内存需求。
图2:数学推理的两种推理格式示例。
与传统的多步推理方法相比,MCoT具有显著的优势。传统的多步推理需要处理大量的推理痕迹,这不仅对计算资源提出了更高的要求,还容易引发累积误差和“幻觉”。随着推理步骤的增加,传统方法的效率和准确性会逐渐下降。而MCoT通过推导和简化技术,在保持推理准确性的同时,大幅提升了效率。
实验结果表明,MCoT在各种数学推理任务中表现出色,显著优于现有的多步推理方法。尤其是在处理复杂的推理任务时,MCoT展现了其卓越的性能和资源利用效率。
MCoTInstruct数据集的构建
为了验证和提升思维马尔可夫链(MCoT)的有效性,研究团队构建了一个名为MCoTInstruct的数据集。这个数据集的构建过程是MCoT框架中一个至关重要的步骤,它确保了模型能够在不同类型和复杂度的问题上进行高效推理。
数据集来源及初始数据集Dorigin
MCoTInstruct数据集的构建始于现有的多步推理数据集Dorigin。Dorigin的数据主要来源于两个著名的数学推理数据集:GSM8K和MATH。GSM8K数据集包含了大量基于数学问题的多步推理路径,而MATH数据集则涵盖了各种数学领域的问题。这些数据集通过GPT-4的注释进一步优化和扩展,确保了数据的准确性和多样性。
种子数据(Dseed)和自蒸馏数据(Dself)的生成过程
在数据集的构建过程中,研究团队首先从Dorigin中提取了基础的种子数据(Dseed)。这一过程通过训练一个验证模型(Mverify)来完成。Mverify模型被用来生成和验证多步推理样本,确保新生成的问题符合预期答案。
具体步骤如下:对于每一个包含多步推理路径的实例,如果推理路径只有一步,则直接将其添加到种子数据集中。如果推理路径超过一步,利用GPT-4生成缩减问题,并通过Mverify验证其正确性。如果验证成功,则将其加入种子数据集,同时生成新的多步推理路径,以此更新原始数据集。
在生成种子数据之后,团队通过自蒸馏的方式进一步扩展数据集。自蒸馏数据(Dself)的生成是通过初始模型MCoTModel-initial来完成的。该模型在种子数据上进行微调,并用于生成新的MCoT推理路径,从而大幅提升数据集的覆盖范围和多样性。
数据集的格式和特性
最终的MCoTInstruct数据集包括种子数据(Dseed)和自蒸馏数据(Dself),并经过去重处理。数据集包含了82k条马尔可夫链,共约160k条逐步推理的条目。这些数据条目以三元组的形式存在,即每个推理步骤包括问题(qt−1)、推导步骤(st−1)和简化后的新问题(qt)。这种结构化的数据格式使得模型可以更高效地进行推理训练和测试。
通过这样的数据集构建过程,MCoTInstruct不仅包含了广泛的数学推理路径,还确保了数据的质量和多样性,为MCoT框架在实际应用中的高效表现提供了坚实的基础。
实验设置与评估方法
为了验证思维马尔可夫链(MCoT)在数学推理中的有效性,研究团队进行了详细的实验设置和评估。通过微调不同的基模型并选择多样化的评估数据集,全面评估了MCoT的推理效率和准确性。
微调的基模型介绍
此次研究中,团队微调了几种不同的基模型,包括DeepSeekMath-Base、LLemma和LLama3系列。这些模型的规模从7B到70B不等,涵盖了从小到大各种规模的模型,确保评估结果的全面性和代表性。
DeepSeekMath-Base:这是一个强大的数学推理基模型,专为处理复杂的数学问题而设计。
LLemma:另一个具有较高推理能力的基模型,特别擅长处理多步推理任务。
LLama3:由Meta AI团队开发的一系列模型,这次研究中使用了8B和70B两个版本,展示了模型规模对推理性能的影响。
选择的评估数据集
为了全面评估模型的性能,团队选择了多个不同领域的评估数据集,涵盖了域内和域外的数学问题。
域内测试集:包括GSM8K和MATH数据集。GSM8K数据集包含大量数学推理问题,是一个常用的基准数据集;MATH数据集涵盖了更广泛的数学领域问题,进一步验证模型在不同数学主题上的表现。
域外测试集:选择了OCWCourses和GaoKao2023-Math-En数据集。OCWCourses数据集基于开放课程资源,包含复杂的数学问题;GaoKao2023-Math-En数据集则基于中国高考数学题,测试模型在不同文化背景下的适应性。
推理效率和准确性的评估指标
评估模型性能时,研究团队主要关注两个方面:推理效率和推理准确性。
推理效率:通过测量每个样本在推理过程中缓存的GPU内存平均使用量以及每步平均解码时间E来衡量。在推理效率的评估中,平均解码时间越短、缓存GPU内存使用量越低,说明模型的效率越高。
推理准确性:使用数学评估工具包进行评估,衡量模型在不同数据集上的准确性。推理准确性越高,说明模型能够更好地处理复杂的数学问题。
通过这些详细的实验设置和全面的评估方法,研究团队不仅验证了MCoT框架在提升推理效率和准确性方面的优势,还展示了其在不同模型和数据集上的广泛适应性。
主要实验结果
在不同基模型上测试MCoT框架后,实验结果显示其在推理准确性上有显著提升。通过在GSM8K和MATH等数据集上进行测试,MCoT显著提高了模型的推理能力。例如,使用MCoT-DeepSeek模型,在GSM8K数据集上的准确率提高了约12%,在MATH数据集上的准确率提升了24%。这些数据表明,MCoT框架不仅在处理简单问题时表现出色,在面对复杂的数学推理任务时同样具有较高的准确性。
推理效率的改进
除了准确性,MCoT在推理效率上也表现出了明显的优势。在推理过程中,传统多步推理方法(MSR)通常需要处理大量的历史上下文,导致计算资源的高需求和推理时间的增加。而MCoT通过将多步推理简化为独立的状态转换,不仅减少了计算资源的使用,还显著降低了推理时间。具体而言,实验数据显示,在推导阶段MCoT的平均token长度低于128个token,而在简化阶段则低于512个token。这意味着,MCoT在处理复杂的数学推理问题时,仅需使用512-token的上下文窗口,显著减少了内存和计算需求。相比之下,MSR在第七步时的平均token长度超过2048个,内存和计算需求随着推理步骤的增加而显著提升。
基于不同基模型和模型规模的效果分析
图3:MCoT和MSR在训练集和测试集上的令牌长度比较。
为了验证MCoT在不同基模型和模型规模上的适应性,研究团队测试了DeepSeek、LLemma和LLama3系列模型。这些模型的规模从7B到70B不等,涵盖了从小到大各种规模。实验结果表明,MCoT在所有模型上均优于传统多步推理方法,无论是在准确性还是在效率上。尤其是在规模较大的模型上,MCoT表现出更显著的优势。例如,使用Llama3 70B模型时,MCoT在各种基准上的表现均优于MSR,推理效率提高了1.90倍,推理准确性也有显著提升。
综合来看,MCoT框架不仅在处理复杂数学推理任务时表现出色,而且在不同基模型和模型规模上的广泛适应性,使其成为提升大模型推理能力的有力工具。
问题解决能力分析
在不同难度和科目的数学推理任务中,思维马尔可夫链(MCoT)展现了其卓越的性能。通过对MATH测试集的分析,MCoT在处理各类问题时均表现出了较高的成功率,尤其是在面对更具挑战性的问题时更是如此。这种优异表现归因于MCoT独特的训练方法,其强调推导和简化的技巧,而非仅依赖于从问题到答案的完整推理路径。这种方法不仅提高了模型的泛化能力,还增强了其自主和迭代解决问题的能力。
具体而言,在不同难度级别的问题上,MCoT的表现远超传统的多步推理方法(MSR)。例如,在复杂的高难度问题上,MCoT的成功率显著高于MSR,这表明MCoT在处理复杂逻辑和推理任务时具有明显的优势。此外,在各种数学科目中,MCoT始终表现出色,不仅能够有效处理几何、代数等传统数学领域的问题,还在离散数学和概率统计等高级数学领域中展现了强大的推理能力。
对比MSR在问题解决上的优势,MCoT的优势主要体现在以下几个方面。首先,由于MCoT通过将多步推理过程简化为一系列独立的状态转换,从而避免了传统方法中常见的累积误差问题。其次,MCoT在推理过程中对计算资源的需求显著降低,使得推理效率大幅提升。这不仅提高了模型的响应速度,还减少了对硬件资源的依赖。最后,MCoT的自我纠错能力也为其在复杂推理任务中的表现提供了有力支持,通过不断地推导和简化,模型能够在每一步纠正可能出现的错误,从而提高最终答案的准确性。
总体来看,MCoT在解决不同难度和科目的数学问题时表现出色,显著优于传统多步推理方法。其在提高推理准确性和效率方面的优势,使其成为处理复杂推理任务的强大工具。
混合训练策略的探索
在MCoT框架下,研究团队还探索了混合训练策略,以期进一步提升模型的性能。由于MCoT模型最初并未在完整的解决方案数据集上进行训练,因此在独立生成完整解决方案时存在一定局限性。为了克服这一挑战,团队提出了一种混合训练方法,部分暴露模型于完整解决方案数据,以评估其性能改进情况。
图4:MCoT和MSR在MATH测试集上的问题解决比较,以Llemma7B为基础模型。
混合训练方法的核心在于先对模型进行预热训练,然后在MCoTInstruct数据集上继续训练。具体而言,研究团队使用DeepSeekMath-Base-7B模型,首先在GSM8K和MATH数据集上进行两轮的多步推理数据集训练,这一过程被称为预热训练。预热训练完成后,模型会接触包含完整推理路径的数据,然后在MCoTInstruct数据集上进行进一步训练。这种策略旨在让模型先熟悉多步推理的复杂性,再通过MCoT的推导和简化方法提高其推理效率和准确性。
为了评估混合训练策略的效果,研究团队分别在域内数据集(GSM8K和MATH)和域外数据集(OCWCourses和GaoKao2023-Math-En)上进行了性能测试。结果显示,混合训练在域内数据集上的表现有所提升。例如,在GSM8K数据集上的准确率从78.8%提升到了79.3%,而在MATH数据集上的准确率从55.8%提升到了56.6%。
然而,在域外数据集上的表现却不如直接使用MCoT训练。这可能是由于包含完整解决方案数据导致过拟合,使得模型在面对未见过的域外数据时,泛化能力有所下降。例如,在OCWCourses数据集上的准确率从31.6%下降到了29.4%,而在GaoKao2023-Math-En数据集上的准确率从41.3%下降到了39.5%。这些结果表明,混合训练策略在提高域内数据集表现的同时,可能会影响模型的泛化能力。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。