COLING 2024: 复旦发布AoR,层级聚合推理突破大模型复杂推理上限

“三个臭皮匠,顶个诸葛亮?”

“一个模型不行,那就再堆一个?”

过去当我们在处理复杂任务的时候,往往会考虑集成策略(Ensembling Strategy),通过多个模型投票的方式,选出更可能正确的答案。然而在更复杂的情况下,“真理往往掌握在少数人手中”,这时采取多数投票,就会使得结论偏离正确答案更远。

3.5研究测试:
hujiaoai.cn
4研究测试:
askmanyai.cn
Claude-3研究测试:
hiclaude3.com

因此,与其单纯评估答案是否正确来进行投票,不如反推思考过程,就好比在考试的时候,写出正确的应用题解题步骤至少就能得到大半的分。如果能对模型的中间推理步骤也做进一步剖析,将有助于得到更可靠的结果。

论文标题:
Aggregation of Reasoning: A Hierarchical Framework for Enhancing Answer Selection in Large Language Models

论文链接:
https://arxiv.org/pdf/2405.12939.pdf

思维链

思维链(Chain-of-Thought,CoT)技术是一种在大模型(LLMs)中引入的技术,旨在通过生成一系列中间步骤来解决复杂的推理任务。这种方法不仅仅是简单地给出答案,而是通过详细的推理过程来逐步解决问题,从而使得模型的推理能力得到显著提升。CoT技术通过引导模型生成逻辑上连贯的推理链,帮助模型更好地理解和处理复杂问题。

研究表明,CoT技术可以在不需要额外训练的情况下,通过简单的提示改进来提升模型在复杂推理任务上的表现。此外,CoT技术还被用于多步骤解决方案的生成,使得模型能够处理更加复杂和多变的问题。

然而,这种技术也存在一定的局限性,例如在使用单一推理链时可能出现随机性,这可能导致模型在选择最终答案时出现偏差。为了克服这一点,研究者提出了通过调整采样温度来收集多样化的推理链,并通过多数投票机制来选择最一致的答案。尽管这种方式在大多数情况下被验证有效,然而当正确答案出现在占少数比例的推理链时,这种方式则限制了CoT集成方法的能力上限。

基本概念

  • 标准提示(Standard Prompting):在标准提示下,大语言模型(LLM)接收问题和提示作为输入。模型将依次生成答案的每个token,目标是在每一步最大化似然概率。

  • 思维链提示(CoT Prompting):思维链提示法通过增强提示,从而将问题解决过程整合进去,并引导LLM在生成答案之前生成一个理由。将理由和答案对称为一个推理链。推理链的概率公式包括理由在给定提示和问题下的概率,以及在给定理由和问题下生成答案的概率。

  • 自我一致性(Self-Consistency):自我一致性方法使用CoT提示来采样个推理链集合,每个推理链包括一个理由和一个答案。最终答案来自于答案集合中出现次数最频繁的那个。

AoR框架

AoR(Aggregation of Reasoning)框架分为两个主要阶段:局部评分(Local-Scoring)和全局评估(Global-Evaluation)。此外为提高性能,该框架也引入了动态采样(Dynamic Sampling)过程。

两阶段架构

首先,使用思维链提示法采样个推理链,每个推理链包括一个理由和一个答案,如果有个不同的答案生成,这些答案将被分类到个不同的桶中,每个桶代表一个答案集合。在局部评分阶段,对每个桶内的推理链进行评分。在全局评估阶段,从每个桶中选择代表进行评估,以确定最终输出。

  • 局部评分:局部评分专注于在具有相同答案的组内选择高质量的推理链。假设有个推理链引导出一致的答案,这些推理链就形成一个桶,当这些推理链同时输入LLM时,根据提示中的评估标准(下图右上角黄色方框),LLM为每个推理链分配一个分数。然后基于预定义的阈值ϵ,高质量推理链被识别出来,并从这个筛选后的集合中选择前个作为桶的代表。

  • 全局评估:全局评估的任务是在不同答案的推理链中区分和选择最佳推理链,以确定最佳推理过程。假设有个桶,每个桶选择一个代表,形成一组个代表。当这些代表同时输入LLM时,根据提示中的评估标准(下图右下角绿色方框),LLM为每个代表分配一个分数。

  • 多轮评估:通过k轮评估,最终选择平均分数最高的桶作为最终答案。

动态采样

与此同时,AoR框架还创新性地引入了动态采样策略。利用全局评估阶段的分数,AoR根据当前LLM对最优推理链的信心水平来动态决定是否需要采样更多的推理链。这一策略使得AoR能够根据问题的复杂性和模型的当前表现来调整推理链的采样数量,有效地平衡了性能和计算成本,减少了不必要的计算开销。

动态采样的步骤如下:

  1. 确定两个关键答案:α(平均分数最高)和β(平均分数第二高)。

  2. 如果α和β之间的分数差距超过预定义阈值θ,则选择α作为最终答案并终止采样过程。

  3. 如果分数差距小于θ,AoR继续采样额外的个推理链,并根据既定标准评估这些新链的分数。

  4. 如果新采样的链引入了新答案或显著改变了分数排名,则需要在全局评估阶段重新评估以重新校准分数。

总的来说,动态采样在两种情况下停止:领先答案之间的信心差距达到或超过θ,或采样的推理链总数达到预定义的最大值。

实验

实验任务和数据集

本研究涉及三种推理任务:数学推理、常识推理和符号推理。

数学推理任务包括GSM8K、MultiArith、SingleEQ、SVAMP、AddSub和AQuA数据集。

常识推理任务涵盖StrategyQA、CommonsenseQA、BoolQ和ARC-C数据集。

符号推理任务则包括Date Understanding、Penguins in a Table、Colored Objects和Object Counting数据集。

实验结果与分析

AoR在六个数学推理数据集上的表现超过了所有基线方法。特别是在AQuA数据集上,AoR相比于次优方法DiVeRSe提高了7.2%的平均性能。

此外,AoR在常识推理任务中也表现出显著的性能提升,相比于SC和CC方法,平均提高了8.45%和8.27%。在符号推理任务中,AoR在Date Understanding和Penguins数据集上相比SC分别提高了5.8%和8.9%。

动态采样是AoR方法的一个关键特性,它根据LLM在最优推理链上的信心水平动态决定是否需要采样更多推理链。如下图所示,在AQuA和GSM8K数据集上,大部分样本在第一轮后就已经得到了满意的答案,只有少数更复杂的样本需要进一步的推理链。这种方法不仅提高了决策的准确性,还通过减少不必要的计算,实现了性能与计算成本之间的平衡。

讨论

本文评估了AoR框架在包括GPT-4,Claude-2,LLaMA-2,Mistral在内不同LLMs上的效果,与SC和CC方法相比,AoR平均分别提高了8.1%和7.6%。尤其在LLaMA-2模型上,与SC相比,AoR的性能提高了16.6%。

此外,当候选集中包含正确答案时,AoR未能正确选择该答案的样本比例显著减少,表明AoR在利用推理链信息提高选择正确答案的可能性方面是高效的。

AoR在提高性能的同时显著降低了开销。例如,CoT-AoR (20,40)在性能上超过CoT-SC(40),并且开销减少了20%。

在动态采样的局部评估阶段,本文使用不同的示例策略对最终答案的影响进行了评估。使用最高分和最低分的推理链作为示例可以获得最佳性能。

总结与展望

AoR方法通过引入层次化的推理链聚合框架,显著提高了LLM在复杂推理任务中的表现。通过局部评分和全局评估的两阶段过程,AoR不仅提高了答案的准确性,还通过动态采样机制有效平衡了性能和计算成本。此外,AoR的设计充分利用了LLM的评估能力,进一步提升了模型判断的准确性。

尽管AoR在提高推理任务的性能方面取得了显著成效,但仍有一些潜在的改进空间。首先,当前的AoR框架可能在处理极其复杂或含糊不清的问题时仍会遇到挑战。这些情况下,即使是经过筛选的高质量推理链也可能无法覆盖所有可能的答案,导致最终选择的答案不够准确。

其次,AoR的效率和效果很大程度上依赖于LLM的评估能力。如果能进一步提高LLM的评估准确性,或者开发出更先进的评估算法,那么AoR的性能可能会得到进一步的提升。

最后,考虑到不同任务和数据集特性,AoR的通用性和适应性也是未来研究的一个重要方向。通过对不同类型的推理任务进行更深入的分析和优化,可以使AoR方法在更广泛的应用场景中发挥更大的效用。

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

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

相关文章

SSL 、IPSec、MPLS和SD-WAN的对比分析

VPN类型 实现方式 应用场景 优势 SSL VPN 基于SSL/TLS协议 传输层加密 远程访问企业 内部资源 易于部署和管理 无需额外客户端 IPSec VPN 基于IPsec协议 网络层加密 站点到站点和远程访问 强大的加密和认证机制 MPLS VPN 基于MPLS技术 标签转发 企业站点间连接…

图形学初识--屏幕空间变换

文章目录 前言正文为什么需要屏幕空间变换?什么是屏幕空间变换?屏幕空间变换矩阵如何推导?问题描述步骤描述 结尾:喜欢的小伙伴点点关注赞哦! 前言 前面章节主要讲解了视图变换和投影变换,此时距离在屏幕空间显示也就…

alexnet模型_图像分类算法对动物有无斑纹识别-不含数据集图片-含逐行注释和说明文档

alexnet模型_图像分类算法对动物有无斑纹识别-不含数据集图片-含逐行注释和说明文档 代码下载地址: https://download.csdn.net/download/qq_34904125/89357170 本代码是基于python pytorch环境安装的。 下载本代码后,有个环境安装的requirement.txt…

广告变现是什么

广告变现是指媒体或平台通过向用户展示广告主的广告,从而获得收入的过程。 广告变现就像是一个店主,他需要有一个吸引人的店面,提供优质的内容和服务,然后在店里摆放一些别人的商品或服务,每当有客人看了或买了这…

量化研究---强大的可转债分析系统上线,提供api,实时数据支持

今天把可转债实盘的分析模型拿出来,放在服务器方便选股分析,方便后面对接大qmt直接选股交易 强大的禄得可转债自定义因子轮动系统完成,可转债三低为例子 自定义因子实盘的框架 自定义因子轮动框架非常强大 网页 http://120.78.132.143:8023/…

如何保障网络稳定与业务连续性?

在现代企业中,网络是关键的基础设施之一,确保网络稳定和业务连续性是IT运维的重要职责。一个有效的网络流量监控系统能够帮助企业实时了解网络状况,快速发现和解决问题,从而提高整体运营效率。本文将深入探讨企业网络流量监控的重…

python上位机串行通信接收字节数据的校验处理-以crc16-modbus为例

在串行通信中,接收到的数据是否正确,一般用CRC校码的方式来完成。上位机向下位机发送数据时,需要加上校验码,同理,下位机向上位机上报数据时,也需要加上校验码。 校验码的计算方法有很多,比较简…

C# WinForm —— 23 Timers.Timer 组件介绍与使用

1. 简介 System.Timers.Timer 计时器 轻量 每隔一段时间触发Elapsed事件,执行操作(不是由UI线程执行的),即使事件中执行了比较耗时的操作,也不会造成 UI 失去响应 如果要获取服务器的计时功能的话,可以使用System.Timers.Timer …

PLC电脑编程软件怎么下?详细指南与技巧解析

PLC电脑编程软件怎么下?详细指南与技巧解析 在工业自动化领域,PLC(可编程逻辑控制器)扮演着至关重要的角色。为了对PLC进行编程和调试,我们需要使用专门的PLC电脑编程软件。本文将详细介绍如何下载并安装这些软件&…

轻松记录收支明细,智能筛选并统计买菜历史记录:一键掌握家庭财务

在繁忙的生活中,你是否曾为家庭财务的琐碎而烦恼?买菜、购物、日常开销……每一笔支出都似乎难以捉摸,让你在月底对账时头疼不已。现在,我们为你带来了一款全新的财务记录工具,让你轻松记录收支明细,智能筛…

2024华为OD机试真题-推荐多样性-C卷D卷-200分-(C++/Java/Python)

【华为OD机试】-(A卷+B卷+C卷+D卷)-2024真题合集目录 【华为OD机试】-(C卷+D卷)-2024最新真题目录 题目描述 推荐多样性需要从多个列表中选择元素,一次性要返回 N 屏数据(窗口数量),每屏展示 K 个元素(窗口大小),选择策略: 各个列表元素需要做穿插处理,即先从第一个…

关于如何在Arch Linux上编写自己的第一个module

前一段时间一直想深入学习编写一个module插入到自己的内核当中,但是网上的资料基本上全都针对的Ubuntu和Debian等流行的Linux发行版,这里打算简单的记录一波博客。 啥是Module?(着急可不看) 众所周知:现代宏内核架构的操作系统都会借鉴微内核…

C语言| 100元换成50元、20元、10元有几种方案?

/* 求出用50元、20元和10元换算100元有几种方式? 100元可以换两张50元,可以换5张20元,可以换10张10元。 用到for循环去实现,换算的最大范围分别是2 5 10 最中间再嵌套一个if,利用100 50*wushi20*ershi10*shi判断&a…

crbug/1173575

需要新建一个前端工程,前端人员从之前的一个工程复制过来,修改了端口号,删除了不适合的代码,打算从空工程开始开发。一切顺利,npm run dev,访问浏览器,结果页面出不来。怀疑删除了不该删除的文件…

Kotlin使用Dagger2但无法生成对应类 Unresolved reference: DaggerMyComponent

Dagger2无法生成对应类 Unresolved reference: DaggerMyComponent 解决: 在gradle.properties中设置 kapt.incremental.apt false参考链接: https://www.jianshu.com/p/f79003a5e6ba

vcruntime140.dll丢失如何安装,附找不到vcruntime140.dll的六种解决方法

vcruntime140.dll是一个动态链接库文件,属于Microsoft Visual C Redistributable Packages的一部分,专为Visual Studio 2015开发环境设计。它提供了C运行时库(CRT)中的一些关键功能,以及一些额外的Microsoft特定的运行…

0基础前端理论:揭开网页构建与交互的奥秘

0基础前端理论:揭开网页构建与交互的奥秘 在数字化时代,前端技术已经成为构建现代网页和应用程序不可或缺的一部分。对于零基础的学习者来说,理解前端理论是迈向成功的关键一步。本文将从四个方面、五个方面、六个方面和七个方面深入探讨0基…

【数据库系统原理】函数依赖与范式

在数据库设计中,范式(Normal Forms, NF)是用来规范化数据库表结构,以减少冗余数据和提高数据一致性与完整性的重要工具。 函数依赖 完全函数依赖与部分函数依赖 完全函数依赖 定义: 完全函数依赖表示的是在一个关系…

Java排序算法汇总篇,八种排序算法

排序算法汇总: Java排序算法(一):冒泡排序 Java排序算法(二):选择排序 Java排序算法(三):插入排序 Java排序算法(四):快速排序 Java排序算法(五):归并排序 Java排序算法(六):希尔排序 Java排序算法(…

18.Redis之哨兵

1.哨兵机制的介绍 通过自动化的手段,来解决主节点挂了的问题~~ 哨兵机制, 是通过独立的 进程 来体现的.和之前 redis-server 是不同的进程!! redis-sentine| 不负责存储数据,只是对其他的 redis-server 进程起到监控的效果~~ 通常哨兵节点,也会搞一个集合~~(多个哨兵节点构成的…