【收藏】推理大语言模型(LLM)完全指南:思维链、训练与测试计算详解

前言

什么是推理大语言模型 (LLM)?

与常规 LLM 相比,推理 LLM 倾向于在回答给定问题之前将问题分解为更小的步骤(通常称为推理步骤或思维过程)。

那么“思维过程”、“推理步骤”或“思路链”实际上是什么意思呢?

尽管我们可以思考推理大语言模型(LLM)是否真的能够像人类一样思考。还是仅仅把这些推理步骤将过程分解为更小的结构化推理。

换句话说,推理大语言模型(LLM)不是学习“回答什么”,而是学习“如何”回答!

为了理解推理大语言模型(LLM)如何创建的,我们首先探索从关注扩展训练(训练时间计算)到推理(测试时间计算)的范式转变。

什么是训练时间计算?

到 2024 年上半年,为了提高 LLM 在预训练期间的性能,开发人员通常会增加以下参数,以便增加模型规模:

  • 模型(参数数量)
  • 数据集(标记数量)
  • 计算( FLOP数量)

总的来说,这些预训练数据是“人工智能的化石燃料”。本质上,预训练数据越大,最终的模型就越好。

训练时计算可能包括训练期间和微调期间所需的计算。

他们共同致力于提高推理大语言模型(LLM)的最终效果。

缩放定律

通过各种缩放定律来研究模型的规模(通过计算、数据集大小和模型大小)与模型性能之间的关系。它们就是所谓的“幂律”,其中一个变量的增加会导致另一个变量(例如性能)的比例变化。

这些定律或多或少表明,模型的性能将随着计算、标记和参数的增加而提高。

“神经语言模型的缩放定律”展示性能如何随着不同的计算量(更长的训练时间、数据集大小和参数大小)而提升

这些定律表明,必须同时扩大这三个因素才能实现最佳性能。

卡普兰缩放定律指出,在计算能力固定的情况下,扩展模型规模通常比扩展数据更有效。相比之下,钦奇利亚缩放定律则认为模型规模和数据同等重要。

然而,在整个 2024 年,计算量、数据集大小和模型参数稳步增长,但收益却呈现递减趋势。

正如这些幂律一样,随着规模的扩大,收益会递减。

这就引出了一个问题:

“我们遇到瓶颈了吗?”

什么是测试时计算?

增加训练时间计算的成本高昂,这导致人们对另一个焦点,即测试时间计算,产生了兴趣。

测试时间计算不是不断增加预训练预算,而是允许模型在推理过程中“思考更长时间” 。

对于非推理模型,它通常只会输出答案并跳过任何“推理”步骤:

然而,推理模型会使用更多的标记,通过系统的“思考”过程来得出答案:

其理念是,LLM 必须消耗资源(例如 VRAM 计算)来生成答案。但是,如果所有计算都用于生成答案,效率就有点低了!相反,通过预先创建更多包含附加信息、关系和新想法的标记,模型花费更多的计算来生成最终答案。

缩放定律

与训练时计算相比,测试时计算的扩展规律相对较新。值得注意的是,有两个有趣的资料将测试时计算扩展与训练时计算联系起来。首先, OpenAI 的一篇文章展示了测试时间计算实际上可能遵循与扩展训练时间计算相同的趋势。

“学习使用法学硕士进行推理”。红色虚线是为了演示 OpenAI 提出的新范式可能是测试时计算。

由于这仍然是一个新领域,因此可能会发生向扩展测试时间计算的范式转变。

一篇有趣的论文,名为“用棋盘游戏来扩展缩放定律”,探索AlphaZero并训练它进行不同程度的计算以玩 Hex游戏。

“用棋盘游戏扩展缩放定律”。它展示了他们如何构建不同程度的训练时间计算和测试时间计算

他们的结果表明,训练时间计算量和测试时间计算量紧密相关。每条虚线分别代表特定 ELO 分数所需的最小计算量。

“用棋盘游戏扩展缩放定律”。它展示了训练时间计算和测试时间计算之间的关系

随着测试时间计算(如训练时间计算)的扩展,范式转变正在向使用更多测试时间计算的“推理”模型转变。

通过这种范式转变,这些“推理”模型不再单纯关注训练时间计算(预训练和微调),而是在训练和推理之间取得平衡。

测试时间计算甚至可以延长:

测试时间计算的类别

DeepSeek R-1 和 OpenAI o1 等推理模型的巨大成功表明,除了简单地思考“更长远”之外,还有更多的技术。测试时计算可以是许多不同的东西,包括思路链、修改答案、回溯、采样等等。

这些可以大致分为两类:

  1. 针对验证者进行搜索(抽样生成并选择最佳答案)
  2. 修改提案分布(训练“思考”过程)

因此,针对验证者的搜索是以输出为中心的,而修改提议分布是以输入为中心的。

我们将探讨两种类型的验证器:

  1. 结果奖励模型(ORM)
  2. 过程奖励模型(PRM)

正如其名称所暗示的,ORM 只判断结果,并不关心底层过程:

相比之下,PRM 还会判断导致结果的过程(“推理”):

为了使这些推理步骤更加明确

搜索验证者

测试时计算的第一个主要类别是针对验证器进行搜索。这通常涉及两个步骤。

  1. 首先,创建多个推理过程和答案的样本。
  2. 其次,验证者(奖励模型)对生成的输出进行评分

验证者通常是 LLM,经过微调以判断结果(ORM)或过程(PRM)。

使用验证器的一个主要优点是不需要重新训练或微调用于回答问题的 LLM。

多数表决

最直接的方法其实不是使用奖励模型或验证器,而是进行多数投票。

我们让模型生成多个答案,生成次数最多的答案将成为最终答案。

这种方法也称为自洽性,以此来强调生成多个答案和推理步骤的必要性。

最佳 N 个样本

第一种涉及验证器的方法称为 Best-of-N 样本。该技术生成 N 个样本,然后使用验证器(结果奖励模型)来判断每个答案:

首先,LLM(通常称为提议者)使用不同参数生成多个答案。

其次,每个答案都会经过输出奖励模型(ORM)的测试,并根据答案的质量进行评分。得分最高的答案将被选中:

除了判断答案之外,推理过程还可以通过过程奖励模型(PRM)来判断,该模型会判断每个推理步骤的质量。它会选择总权重最高的候选答案。

对于这两种验证器类型,我们还可以使用 RM 对每个候选答案进行加权,并选出总权重最高的答案。这称为加权 Best-of-N 样本:

带有过程奖励模型的集束搜索

生成答案和中间步骤的过程可以通过集束搜索进一步扩展。集束搜索会采样多个推理步骤,每个步骤都由 PRM(类似于思维树)进行判断。整个过程都会跟踪排名前 3 的“光束”(得分最高的路径)。

这种方法可以快速停止那些没有结果的“推理”路径(PRM 得分较低)。

然后使用我们之前探索过的 Best-of-N 方法对得到的答案进行加权。

蒙特卡洛树搜索

蒙特卡洛树搜索(Monte Carlo Tree Search)是一种提高树搜索效率的好技术。它包含四个步骤:

  1. 选择(根据预先确定的公式选择给定的参数)
  2. 扩展(创建更多节点)
  3. 推出(随机创建新节点,直到到达终点)
  4. 反向传播(根据输出更新父节点分数)

这些步骤的主要目标是不断扩展最佳推理步骤,同时探索其他路径。

因此,这是探索与利用之间的平衡。节点评分和选择方式的示例如下:

因此,当我们选择一个新的推理步骤进行探索时,它不一定是迄今为止表现最佳的路径。

使用这类公式,我们首先选择一个节点(推理步骤),然后通过生成新的推理步骤来扩展它。和之前一样,这可以在temp值相当高且变化的情况下完成:

选择其中一个扩展推理步骤并多次展开,直到得出多个答案。

这些推出可以根据推理步骤(PRM)、奖励(ORM)或两者的组合来判断。

父节点的分数已更新(反向传播),我们可以从选择开始重新开始该过程。

修改提案分配

制作推理 LLM 的第二种方法称为“修改提议分布”。它不再使用验证器(以输出为中心)寻找正确的推理步骤,而是训练模型创建改进的推理步骤(以输入为中心)。

换句话说,对完成/想法/标记进行采样的分布进行了修改。

假设我们有一个问题和一个分布,我们可以从中抽取标记。一个常见的策略是获取得分最高的标记:

但是,请注意,上图中有些标记被标记为红色。这些标记更有可能引发推理过程:

虽然选择贪婪token不一定是错误的,但选择一个能够引发推理过程的token往往会得到更好的答案。当我们修改提议分布(token概率分布)时,我们实际上是让模型对分布进行重新排序,以便更频繁地选择“推理”token:

修改提案分布的方法有很多种,但一般可以分为两类:

  1. 通过提示工程更新提示
  2. 训练模型以关注推理标记/过程

提示工程

通过提示工程,我们尝试通过更新提示来改进输出。这个过程也可能促使模型展现出我们之前看到的一些推理过程。

为了通过提示改变提议分布,我们可以向模型提供示例(上下文学习),模型必须遵循这些示例才能生成类似推理的行为:

只需说“让我们一步一步思考”即可进一步简化此过程。同样,这会改变提案的分布,使得LLM 大语言模型倾向于在回答之前分解流程,进行思考:

然而,模型本身并没有学会遵循这个过程。此外,这是一个静态的线性过程,抑制了自我迭代。如果模型一开始的推理过程是错误的,它往往会保留它,而不是进行修改。

训练

除了提示之外,我们还可以通过训练让模型学习“推理”,使其因完成这些推理步骤而获得奖励。这通常需要大量的推理数据和强化学习来奖励某些行为。

一种备受争议的技术被称为 STaR,即自学推理机. STaR是一种利用LLM自身生成的推理数据作为输入来微调模型的方法。

在第一步中,它会生成推理步骤和答案。如果答案正确 (2a),则将推理和答案添加到三元组训练数据集 (3b)。该数据用于对模型进行监督微调(5):

然而,如果模型给出了错误的答案 (2b),我们会提供一个“提示”(正确答案),并要求模型推理为什么这个答案是正确的 (4b)。最后的推理步骤是将相同的三元组训练数据添加到模型的监督微调中(5):

这里的一个关键要素是我们明确地训练模型以遵循我们向其展示的推理过程。换句话说,我们通过监督微调来决定推理过程应该如何进行。

完整的流程非常有趣,因为它本质上是生成合成训练样本。使用合成训练样本是一种在其他模型中提炼这一推理过程的不可思议的方法。

最后

为什么要学AI大模型

当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!

DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

在这里插入图片描述

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。
在这里插入图片描述
最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

AI大模型系统学习路线

在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

img

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。

AI大模型入门到实战的视频教程+项目包

看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

在这里插入图片描述
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

海量AI大模型必读的经典书籍(PDF)

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
在这里插入图片描述

600+AI大模型报告(实时更新)

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

AI大模型面试真题+答案解析

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
在这里插入图片描述

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值