旺晓通~大语言模型推理能力进化史:从蹒跚学步到智能飞跃
旺晓通:深入浅出解读,轻松通晓技术
大家好,今天咱们来聊一个特别酷的话题——大语言模型的推理能力。现在大语言模型可太火了,像ChatGPT、DeepSeek这些,能写文章、能回答问题、甚至还能帮你写代码。但你有没有想过,它们在推理这件事上,其实还有很大的进步空间。就好比一个学生,语文成绩特别好,作文写得妙笔生花,但数学考试却老是因为逻辑推理题丢分。大语言模型也是这样,在推理能力上存在不少挑战。今天,咱们就深入了解一下,研究者们是怎么想办法提升大语言模型推理能力的。

作者:张长旺,图源:旺知识
一、推理能力有多重要?大语言模型的“成长烦恼”
大语言模型这几年发展得那叫一个迅猛,在自然语言处理领域取得了不少突破。不管是机器翻译,把一种语言流畅地转换成另一种语言;还是文本生成,写小说、写新闻稿都不在话下;又或者是回答问题,对各种奇奇怪怪的问题都能给出回应,这些方面它们都表现得相当出色。可一旦遇到需要系统推理的任务,大语言模型就有点力不从心了。
举个例子,你让大语言模型帮忙分析一个法律案例,根据具体的法律条文和案件细节,推断出合理的判决结果。这时候,它就很容易出现推理错误、前后不一致的情况,甚至还会“编造”一些没有根据的信息,也就是所谓的“幻觉”。这就好比一个医生,看病的时候症状都能说对,但诊断和治疗方案却错得离谱,让人实在不敢放心。
在人工智能领域,推理包含很多种类型。演绎推理就像是从一个大规则推导出具体的结论,就像“所有的鸟都会飞,这是一只鸟,所以它会飞”(当然,现实中鸵鸟这种鸟是不会飞的,这也说明演绎推理的前提得准确);归纳推理是从一堆具体的例子里总结出一个通用的规律,比如你看到很多只白天鹅,就推测所有的天鹅都是白的;溯因推理是根据观察到的现象,找出最有可能的原因,有点像侦探破案,从线索推测罪犯的作案手法;常识推理则是运用我们日常生活中的常识去推断一些事情,比如你知道下雨天出门要带伞。
传统的人工智能在推理方面,有自己的一套方法。像符号逻辑,就像是给电脑设定了一套明确的逻辑规则,用这些规则来推导结论;规则系统也是类似的,把一些预先设定好的规则应用到各种情况里,从而得出逻辑结论,就像玩游戏的时候按照固定的游戏规则行动。知识图谱则是把各种知识像画地图一样,把不同的实体和它们之间的关系表示出来,通过在这个“地图”上探索来进行推理。自动定理证明是专门用来证明数学定理的,用严谨的逻辑推导来确定一个数学命题是不是正确。贝叶斯网络能处理一些不确定的情况,通过概率来表示各种可能性。
但这些传统方法在面对像自然语言理解这样开放、没有固定结构的问题时,就有点“水土不服”了。大语言模型和传统人工智能不一样,它主要依靠深度学习架构,特别是Transformer来处理和生成文本。它是通过学习大量的语言数据里的概率模式来工作的,不像传统方法有明确的逻辑规则。就好像一个小孩,不是通过背诵语法规则来学说话,而是听了很多人说话,自己慢慢总结出一些规律。虽然大语言模型在规模不断扩大的时候,多步推理能力会有所提升,但它在逻辑演绎方面还是很薄弱,比如做数学证明题的时候,就经常出错。
而且,大语言模型在推理的时候,还面临着不少挑战。“幻觉”问题就很让人头疼,它可能会说出一些听起来很有道理,但实际上是错误的信息。这就好比一个不靠谱的朋友,给你的建议听起来头头是道,结果实践起来才发现全是错的。大语言模型没有像知识图谱或者规则系统那样结构化的长期记忆,这就导致它在推理的时候很难保持一致性。多步推理对它来说也很困难,就算用了一些技巧帮忙,它还是经常在复杂的逻辑结构面前“迷路”。另外,大语言模型是在大量的文本数据上训练的,这些数据里可能存在各种各样的偏见,这些偏见也会影响它的推理结果。而且,它在不同领域之间的推理能力也很难通用,在一个领域表现得很好,到了另一个领域就不行了。
为了让大语言模型的推理能力更强,研究员们想了很多办法。比如说用一些专门包含结构化推理数据的数据集来训练它,就像给一个学生专门准备了一本针对薄弱学科的练习题集;给它加上知识检索的功能,让它在回答问题的时候能参考更多的外部信息,就像考试的时候允许学生查资料;把神经网络和符号推理框架结合起来,发挥两者的优势,有点像把不同学科的学习方法结合起来,提高学习效果;还有用自我监督和强化学习的技术,让模型自己在不断的训练中提高推理能力。
二、神奇的“魔法咒语”:提示策略如何提升推理力
在提升大语言模型推理能力的众多方法里,有一类特别神奇,就像是给模型念了“魔法咒语”一样,能让它的推理能力瞬间提升,这就是提示策略。接下来,咱们就详细看看这些神奇的“魔法咒语”。
(一)思维链推理:一步一步“解锁”答案
思维链推理是一种非常巧妙的提示技术。假如你问大语言模型一个复杂的数学问题,比如“小明去商店买东西,他带了50元,买了3个单价8元的笔记本,又买了一支5元的笔,最后他还剩多少钱?”要是没有思维链推理,模型可能就直接给出一个答案,但这个答案很可能是错的。有了思维链推理,模型就会像我们平时解题一样,一步一步来。它会先算出买笔记本花的钱:3乘以8等于24元;然后加上买笔的钱:24加5等于29元;最后用带的总钱数减去花掉的钱:50减29等于21元。
这就好比我们在走迷宫,思维链推理就是一条清晰的路线图,让模型能沿着正确的路径找到出口。它模仿了人类解决问题的方式,先把一个大问题分解成一个个小问题,解决了这些小问题,大问题也就迎刃而解了。通过这种方式,模型在解决多步问题时的准确性大大提高。不过,思维链推理也不是完美的,它的效果和提示的设计有很大关系,而且模型有时候还是会在中间步骤出错,就像我们走路也有可能不小心走错一步一样。
(二)自一致性提示:“投票”选出最佳答案
自一致性提示是一种更高级的提示方法。在面对一些复杂的推理任务时,一个思维链可能没办法得到准确的答案,这时候自一致性提示就派上用场了。它会让模型生成多个不同的推理过程,就像是找了好几个“智囊团成员”,每个人都给出自己的解题思路。然后,模型会从这些不同的推理结果里,选出出现次数最多的那个作为最终答案,这就好比是大家投票,票数最多的方案获胜。
比如说,让模型分析一部电影的主题思想,不同的推理过程可能会得出不同的结论,有的强调爱情,有的强调梦想,还有的强调人性。通过自一致性提示,模型会综合考虑这些不同的观点,选择最被“认可”的那个答案,这样就能减少回答的不确定性,提高答案的准确性。这种方法就像是集思广益,充分发挥了模型的“想象力”,让它能从多个角度思考问题,避免了只依赖单一推理路径可能出现的错误。
(三)思维树推理:像探索迷宫一样找最优解
思维树推理是在思维链推理的基础上更进一步。如果说思维链推理是一条直线式的推理过程,那么思维树推理就是一个像迷宫一样的结构,模型可以在不同的节点进行分支和探索。比如在解决一个规划问题时,像是安排一次旅行的行程,模型会考虑不同的路线选择、景点参观顺序等。每一个选择就像是迷宫里的一个岔路口,模型会在每个岔路口探索不同的可能性,然后根据一定的标准,比如游客的兴趣、时间安排等,选择最优的路径。
在这个过程中,模型会不断地评估每个分支的合理性,把那些不太合理的分支“剪掉”,就像园丁修剪树枝一样。最后,从众多的探索路径里,挑选出最符合要求的那个作为最终的解决方案。这种推理方式非常适合解决那些有多种可能性的组合问题和规划问题,能让模型找到更全面、更优化的答案。
(四)程序辅助语言模型:借助“外挂”提升实力
程序辅助语言模型这个方法很有意思,它就像是给大语言模型找了一个“外挂”。以前模型在做推理的时候,只能依靠自己内部的“知识储备”,但有些复杂的计算和逻辑验证它做起来很困难。现在有了程序辅助语言模型,它可以调用外部的计算工具,比如Python编程环境或者专门的符号计算软件。
比如说遇到一个复杂的数学计算问题,模型会把这个问题转化成代码的形式,然后让外部的计算工具去执行这段代码,得出准确的计算结果。这就好比一个学生遇到了一道特别难的数学题,自己算不出来,就借助计算器或者请教数学老师。通过这种方式,模型在数学推理等需要精确计算的任务上,表现得更加出色。不过,这个方法也有一些限制,它需要和外部的计算环境配合,这在一定程度上会影响它的扩展性,就像给电脑装了一个特别占资源的软件,可能会让电脑运行起来没那么流畅。
三、升级“硬件”:架构创新让模型更聪明
前面咱们讲了提示策略,就像是给大语言模型传授了一些巧妙的解题技巧。接下来,咱们再看看另一个提升大语言模型推理能力的关键方向——架构创新。这就好比给电脑升级硬件,让它能跑得更快、处理更复杂的任务。通过对模型架构的改进,研究员们让大语言模型在推理方面有了更强的能力。
(一)检索增强生成:“查资料”让回答更靠谱
检索增强生成,简单来说,就是让大语言模型在回答问题的时候,能够像我们写论文一样,去查阅各种资料。以前的模型在回答问题时,主要依赖自己在训练过程中学到的知识,这些知识就像是存在它“脑子”里的记忆。但这种记忆有时候可能不准确,或者不够全面。
有了检索增强生成技术,模型在接到问题后,会先把这个问题进行处理,转化成一种能在信息海洋里搜索的“信号”。然后,它会通过专门的检索系统,从大量的文本数据中找到和这个问题相关的资料,就像我们在图书馆里找书,根据书名或者关键词快速定位到需要的书籍。找到这些资料后,模型会把它们和问题结合起来,进行综合分析和推理,最后给出回答。
比如说,你问模型“苹果公司最新发布的产品有哪些特点?”模型就会去搜索最近的科技新闻、产品发布会资料等,然后根据这些最新的信息,详细地给你介绍产品的特点。这样一来,模型的回答就更加准确、更有依据,也能避免出现“幻觉”的情况,因为它的每一个回答都有实实在在的资料支撑。
(二)神经符号混合模型:“感性”与“理性”的完美结合
神经符号混合模型是把神经网络和符号推理这两种不同的技术结合在一起。神经网络就像是我们大脑里负责感知和学习的部分,它很擅长从大量的数据中发现规律,比如识别图片里的物体、理解语言里的语义。而符号推理则像是我们大脑里负责逻辑思考和推理的部分,它能根据明确的规则进行严谨的推理,比如做数学证明题、分析逻辑关系。
以前,这两种技术是分开的,就像两个各自为政的部门。现在,研究员们把它们结合起来,让神经网络负责处理那些没有固定结构、比较模糊的信息,比如从一篇新闻稿里提取关键信息;让符号推理负责处理需要严谨逻辑的部分,比如根据这些关键信息进行推理和判断。这就好比一个团队里,有人负责收集情报,有人负责分析情报,两者相互配合,就能做出更准确的决策。
通过这种结合,模型不仅能像人类一样从数据中学习经验,还能像逻辑学家一样进行严谨的推理,让推理过程更加透明、可解释。比如在分析一个科学问题时,模型可以用神经网络理解问题的背景和相关信息,再用符号推理进行逻辑推导,最后得出的结论既有数据支持,又有逻辑依据,让人更容易理解和接受。
(三)记忆增强神经网络:给模型一个“好记性”
记忆增强神经网络给大语言模型增加了一个“外挂式”的记忆模块。普通的神经网络在处理信息的时候,就像一个记忆力不太好的人,虽然能记住一些眼前的事情,但很快就会忘记。记忆增强神经网络就解决了这个问题,它给模型提供了一个可以长期存储信息的地方,就像我们用笔记本记录重要的事情一样。
这个记忆模块可以随时存储新的信息,也能在需要的时候快速找到之前存储的信息。比如说,模型在学习了一系列的历史事件后,这些事件的信息就会被存储在记忆模块里。当它再次遇到和这些历史事件相关的问题时,就能从记忆模块里快速提取信息,进行准确的回答。而且,记忆增强神经网络的记忆读取和写入操作是可以通过学习不断优化的,就像我们不断改进自己记笔记和找笔记的方法,让记忆的使用更加高效。
这样一来,模型在处理长序列的信息、进行长期学习以及在只给出少量示例的情况下学习新任务时,表现得更加出色。它不再会因为“记性不好”而在推理过程中出现前后不一致的情况,大大提高了推理的一致性和准确性。
(四)图神经网络与知识图谱:用“关系地图”来推理
图神经网络和知识图谱是一对“黄金搭档”,它们能帮助大语言模型更好地理解事物之间的关系,进行更有效的推理。知识图谱就像是一张巨大的“关系地图”,把各种实体,比如人、物、概念等,以及它们之间的关系,像朋友关系、因果关系等,都清晰地表示出来。比如说,在一个知识图谱里,“苹果”这个实体和“水果”这个概念之间有“属于”的关系,和“红色”这个属性有“具有”的关系。
图神经网络则是专门用来处理这种图结构数据的神经网络。它可以在这张“关系地图”上进行“旅行”,通过分析不同实体之间的关系来进行推理。比如,当模型遇到一个问题“苹果有什么特点?”它可以通过图神经网络在知识图谱里找到和“苹果”相关的各种关系,从而得出苹果是水果、通常是红色的、可以食用等特点。
这种基于图结构的推理方式,让模型能够处理更复杂的关系推理任务,比如在社交网络分析中,通过人物之间的关系推断他们的共同兴趣;在生物领域,通过基因之间的相互作用关系推断疾病的发生机制。而且,这种推理过程是可以解释的,因为它是基于明确的关系图谱进行的,就像我们按照地图上的路线行走一样,每一步都清晰可见。
(五)工具使用与API扩展:给模型更多“超能力”
为了让大语言模型的推理能力更强大,研究员们还想出了一个办法,就是给它配备各种外部工具和API接口,这就好比给一个超级英雄增加了更多的超能力。通过调用这些外部工具和API,模型可以利用各种专业的计算资源,做很多以前做不到的事情。
比如说,模型可以调用专门的计算器工具来进行复杂的数学计算,就像我们在手机上打开计算器应用一样方便;可以调用定理证明工具来验证逻辑推理的正确性,确保每一个推理步骤都经得起推敲;还可以调用搜索引擎,获取最新的信息,让回答更加与时俱进。而且,通过API接口,模型能够实时访问各种数据,比如通过天气API获取实时天气信息,通过金融API获取股票市场数据等。
这样一来,模型在推理时就不再局限于自己内部的知识,而是能够借助各种外部资源,让推理更加准确、全面。不过,这种方法也有一些小麻烦,比如依赖外部服务可能会导致延迟,就像我们在网上加载一个大文件,有时候会等很久;而且还需要考虑访问权限的问题,就像进入一个私人场所需要得到许可一样。
四、学习“秘籍”:训练方法助力推理升级
除了前面讲的提示策略和架构创新,还有一类方法对提升大语言模型的推理能力起着至关重要的作用,那就是各种学习方法。这就好比我们学习武功需要修炼秘籍一样,大语言模型也有自己的“学习秘籍”,通过这些秘籍的修炼,它的推理能力能够得到不断提升。
(一)基于推理特定数据集的监督微调:“专项训练”提升实力
监督微调是一种很有效的训练大语言模型的方法,它就像是给模型进行“专项训练”。我们知道,大语言模型在预训练阶段,就像一个广泛涉猎各种知识的学生,学习了大量的通用语言知识。但是,当遇到一些特定领域的推理任务时,这些通用知识可能就不够用了。
这时候,我们就可以用一些专门为推理任务准备的高质量数据集来对模型进行微调。比如说,有专门用来训练数学推理能力的数据集,像MATH和GSM8K,这些数据集里包含了各种各样的数学问题,从简单的算术运算到复杂的代数、几何问题都有。模型在这些数据集上进行训练,就像一个学生做了大量的数学练习题,数学推理能力会得到显著提升。
还有用于训练常识推理和溯因推理的数据集,比如SWAG和Abductive NLI(aNLI)。在SWAG数据集中,会给出一个日常生活场景的描述以及几个可能的后续事件选项,模型需要根据常识选择最合理的后续事件,以此来学习如何运用常识进行推理。而Abductive NLI则专注于溯因推理,提供一些观察到的现象,让模型推断出最有可能的原因。通过在这些数据集上的学习,模型可以更好地理解人类日常生活中的逻辑,提升在实际场景中的推理能力。
另外,像ARC和HotpotQA这样的数据集,则可以帮助模型提升多步推理和问答能力。ARC中的问题往往需要模型跨越不同的知识领域进行多步推理才能回答正确,例如可能会结合科学知识、历史事件和日常生活常识来设置问题。HotpotQA则要求模型从多个不同的信息源中收集信息并进行综合推理,比如给出多篇关于不同历史人物的文章,让模型回答一个涉及多个历史人物关系和相关事件的复杂问题。模型在这些数据集上训练,就像是进行了一场又一场的综合能力考试,多步推理和信息整合能力会不断增强。
不过,使用监督微调也有一些需要注意的地方。就像学生如果只是盲目地做练习题,不理解其中的原理,就很容易陷入“死记硬背”的误区,出现过度拟合的情况。模型在微调时,如果数据集选择不当或者训练方法不合理,也会过于依赖训练数据的特定模式,而无法很好地泛化到其他类似但又不完全相同的任务中。所以,在进行监督微调时,需要仔细挑选合适的数据集,精心设计训练过程,这样才能让模型真正从“专项训练”中受益,提升推理能力的同时,还能保持良好的通用性,就像一个真正掌握了知识的学生,不管遇到什么样的考试题目,都能灵活应对。
(二)基于人类反馈的强化学习:让模型“投其所好”
基于人类反馈的强化学习(RLHF),可以说是让大语言模型学会“投其所好”。大家想想,在日常生活里,我们做一件事,如果得到了别人的表扬,下次可能就会做得更起劲;要是被批评了,可能就会调整自己的做法。大语言模型的RLHF训练也是这个道理。
训练的时候,先让模型对一个问题生成多个回答,就像一个学生想出了好几种解题思路。然后,人类评估者会根据自己的判断,给这些回答打分,选出更符合期望的答案,这就好比老师批改作业,给学生的答案评等级。接着,用这些带有评分的数据去训练一个奖励模型,这个奖励模型就像是一个“打分器”,它能学习到人类喜欢什么样的回答。
最后,再用近端策略优化(PPO)这样的强化学习算法,根据奖励模型给出的分数,来优化大语言模型。如果模型生成的回答得到了高分,那就说明它做对了,下次就继续保持;要是回答得分低,模型就会调整自己的“思考方式”,下次争取给出更好的答案。通过这样不断地迭代训练,模型的推理结果就会越来越符合人类的逻辑和期望,减少逻辑推理中的错误。
(三)自监督与对比学习:让模型“无师自通”
自监督学习(SSL)和对比学习(CL)就像是让大语言模型学会“无师自通”,自己提升推理能力。和需要人类标注数据的监督学习不同,自监督学习和对比学习主要是利用数据本身的结构来学习。
对比学习在提升模型逻辑推理一致性方面特别有效。打个比方,我们有一堆推理链,就像很多条解题步骤,其中有些是正确的,有些是错误的。对比学习就是要让模型学会区分这些正确和错误的推理链。它通过设计一种对比损失函数来实现这一点,这个损失函数就像是一个“纠错器”。当模型把正确的推理链判断为相似,把错误的推理链判断为不相似时,损失就会降低;反之,损失就会增加。模型为了让损失变小,就会不断调整自己,提高区分正确和错误推理链的能力,从而提升逻辑一致性。
自监督学习还有一个厉害的地方,就是可以通过生成合成数据来自我训练。模型自己生成一些推理路径,然后想办法验证这些路径是否正确。这就好比一个学生自己出题考自己,做完题后还自己检查答案,在这个过程中不断提高自己的推理能力。而且,自监督学习还能让模型在零样本或少样本的推理任务中表现得更好。也就是说,即使遇到一些它从来没见过的推理任务,它也能从之前学习到的抽象推理模式中找到解决办法,举一反三。
(四)自动验证器与批评模型:给模型找个“小助手”
为了让大语言模型的推理更准确,研究员们还给它找了个“小助手”,就是自动验证器和批评模型。自动验证器就像是一个“质检员”,专门检查模型推理输出的结果。当模型给出一个推理答案后,自动验证器会对这个答案进行评估,看看它是不是合理。如果答案不正确,自动验证器就会把它筛选出来。
有些自动验证器还会和定理证明器结合起来,对模型的逻辑推导进行严格的验证。比如说,模型在做数学证明题时,自动验证器会根据数学定理和逻辑规则,一步一步检查模型的证明过程是否正确。这就好比老师批改数学证明题作业,仔细检查每一步的推理是否合理。
不过,目前自动验证还是一个比较有挑战性的任务,因为自然语言推理很难完全形式化。自然语言不像数学公式那么精确,有很多模糊和歧义的地方,这就给自动验证带来了困难。但研究员们一直在努力,想办法克服这些问题,让自动验证器更好地为大语言模型服务。
五、火眼金睛:如何评估大语言模型的推理能力
现在大语言模型层出不穷,每个都号称自己推理能力很强,那我们怎么知道它们到底行不行呢?这就需要一套科学的评估方法。就像我们考试,得有试卷和评分标准才能知道学生学得好不好。评估大语言模型的推理能力也一样,需要有专门的基准测试和性能指标。
(一)常用的推理基准测试
为了全面评估大语言模型在不同方面的推理能力,研究员们开发了很多不同的基准测试数据集。
ARC(AI2推理挑战)主要测试模型的常识和逻辑推理能力。它会给出一些需要多步推理的问题,这些问题涉及不同的知识领域。比如,可能会问“如果今天是阴天,天气预报说明天有雨,那么明天出门应该带什么?”这就需要模型结合天气常识和逻辑,推理出应该带伞。
LogiQA则专注于评估逻辑推理技能,特别是演绎和溯因推理。在这个测试里,模型会遇到各种逻辑问题,像“所有的猫都是哺乳动物,有些哺乳动物会爬树,那么有些猫会爬树吗?”模型需要根据逻辑规则来判断这个推理是否正确。
GSM8K是关于小学数学推理问题的数据集。里面的题目都是小学生会遇到的数学问题,像四则运算、简单的几何问题等,用来评估模型的多步算术推理能力。比如“小明有10颗糖,给了小红3颗,又买了5颗,现在小明有几颗糖?”通过这类问题考察模型的数学推理准确性。
MATH测试的难度就更高了,主要针对高中和竞赛水平的数学问题,检验模型的正式数学推理能力。比如三角函数、数列、函数等复杂的数学知识都会在题目中出现,这对模型的数学推理能力是一个很大的挑战。
BIG - Bench涵盖的范围非常广泛,包括逻辑推理、抽象思维、多跳推理等各种不同类型的推理任务。它就像一个综合性的考试,从多个角度考察模型的推理能力。
ProofWriter用于评估模型进行自动定理证明和逻辑演绎的能力。模型需要像数学家一样,根据给定的前提条件,运用逻辑规则推导出结论,检验它的逻辑推导是否严谨。
HotpotQA专注于多跳问答任务,要求模型从多个不同的信息源收集信息并进行推理。例如,给出多篇关于历史事件的文章,让模型回答一个与该事件相关的复杂问题,模型需要从这些文章中找到有用的信息,并通过推理得出答案。
HumanEval主要评估模型的代码生成能力,看它是否能理解编程任务要求,并生成语法正确、功能准确的代码。
ANLI(对抗自然语言推理)通过对抗生成的推理任务来测试模型。简单来说,就是专门设计一些容易让模型出错的问题,看看模型能不能识别并正确推理,以此检验模型在面对具有挑战性的自然语言推理任务时的表现。
HellaSwag测试模型的常识自然语言推理能力,它会给出一个句子,让模型预测最可能的结尾。比如“小明走进厨房,看到锅里有个苹果派,他……”模型需要根据常识推理出合理的结尾,像“他拿起盘子和叉子准备吃”。
Measuring Massive Multitask Language Understanding(MMLU)则是对模型在57个不同学科领域的通用知识和问题解决能力进行评估,包括数学、历史、计算机科学、法律等多个方面,全面考察模型的知识储备和推理应用能力。
(二)衡量推理性能的指标
评估大语言模型的推理性能,不能只看一个方面,需要从多个角度进行衡量,就像评价一个学生不能只看一门课的成绩,要综合考虑多门学科和各种能力。
准确率是最常用的指标之一,它衡量模型回答的正确性。在数学和逻辑推理任务中,通常用精确匹配(EM)和F1分数来计算准确率。比如,对于一个数学问题,如果模型给出的答案和正确答案完全一样,那就是精确匹配,准确率就是100%;如果答案部分正确,就会根据F1分数的计算方法来给出一个更准确的准确率评估。
逻辑一致性考察模型的推理过程是否符合逻辑,是否前后连贯。可以用一些定理证明数据集,像ProofWriter,来测试模型在一系列推理步骤中的逻辑一致性。如果模型在推理过程中出现矛盾或者不合理的逻辑跳跃,就说明它的逻辑一致性有问题。
可解释性和可解释性评估模型推理步骤的透明度。对于像思维链模型这样的,要看看中间的推理步骤和最终答案之间的关联性,是否能够清晰地解释为什么会得出这个答案。如果模型的推理过程就像一个“黑匣子”,让人摸不着头脑,那它的可解释性就比较差。
自一致性通过让模型对同一个问题生成多个独立的回答,然后看这些回答之间的一致性来衡量推理的可靠性。如果模型每次生成的回答都不一样,没有一个稳定的推理结果,那就说明它的自一致性不好。
多跳推理分数用于评估模型在像HotpotQA这样的多跳推理任务中的表现。模型需要整合多个证据,经过多步推理才能得出答案,这个分数就是衡量它在这个过程中的能力。
对抗鲁棒性测试模型在面对对抗性攻击时的能力。比如,对输入的问题进行一些微小的修改,看模型的推理准确率是否会受到很大影响。如果只是稍微改了一下问题,模型就给出了完全错误的答案,那就说明它的对抗鲁棒性比较弱。
忠实性和可验证性考察模型生成的推理步骤是否能够独立验证,并且和最终答案在逻辑上一致。就像写作文,论据要能支持论点,推理步骤也要能支持最终结论,而且这些步骤还得是可以被验证的。
置信度校准评估模型对自己预测结果的信心程度是否和实际的正确性相符。比如,模型对某个答案非常有信心,给出了很高的置信度分数,但实际上答案是错误的,这就说明它的置信度校准有问题,通常用对数似然分数和布里尔分数来衡量。
推理泛化能力考察模型在面对分布外(OOD)推理任务时的表现,也就是那些和它训练数据不太一样的任务。如果模型在训练数据上表现很好,但遇到新的、不同类型的推理任务就不行了,那就说明它的推理泛化能力有待提高。
六、前方的挑战与探索:大语言模型推理的未来
虽然大语言模型在推理能力提升方面已经取得了很大的进展,但就像游戏里还没打到最终关卡一样,前面还有不少挑战等着研究员们去攻克。这些挑战不仅影响着大语言模型在实际应用中的可靠性,也为未来的研究指明了方向。
(一)幻觉和错误信息:模型也会“说谎”
大语言模型的幻觉问题,就像是模型在“说谎”,这是目前面临的一个关键挑战。有时候,模型会生成一些听起来很合理,但实际上是错误的推理链和信息。比如说,你问它某个历史事件的细节,它可能会编造一些根本不存在的情节,而且说得有模有样,这就很容易误导人。
现有的事实核查技术在处理多步推理任务中的错误信息时,效果不太理想。就好比一个警察在复杂的迷宫里抓小偷,小偷藏得太隐蔽,很难把他们都找出来。所以,未来的一个研究方向就是开发更强大的自动验证器,并且把大语言模型和结构化数据库结合起来。这样,模型在回答问题的时候,就可以从可靠的数据库里获取信息,减少幻觉的出现,提高回答的准确性。
(二)跨领域泛化:“偏科”的模型
大语言模型在跨领域泛化方面存在困难,有点像一个“偏科”的学生。虽然在某个特定领域进行微调训练后,模型在这个领域的表现会很好,就像一个学生在自己擅长的学科考试中能拿高分。但当遇到一个全新领域的推理任务时,它就很难把之前学到的推理能力应用过来,成绩就会一落千丈。
现在的迁移学习方法在保持模型在不同领域推理的连贯性上还有很大的提升空间。就好比一个人换了一份新工作,之前的工作经验很难直接用到新工作中。所以,研究员们需要研究元学习和持续学习策略,让模型学会如何快速适应不同领域的推理任务,提高跨领域泛化能力,成为一个全面发展的“学霸”。
(三)对抗攻击的鲁棒性:脆弱的“防线”
大语言模型在面对对抗攻击时非常脆弱,它的“防线”还不够坚固。有时候,只是对输入的问题做一些小小的修改,比如换几个词、调整一下语序,模型的推理结果就会变得完全不同,甚至是错误的。这就好比一个人很容易被别人误导,别人稍微说点不一样的话,他就改变了自己的想法。
现有的基准测试在评估模型对抗推理挑战的能力方面还不够充分。就像一场考试,题目出得不够难,没有真正考察出学生的真实水平。所以,未来需要开发更强大的对抗训练技术,让模型在训练过程中就接触到各种对抗攻击,提高它对输入变化的抵抗能力,让它变得更加“坚强”。
(四)符号与神经推理的融合:“软硬”结合的难题
大语言模型目前主要依赖统计模式识别,在形式逻辑推理方面存在不足,就像一个人只会死记硬背,不理解其中的逻辑。在处理复杂的推理任务,比如抽象的数学证明、严谨的逻辑推导时,模型就容易出错。
虽然神经符号AI尝试把神经网络和符号推理框架结合起来,取得了一定的成果,但还需要进一步探索和改进。这就好比把两种不同风格的建筑方法结合起来盖房子,中间肯定会遇到很多问题,需要不断地尝试和调整。未来要继续推进混合神经符号架构的研究,让大语言模型在推理时既能利用神经网络的学习能力,又能借助符号推理的严谨性,实现更强大的推理能力。
七、总结与展望:大语言模型推理的新征程
回顾一下,我们今天深入了解了大语言模型推理能力的相关知识。大语言模型在自然语言处理领域取得了很大的成就,但在推理能力上还有很大的提升空间。为了让模型变得更聪明,研究员们从提示策略、架构创新和学习方法等多个方面进行了探索。
提示策略里的思维链推理、自一致性提示、思维树推理和程序辅助语言模型,就像是给模型提供了不同的解题思路和工具,让它在面对复杂问题时能够更有条理地思考,提高推理的准确性。
架构创新方面,检索增强生成让模型学会“查资料”,神经符号混合模型实现了“感性”与“理性”的结合,记忆增强神经网络给模型一个“好记性”,图神经网络和知识图谱用“关系地图”帮助模型推理,工具使用与API扩展给模型增加了更多“超能力”,这些创新让模型的推理能力得到了质的飞跃。
学习方法上,基于推理特定数据集的监督微调进行“专项训练”,基于人类反馈的强化学习让模型“投其所好”,自监督与对比学习让模型“无师自通”,自动验证器与批评模型给模型找了个“小助手”,这些方法从不同角度提升了模型的推理能力。
在评估大语言模型的推理能力时,我们有各种各样的基准测试数据集和性能指标,就像一套严格的考试体系,从多个方面考察模型的表现。
不过,大语言模型推理能力的发展还面临着很多挑战,比如幻觉和错误信息、跨领域泛化困难、对抗攻击的鲁棒性不足以及符号与神经推理融合的难题。但这些挑战也为未来的研究提供了方向,研究员们正在努力攻克这些难题,让大语言模型的推理能力更上一层楼。
未来,我们期待大语言模型能够像人类一样,进行更加可靠、可验证、适应性强的推理。这不仅需要人工智能领域的研究人员不断努力,也需要认知研究员、伦理学家和各个领域的专家共同合作。我们希望创造出的人工智能系统能够准确、符合伦理道德、透明地进行推理,在更多的领域发挥作用,为我们的生活带来更多的便利和价值。让我们一起期待大语言模型在推理能力上的新突破,见证人工智能更精彩的未来!

作者:张长旺,图源:旺知识