CoA:提升大型语言模型的多步推理能力

news2024/11/13 9:39:49

人工智能咨询培训老师叶梓 转载标明出处

大模型(LLMs)在处理复杂问题时,往往需要借助外部工具来获取现实世界知识,例如网络搜索、数学和物理规则等。然而现有的工具辅助语言模型在多步推理问题中调用工具时存在效率和准确性的挑战。为了解决这一问题,来自EPFL和Meta FAIR的研究团队提出了一种新的方法——Chain-of-Abstraction(CoA)推理。CoA方法通过训练LLMs先生成包含抽象占位符的推理链,然后调用特定领域的工具来填充这些占位符,从而实现对推理链的具体化。这种方法不仅提高了模型对领域知识的鲁棒性,还允许模型在生成推理链的同时并行调用外部工具,从而显著提高了推理速度。

使用工具的链式抽象推理过程
展示了给定一个领域问题(绿色卷轴),LLM如何首先生成一个抽象的多步推理链(蓝色气泡),然后调用外部工具用特定领域的知识来实现这个推理链(橙色标签)。最终答案(黄色气泡)是基于实现后的推理链获得的

方法

图2阐释了构建微调数据集的核心步骤,即如何将已有的标准答案转化为包含抽象变量的推理链。在这一过程中,首先选取领域相关问题及其正确答案。然后,利用大型语言模型(LLM)将答案改写,引入抽象变量形成推理链。这些抽象变量作为占位符,将在后续步骤中被实际数据替代。关键的一步是使用专业工具来验证重写后的推理链,确保它能通过具体化过程得到正确答案。如果验证成功,该推理链便被确认为有效,可以用于训练LLM进行CoA推理。这个过程不仅提高了数据质量,也加强了模型的泛化能力。

微调数据构建中金标准数据重写的示例

CoA推理方法的创新之处在于它巧妙地将大型语言模型的推理过程拆分成了两个独立的阶段,这种设计极大地提高了模型处理多步推理问题时的效率和准确性。在第一阶段,模型被微调以生成抽象的推理链,这些推理链中包含了抽象的占位符,如y1、y2、y3等。这些占位符的作用是暂时代表那些在推理过程中需要用到但尚未确定的具体知识点或计算结果。例如,在解决一个数学问题时,如果需要计算20加35的结果,CoA方法会让模型首先生成一个包含占位符y1的推理链,表示这个计算步骤,但不会立即进行计算。

在CoA推理的第二阶段,这些抽象的占位符将被具体化的知识点所替代。这一过程通过调用外部工具来实现,这些工具可以是计算器、搜索引擎或其他任何能够提供必要信息的API。继续上面的例子,模型会在第二阶段调用计算器工具来计算20加35的结果,并将这个具体的结果填充到推理链中的相应占位符y1的位置。如果推理链中还有其它占位符,如y2或y3,模型也会重复这一过程,直到所有的占位符都被具体的知识或数据所替代。

通过这种分离策略,CoA推理方法使LLMs能够更加专注于学习如何构建有效的推理链,而不是被具体知识的获取和计算所干扰。这不仅提高了模型的推理能力,也使得模型在面对不同领域知识的变动时,能够保持较高的鲁棒性。另外这种分离还允许模型在生成推理链的同时并行地调用外部工具,从而显著提高了推理过程的效率。例如,当模型在生成下一个推理链时,可以同时让工具去填充前一个推理链中的占位符,这样的并行处理机制大幅度减少了等待外部响应的时间,加快了整个推理过程。

CoA推理方法的优势在于其对学习策略的通用性以及并行处理能力。这种通用性意味着LLMs不必针对特定的实例生成详细的知识点,而是可以掌握更为广泛的推理模式和策略。这样的学习方式让模型能够适应各种不同的问题场景,而不仅仅局限于训练数据中的具体案例。这大大提升了模型的泛化能力,使其能够在面对新的、未见过的问题时,也能够运用已学到的推理策略来找到解决方案。

CoA推理的并行处理能力是其另一个显著优势。通过将通用推理与领域特定知识的获取解耦,LLMs能够在生成推理链的同时,并行地调用API来获取所需知识。这种并行机制允许模型在等待一个API调用的响应时,继续处理其他任务,从而显著提高了推理过程的效率。例如,在处理一个包含多个步骤的复杂问题时,模型可以在第一个API调用等待结果的同时,开始生成下一个推理步骤的抽象链。这样一来,整个推理过程的时间消耗就大大减少,因为不同步骤的等待时间被有效利用起来了。

在微调数据构建方面,研究团队采取了一种创新的方法来训练CoA推理。他们从现有的开源QA数据集中收集了大量的问题和答案样本,并利用LLaMa-70B模型对这些样本的答案进行重写。这一过程首先涉及到标注知识操作,即识别出答案中那些需要通过外部工具来获取的具体知识点,并将其标记出来。接着,模型会使用这些标注的信息来重写答案,将具体的操作结果替换为抽象的占位符,形成CoA痕迹。例如,如果原始答案中包含了“20加35”的计算,重写后的答案就会是“[20 + 35 = y1]”,其中y1是一个占位符,代表这个计算步骤的结果。

为了确保重写后的数据依然准确无误,研究团队还采用了领域特定的工具来验证每个CoA推理迹线。这一步骤是至关重要的,因为它保证了模型在训练过程中所使用的数据是正确和可靠的。只有当工具能够成功地将占位符填充为正确的结果时,相应的问题和答案才会被保留下来用于训练。这种方法不仅提高了模型学习的质量,也确保了CoA推理方法在实际应用中的有效性和准确性。通过这种方式构建的微调数据,为LLMs提供了丰富的学习材料,使其能够更好地掌握CoA推理的技能。

论文提供了数学领域正确重写的推理链的推理步骤分布表(表1)。例如,GSM8K数据集中有8个问题需要1个推理步骤解决,而有1540个问题需要2个推理步骤解决,以此类推。ASDiv数据集中有677个问题仅需要一个推理步骤。

通过这种方法,CoA推理不仅提高了模型在多步推理任务中的准确性和效率,还为大型语言模型的训练和应用提供了新的思路。

实验

在数学推理领域,研究团队的目标是让问答系统生成自然语言解决方案,并包含逐步的算术推导。这要求系统能够识别并应用特定领域的知识操作,如数学计算,并将这些操作结果用抽象占位符来表示,例如"[20 + 35 = y1]"。

为了构建微调CoA数据,研究者们重写了GSM8K数据集的7473个语言多样化的小学数学问题。由于GSM8K集中于多步推理,缺乏单步算术问题的覆盖,研究者们还额外重写了ASDiv数据集中的691个单步数学问题。在这些重写数据集中,大约76.6%的CoA推理迹线由LLaMa-70B生成并通过方程求解器验证。

研究者们使用了一个方程求解器来执行数学领域所需的算术推导。该求解器首先提取CoA推理中标记的推导,例如"[20 + 35 = y1]"和"[90 − y1 = y2]",并将所有推导组合成一个方程组。然后,使用SymPy工具箱来解决这个方程组,得到每个变量的真实值(即抽象占位符的值)。最后,方程求解器通过将所有变量替换为它们解决得到的真值来返回具体化的推理链。

在Wiki QA领域,模型需要首先识别与问题相关的Wikipedia文章,然后基于这些参考文章中的关键知识进行推理以回答问题。在这个领域,领域特定知识操作被假定为检索相关的Wikipedia文章和重要的命名实体,这些操作被重写为Wikipedia搜索(WikiSearch)和命名实体识别(NER)查询。

研究者们使用HotpotQA数据集来构建Wiki QA领域的微调CoA数据。HotpotQA包含113K个多跳QA示例,每个示例都标记有两个提供支持知识的Wikipedia文章。在90447个训练QA对中,72991个被识别为桥接QA对,这些QA对需要识别一个中间实体来将答案与问题联系起来。剩下的17456个是对比QA对,它们比较两个实体的属性。研究者们提示LLaMa-70B将这些训练QA重写为带有WikiSearch和NER查询的CoAs,并使用领域工具验证每个CoA的正确性。

在Wiki QA领域构建CoA微调数据的例子
它展示了一个问题、答案和CoA追踪的示例,包括使用Wikipedia搜索和命名实体识别(NER)查询

Wiki QA所需的领域特定工具包括一个Wikipedia搜索引擎来检索参考文章,以及一个NER工具包来提取连接多步搜索查询的实体。研究者们实现了一个BM25检索器作为Wikipedia搜索引擎,并使用Sentence-BERT嵌入余弦相似度对搜索结果进行重排,选择与问题最相似的文章作为最终搜索结果。SpaCy工具包被用作NER工具,以简化实体识别过程。

SpaCy-NER类型的汇总

研究者们将CoA推理方法应用于7B和70B LLaMa模型,并测试了包括最初的LLaMa版本以及更先进的LLaMa-2和LLaMa-2-Chat版本。他们将CoA方法与几种基线进行了比较,包括使用少量样本提示的原始链式思考数据(CoT-FSP)、使用原始链式思考数据进行微调(CoT-FT),以及Toolformer,后者在CCNet文本上进行微调,这些文本通过API调用进行了增强。在Wiki QA评估中,他们还将CoA方法与FireAct进行了比较,FireAct是在从GPT-4中提取的HotpotQA ReAct轨迹上微调LLMs。

表4展示了在GSM8K和ASDiv数据集上,LLaMa-2和LLaMa-2-Chat模型的评估结果。CoA方法在这些数据集上超越了少量样本提示(CoT-FSP)和常规微调(CoT-FT)基线,证明了CoA微调结合工具增强对于适应多步推理任务的高效性。

  • CoT-FSP(少量样本提示)在GSM8K数据集上的准确率为16.38%,在ASDiv数据集上的准确率为47.85%。
  • CoT-FT(常规微调)在GSM8K数据集上的准确率为35.33%,在ASDiv数据集上的准确率为57.18%。
  • Toolformer(一种工具增强的LLM)在GSM8K数据集上的准确率为17.59%,在ASDiv数据集上的准确率为48.55%。
  • CoA在GSM8K数据集上的准确率为37.83%,在ASDiv数据集上的准确率为57.61%。

另外当在分布外数据集SVAMP和MAWPS上评估时,CoA同样持续超越基线方法。特别是对于7B模型,CoT-FT在这些数据集上的表现与CoA的差距更大,表明CoA推理在分布上更为稳健。

消融研究进一步验证了CoA方法在鲁棒性泛化性能上的优势不仅仅来自于使用额外的工具。通过微调另一个LLM来解决方程(而不是调用方程求解器),并将其表示为CoA (no Tool),研究发现CoA (no Tool)在所有数据集上的表现一致不如CoA,这证实了使用专业工具使LLM能够进行更精确的操作。

推理步骤的分析表明,当问题需要更长的推理链来解决时,CoA推理的优势最为明显。例如,在GSM8K数据集上,与CoT-FSP相比,CoA生成的推理链更常匹配金标准推理链的长度,并且在需要超过3个推理步骤的问题上,CoA的表现尤为突出。

在GSM8K问题集上,根据不同模型预测和标准推理链中推理步骤的数量,对LLaMa-2-Chat7B模型的评估结果

人工评估通过让评估者判断模型对200个随机抽样的GSM8K测试问题的答案是否包含算术错误或与数学推导无关的推理错误,来全面验证CoA在提高知识操作(即使用工具进行算术)和推理准确性方面的改进。结果表明,CoA有效将算术错误降低到零,并在推理错误上也比基线方法更少,这证实了CoA微调指导模型通过抽象推理链的整体规划学习更准确的推理。

对200个GSM8K测试样本进行的人工评估结果,包括算术错误率和推理错误率

推理效率方面,CoA推理的性能提升并没有以增加计算成本为代价。在GSM8K数据集上,CoA和基线代理(使用LLaMa2-Chat-7B)回答每个问题所需的平均时间(秒)显示,与CoT-FSP相比,CoA需要的时间更少,CoT-FSP的生成需要附加的样本条件。然而,CoA在推理效率上略低于CoT-FT,可能是由于抽象陈述的额外解码令牌(例如"["和"]")。

在GSM8K问题集上,使用LLaMa-2-Chat-7B模型时,不同方法(包括Toolformer、CoT-FSP、CoA和CoT-FT)回答一个问题所需的平均墙上时间(秒),相对于标准推理链所需的推理步骤数量

表6展示了使用LLaMa-2-Chat模型在Wiki QA上的结果。与数学推理类似,CoA在HotpotQA数据集上实现了比基线更高的精确匹配率,特别是在更具挑战性的桥接型QA上,其中涉及Wikipedia知识的两个推理步骤是连续交织的。与FireAct微调相比,CoA在桥接和比较QA上也实现了更好的性能,而且不需要来自封闭源GPT-4的数据。

CoA在回答HotpotQA问题时的推理效率也优于Toolformer和FireAct代理。CoA不需要像CoT-FSP和CoT-FT那样需要少量样本作为额外输入,也不需要生成长篇的Wiki文章,这些由搜索引擎提供。最后,在其他Wiki QA数据集上的零样本泛化实验中,CoA在NaturalQuestions和TriviaQA上超越了所有基线方法,并在WebQuestions上与最佳基线相当。

这些结果表明CoA方法不仅在数学推理任务上表现出色,而且在基于Wikipedia的问答任务中也展现了其有效性,证明了CoA方法在不同领域推理任务中的泛化能力和效率。

论文链接:https://arxiv.org/abs/2401.17464

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1988350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业级敏捷框架:业务驱动型敏捷与产品需求团队

本文介绍了一种新的企业级敏捷框架——业务驱动型敏捷(Business-driven Agile)与 PRT(Product Requirement Team),旨在解决传统敏捷方法中需求定义的瓶颈,从而提升产品价值并提高开发效率。原文: A new ent…

dynamic-datasource+Mybatis多数据源使用

Gitee地址:dynamic-datasource: 基于 SpringBoot 多数据源 动态数据源 主从分离 快速启动器 支持分布式事务 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency&…

腾讯云AI代码助手:智驭Python,编织代码的诗篇 —— 深度测评体验

文章目录 引言&#x1f496;1. 开发环境介绍&#x1f4bb;vscode安装插件方法一&#xff1a;链接访问下载安装方法二&#xff1a;vscode直接安装 2. 使用实例✨1. &#x1f6e1;️代码补全&#xff0c;分秒必争2. &#x1f4a1; 技术对话&#xff0c;智慧碰撞3. &#x1f527; …

【分享】洁净室环境检测必测项目详细解读

环境监测&#xff08;Environmental monitoring&#xff09;在实现此目标中起着重要的作用——它提供了有关制造环境的关键信息&#xff0c;避免放行可能受污染的产品。 由于环境监测在制造过程中的重要性&#xff0c;相关机构围绕市场活动推出了许多法规要求和指南。这些标准随…

el-table自动滚动到最底部

我的需求是这样的&#xff0c;因为我的表格是动态的&#xff0c;可以手动新增行&#xff0c;固定表头&#xff0c;而且需要一屏显示&#xff0c;为了方便用户就需要再新增的时候表格自动向上滚动。 差了官方文档后发现有一个属性可以支持 这个属性正是自己需要的&#xff0c;所…

朵拉朵尚:坚持深耕护肤领域 荣获2023年度影响力品牌奖

朵拉朵尚&#xff1a;坚持深耕护肤领域 荣获2023年度影响力品牌奖 伴随着经济全球化的浪潮&#xff0c;新产业、新业态、新动能不断涌现&#xff0c;我国化妆品消费也迅速崛起&#xff0c;成为近年来化妆品行业发展增长速度最快的国家。1月30日&#xff0c;朵拉朵尚受邀参加快…

使用 Plotly 创建专业可视化时你应该知道的七个关键功能

欢迎来到雲闪世界。我们习惯于在在线报纸上看到交互式可视化&#xff0c;并且我们经常想知道数据记者使用什么工具来创建这些看起来专业的可视化。事实是&#xff0c;创建这种类型的可视化不需要任何特殊软件&#xff1b;Python 中的大多数交互式可视化库都是高度可定制的&…

Stable Diffusion史诗级更新! WebUI 1.10.0时代来了!

前言 大家好&#xff0c;我是每天分享AI应用的萤火君&#xff01; 前几天 AUTOMATIC1111 发布了Stable Diffusion WebUI 1.10&#xff0c;我也在第一时间将云环境的镜像升级到了最新版本&#xff0c;有兴趣的同学可以去体验下&#xff0c;目前已经发布到了AutoDL&#xff0c;…

博客趣二维码生成器网站源码

这款二维码生成源码可以把电子名片、文本、wifi网络、电子邮件、短信、电话号码、网址等信息生成对应的二维码图片。地图位置二维码生成使用是谷歌地图的api地址&#xff0c;懂程序的可以改成国内地图http://www.bokequ.com/588.html

CST软件如何添加和管理自定义的材料?

经常有用户想手动添加材料到CST软件的材料库&#xff0c;或让CST软件指向自定义的材料库&#xff0c;由于CST软件没有自动追踪用户材料数据的功能&#xff0c;这里就需要用户知道一些小技巧&#xff0c;不然看不到这些材料哦 1. 材料库的路径&#xff1a; 首先解释材料库…

Django中事务的基本使用

1. Django事务处理 事务(Transaction): 是一种将多个数据库操作组合成一个单一工作单元的机制. 如果事务中的所有操作都成功完成, 则这些更改将永久保存到数据库中. 如果事务中的某个操作失败, 则整个事务将回滚到事务开始前的状态, 所有的更改都不会被保存到数据库中. 这对于…

流媒体服务器XMedia插件服务安装使用

XMedia是AMS流媒体服务器的一个插件服务&#xff0c;可以扩展支持 FLV 、GB28181上传、WEBRTC、SRT协议上传&#xff0c;增强了服务器的功能 一、服务插件安装 资源下载 XMedia-CentOS7-x86-64-20240710-212007 把安装包放入LINUX服务器&#xff0c;执行如下命令,如果未安装u…

因子分析和非负矩阵分解

因子分析 (Factor Analysis, FA) 因子分析是一种统计方法&#xff0c;用于通过少量潜在变量&#xff08;因子&#xff09;解释观测数据中的相关结构。它在数据降维、特征提取和变量选择中广泛应用。 原理 因子分析假设观测变量是由少数潜在因子线性组合并加上噪声得到的。通…

Stable Diffusion 使用详解(6)---人物风格及背景变换

目录 背景 ControlNet lineart IP-Adapter 实例 生成场景模特 操作 生成效果 生成背景 操作 生成效果 融合 ip-adaptor contrlNet lineart controlNet 生成效果 背景 很多场景下&#xff0c;需要完成人物风格变换&#xff0c;比如现在是写真集&#xff0c;想转…

『 Linux 』网络基础

文章目录 协议分层OSI 七层模型TCP/IP 四层(五层)模型网络协议栈与操作系统的联系报文TCP/IP 通讯过程以太网通信的过程以太网的数据碰撞 协议分层 协议分层是计算机网络中奖网络协议进行组织和管理的方法; 通过将网络通信过程分成多个层次,每个层次负责特定的功能从而简化网络…

打破视频生成难题,腾讯提出 MimicMotion引领AI模仿人体动作新纪元

该论文提出了一种可控的视频生成框架MimicMotion&#xff0c;能够生成高质量且任意长度的视频&#xff0c;模仿特定的运动指导。该研究引入信心感知姿势指导&#xff0c;确保视频帧的高质量和时间平滑性。同时&#xff0c;还引入了基于姿势信心的区域性损失放大策略&#xff0c…

hashmap底层原理(数据结构 put原理 get原理 remove原理)

目录 一、数据结构 二、put原理 进入put方法 第一步&#xff1a;通过 HashMap 自己提供的hash 算法算出当前 key 的hash 值 第二步&#xff1a; 进入putVal(hash(key), key, value, false, true) 第三步&#xff1a; resize 完整源码 putval resize 流程图​ 三、get原…

如何不需要通过试单(多单未成功)来关闭被禁用的PayPal账号

轮询自检系统 可以最大程度不浪费订单&#xff0c;当你的PayPal被禁止收单时&#xff0c;无需通过试单(多单不成功)功能来关闭你的账号&#xff0c;极大的保证订单的成功率。 除了在接单时候系统自检&#xff0c;我们还提供一个批量检测PayPal账号系统&#xff0c;可大批量的检…

【运维自动化-配置平台】平台管理功能如何使用

蓝鲸智云配置平台&#xff0c;以下简称配置平台 配置平台里的平台管理功能是管理员的一些操作&#xff0c;比如一些全局纬度的设置1、全局配置-业务通用 业务快照名称&#xff1a;通常不需要修改&#xff0c;保持平台搭建好默认业务&#xff08;蓝鲸&#xff09;即可 拓扑最大…

主从备份及安装准备

主从复制 学习内容 1. 备份的三种类型 1. 热备份 2. 逻辑备份 3. 物理备份 2. 情景 ⼊职企业&#xff0c;发现企业架构为⼀主多从&#xff0c;但是两台从服务器和主库不同 步&#xff0c;但是每天会全库北⽅主服务器上的数据到从服务器&#xff0c;由于数据量 不是很⼤&a…