MetaAI提出全新验证链框架CoVE,大模型也可以通过“三省吾身”来缓解幻觉现象

4fdd2cbe2bc046c1b1af9ac28ad6f0f9.png

 

论文名称: Chain-of-Verification Reduces Hallucination in Large Language Models

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

曾子曰:“吾日三省吾身”
--出自《论语·学而》

时至今日,生成幻觉(hallucination)仍然是大模型研究界中一个令人非常头疼的问题。生成幻觉是指大语言模型在针对一些问题给出看似合理但不符合真实事实的虚假回答,这对于大模型在一些风险场景中的落地应用提出了更高的要求。本文介绍一篇来自MetaAI的最新研究工作,本文参考大模型核心技术思维链(CoT)的设计模式,提出了一种大模型自身纠正错误(自省)的方法框架,称为验证链(Chain-of-Verification,CoVE)。CoVE首先会让模型根据用户输入的问题草拟一个初始回答,然后规划出一个对该初始回答进行事实核查的验证计划,随后使模型独立回答这些验证问题,保证问题之间不会产生影响,最后模型会综合以上所有信息产生一个验证结果。作者在MultiSpanQA和长格式文本生成等任务上进行了大量的实验,实验表明,CoVE方法可以有效缓解LLMs在各种任务中的生成幻觉现象

01. 引言

LLMs的训练语料库规模非常庞大,通常包含数十亿的文本标记数据,目前有很多研究表明,随着模型参数数量的增加,LLMs可以生成更多正确的事实陈述。但是对于一些位于数据集尾部分布的问题,即使是规模最大的模型仍然会出现幻觉现象,尤其是在一些长文本生成或长篇文本理解任务中。此外,目前LLMs的研究重心已经逐渐转向研究其在复杂问题上的推理能力。因此基于这一研究方向,本文作者开始考虑如何在模型生成的内部思维推理链上实现一些操作来缓解模型的幻觉现象,并提出了一种称为验证链的CoVE方法,CoVE方法使大模型先生成一个初始回答草稿,并根据草稿生成自我检查的验证计划,然后根据计划系统的回答这些子问题,最终根据子问题的结果来生成最终的响应,这一过程非常像大模型在自己进行“三省吾身”。作者发现,CoVE通过独立验证问题的方式会相比原始长回答带来更加准确的事实信息。

02. 本文方法

2.1 整体框架流程

本文提出的CoVE框架主要分为以下四个核心步骤:

(1)生成基线响应:给定一个用户查询文本,使用LLM生成第一个草稿响应

(2)验证计划的制定:根据输入查询和基线响应文本,LLM需要生成一个可以验证问题回答正确性的列表,这有助于LLM开启自我分析进程。

(3)执行验证计划:LLM需要依次回答每个验证问题,然后将答案与原始响应进行检查,以检查是否存在不一致的情况或错误

(4)生成最终验证响应:LLM需要根据执行验证计划得到的不一致情况(如果有),综合生成包含验证结果的修正后响应。

0accacb066fb459aa6399a19184957f3.png

 

上述四个步骤的执行情况如上图所示,这里给出了一个ChatGPT生成幻觉的示例,可以看到,CoVE对验证计划列表中的每个问题进行单独处理后,可以产生出与初始基线响应事实性完全相反的结果(希拉里·克林顿事实出生在芝加哥),通过回答这些问题并检查生成答案与基线响应是否一致,CoVE就可以将幻觉现象检测出来并进行更正。

2.2 执行验证计划的不同方式

上一小节中列出的四个步骤均需要提示同一个LLM来获得响应,其中步骤(1)(2)和(4)都可以通过单个文本提示来进行调用,但是对于幻觉检查质量的关键其实是在步骤(3)中的验证计划执行,因此作者对步骤(3)设计了多个不同版本,包括联合方法、2-step方法和分解方法。这些不同的版本涉及到单个提示、两个提示或每个问题独立的提示,其中分解方法的执行较为复杂,但是可以直接改进生成的结果。

2.2.1 联合方法

对于最简单的联合方法,计划和执行都是通过使用单个LLM提示来完成的,但是这种方法存在一个明显的缺陷,由于验证问题必须以初始基线响应为条件,因此这样联合产生的验证答案极有可能与初始响应中的内容有关,这有可能会在验证过程中产生二次幻觉

2.2.2 2-step方法

为了解决联合方法中存在的问题,作者将计划和执行分成单独的步骤,两个步骤都设置了专用的LLM提示,称为2-step方法。这时,规划提示会以第一步中的基线响应为条件,而由规划产生的验证问题则会在第二步中得到回答,其中至关重要的是,LLM提示的上下文仅包含问题,而不包含原始基线响应的内容,因而可以避免产生二次幻觉。

2.2.3 分解方法

除了上述两种方法,作者还提供了一种更加复杂的方法,即分解方法。分解方法将完全不以原始基线响应为条件,其可以消除来自基线响应中的任何潜在干扰。其要求在生成规划和执行规划时全都使用单独的提示并使LLM独立回答所有问题,这样可以消除答案上下文之间的任何潜在干扰。虽然这可能会增加计算成本,需要执行更多的LLM推理,因此必须从计划验证制定步骤中获取生成的问题集,并将它们解析为单独的问题列表,这样就可以对其进行批处理操作,实现并行推理来提高效率。在对每个验证问题回答完成之后,CoVE需要对这些答案与原始响应的一致性进行检查,这时,作者引入了一个额外的LLM提示来执行这一操作,这一操作需要同时以基线响应、验证问题和验证答案为条件,因而可以得到更加完善,消除幻觉后的回答。

03. 实验效果

本文的实验在多种文本生成和回答基准上进行,例如Wikidata、Wiki-Category lists、MultiSpanQA和长篇传记生成任务等。其中Wikidata基准需要模型根据列表形式的问题生成实体类的回答。Wiki-Category lists是一种相比Wikidata更加困难的集合生成任务,MultiSpanQA是一项标准的大模型阅读理解基准,其由包含多个独立答案的问题组成,本文的实验使用了闭卷设置。此外,为了评估CoVE在长文本生成方面的效果,作者使用了传记生成基线Factscore[1],LLM需要根据输入一个实体提示来直接生成其对应的传记

2313477dba16454ebe36baba5dd895b3.png

 

对于基线LLM,作者选用了开源的Llama 65B[2],上表展示了CoVE在列表回答任务上的实验效果,可以看到,CoVe相比Llama 65B的few-shot基线的精度提高了一倍多(从0.17到0.36)。此外,从正负分类的结果可以看出,在使用CoVE方法之后,模型生成的幻觉答案数量大幅减少(Neg:2.95到0.68),而非幻觉答案数量受到的影响很小(Pos:0.59到0.38)。

8a6af6de5a4c4fe2a73f2c3a3cd475bd.png

 

上表展示了CoVE在MultiSpanQA基线上的实验效果,可以看到,CoVe改善了Llama在普通QA问题上的回答正确率,尤其是其F1比Llama few-shot基线提高了 23%。

46b65c1d8f63483381f4c7254a779869.png

此外,在长格式文本生成方面,CoVE实现了相比列表回答和QA任务更加明显的性能增益,具体实验结果如上表所示,其在Factscore基线上得到的分数相比Llama few-shot基线增加了28% (55.9到71.4)。

51f1a5e0148141f590d62acb8ce140b8.png

 

此外,作者还在上图中展示了CoVE在事实改进细分方面的改进对比效果,其中黄色、浅绿色和绿色条柱为本文方法的效果,可以看到,CoVe主要在罕见事实和更常见事实方面提供了更明显的改正

04. 总结

本文引入了一种称为验证链(CoVE)的大模型幻觉消除方法,这是一种通过仔细考虑自身的反应并进行自我纠正的方法。CoVE通过将初始问题的回答进行合理的拆分,并对拆分的问题进行单独的验证,模型就可以相比回答原始查询时更加准确地回答问题。其次,在回答一组验证问题时,CoVE可以控制模型不受先前答案和上下文的影响,从而有效的减轻幻觉的生成。总体来说,CoVE是一项简单而有效的方法,本文作者还提到,后续可以为CoVE配备一些工具来使用。例如,在验证执行步骤中使用可以使用在线检索增强技术,这可能会带来进一步的性能提升。

参考

[1] Sewon Min, Kalpesh Krishna, Xinxi Lyu, Mike Lewis, Wen-tau Yih, Pang Wei Koh, Mohit Iyyer, Luke Zettlemoyer, and Hannaneh Hajishirzi. Factscore: Fine-grained atomic evaluation of factual precision in long form text generation. arXiv preprint arXiv:2305.14251, 2023

[2] Hugo Touvron et al. Llama 2: Open foundation and fine-tuned chat models, 2023b.


  关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

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

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

相关文章

案例分析真题-质量属性

案例分析真题-质量属性 2009 年真题 【问题1】 【问题2】 2011 年真题 【问题1】 骚戴理解:首先要知道这样的题目没有可靠性,只有可用性,更没有容错性,这里我(3)写成了i,而不是f,仔…

众和策略:微软大动作

当地时间周二,美股首要指数全线收涨。但从月度数据来看,美股首要指数录得“三连跌”,10月份,道指跌1.36%,标普500指数跌2.2%,纳指跌2.78%。其间,标普和道指均为2020年3月以来初次呈现三个月连跌…

深度学习网络模型 MobileNet系列MobileNet V1、MobileNet V2、MobileNet V3网络详解以及pytorch代码复现

深度学习网络模型 MobileNet系列MobileNet V1、MobileNet V2、MobileNet V3网络详解以及pytorch代码复现 1、DW卷积与普通卷积计算量对比DW与PW计算量普通卷积计算量计算量对比 2、MobileNet V1MobileNet V1网络结构MobileNet V1网络结构代码 3、MobileNet V2倒残差结构模块倒残…

linux系统的环境变量-搞清环境变量到底是什么

环境变量 引例环境变量常见的环境变量echoexportenvunsetset 通过代码获取环境变量使用第三个参数获取使用全局变量enviorn获取环境变量通过系统调用获取环境变量 环境变量具有全局属性main函数前两个参数的作用 引例 在linux系统中,我们使用ls命令,直接…

模型实际训练笔记1—AlexNet

1、AlexNet网络模型介绍: AlexNet 是一种深度卷积神经网络,由Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 在2012年开发。它是深度学习领域的重要里程碑,因为它在当年的 ImageNet 大规模图像分类竞赛(ILSVRC&#xff09…

pc通过window.open打开新页面,新页面要使用原来页面的token

原文链接: https://blog.csdn.net/weixin_42342065/article/details/127420783 (以下为本人笔记使用) 对于前端来说,一般在登录获取token之后会把token存入缓存以及放置在Request Headers请求头中,但是使用iframe/window.open/a这三种标签打…

微信小程序-授权登录(手机号码)

1、WXBizDataCrypt.js-下载地址 2、UNIAPP代码 <template> <view class"work-container"> <view class"login"> <view class"content"> <button class"button_wx&q…

(四)上市企业实施IPD成功案例分享之——天士力

众所周知&#xff0c;药物有创新药和仿制药两种&#xff0c;其实这是根据新药研发的方式划分的&#xff0c;而创新药则经历一个从无到有的过程。无论是仿制药还是创新药&#xff0c;都是基于市场需求为前提进行的研发过程&#xff0c;药物研发立项同样需要满足治疗人类的疾病&a…

Android 13 Handler详解

1.Handler 简介 Handler 是一套 Android 消息传递机制。在多线程应用场景中&#xff0c;将子线程中需要更新 UI 的操作消息&#xff0c;传递到 UI 主线程&#xff0c;从而实现子线程通知 UI 更新最终实现异步消息处理。说白了是用于线程之间的通信。 Handler主要有4个重要类&a…

学习笔记|两因素析因设计的方差分析|效应量|统计分析策略|《小白爱上SPSS》课程:SPSS第九讲 | 两因素析因设计的方差分析,超级详细

目录 学习目的软件版本原始文档两因素析因设计的方差分析一、实战案例二、统计策略三、SPSS操作1、正态性检验2、方差分析 四、结果解读Tips&#xff1a;效应量越大越好吗&#xff1f;统计分析策略 五、简单效应操作及结果1、SPSS操作2、结果解读 六、规范报告1、规范表格2、规…

关于宝塔面板提示“upgrade your ACME client to support TLSv1.2 or better”的解决办法

今天续期SSL证书的时候提示“upgrade your ACME client to support TLSv1.2 or better”&#xff0c;这一般是旧系统情况下TLS版本过低&#xff1a;acme.sh版本低于2.8所引起的&#xff0c;也就是提示&#xff1a;升级你的系统至 TLS 1.2 协议或更高版本。 但是国内服务器无法…

创建javaEE项目(无maven),JSP(九大内置对象)、Servlet(生命周期)了解

一、Servlet和jsp 0.创建web项目(无maven)&#xff1a; 1.创建一个普通的java项目 2.项目根目录右键&#xff0c;添加模板 3.配置tomcat服务器 4.配置项目tomcat依赖 1.Servlet(Server Applet)服务端小程序 用户通过浏览器发送一个请求&#xff0c;服务器tomcat接收到后&…

python 练习 在列表元素中合适的位置插入 输入值

目的&#xff1a; 有一列从小到大排好的数字元素列表&#xff0c; 现在想往其插入一个值&#xff0c;要求&#xff1a; 大于右边数字小于左边数字 列表元素&#xff1a; [1,4,6,13,16,19,28,40,100] # 方法&#xff1a; 往列表中添加一个数值&#xff0c;其目的方便元素位置往后…

GB28181协议如何注册

前言 GB28181协议是视频监控领域的国家标准&#xff0c;本文将解析如何在FFmpeg中增加对GB28181协议的支持&#xff0c;使其可以与支持GB28181协议的设备进行通信与控制&#xff0c;实现设备的注册、保活以及流媒体的传输。 1.背景介绍 GB28181协议指的是国家标准GB/T 28181…

360加固APP后启动崩溃—注意加固前后签名是否一致

如下截图所示&#xff0c;我今天就是遇到了这个问题&#xff0c;这个问题是比较好解决&#xff0c;但如果官网有显眼指引说明会不会对开发者更友好些呢&#xff1f; 首先我们给360的加固包是带有自己的签名的&#xff0c;然后经360加固过后&#xff08;免费的加固服务&#xf…

适合短视频团队使用的批量剪辑软件,支持免费试用,建议都去试试

全能的批量剪辑是什么样&#xff1f;大致就是既要能写脚本、又要能高效剪辑、并完成矩阵分发&#xff0c;从各个环节助力团队提升工作效率。 推荐超级编导这款批量剪辑工具&#xff0c;吸取同类批量剪辑软件的优点&#xff0c;弥补其他软件的不足&#xff0c;根据国内外2000短…

20.4 OpenSSL 套接字AES加密传输

在读者了解了加密算法的具体使用流程后&#xff0c;那么我们就可以使用这些加密算法对网络中的数据包进行加密处理&#xff0c;加密算法此处我们先采用AES算法&#xff0c;在网络通信中&#xff0c;只需要在发送数据之前对特定字符串进行加密处理&#xff0c;而在接收到数据后在…

提高微星笔记本Linux下散热性能,MSI-EC 驱动新补丁发布

导读近日消息&#xff0c;今年早些时候&#xff0c;Linux 6.4 中添加了 MSI-EC 驱动程序&#xff0c;允许对 Linux 系统微星笔记本电脑进行更多控制。 MSI-EC 驱动程序近日迎来新补丁&#xff0c;为微星笔记本带来 Cooler Boost 功能。该功能允许提高笔记本电脑的风扇转速&…

3DEXPERIENCE云端项目管理小工具--Project Planner项目策划者角色

云端3DEXPERIENCE平台提供了一个协作环境&#xff0c;使企业和个人能够以全新的方式实现创新。它将人员、创意、数据和解决方案连接到一个始终在线且可用的协作和交互环境中&#xff0c;可以帮助您的企业提高执行力、生产率并加速创新。 3DEXPERIENCE中的Project Planner项目策…

【Linux虚拟机】 JDK、Tomcat、MySQL安装配置讲解

目录 一、上传安装包到服务器 二、JDK与Tomcat安装 2.1 解压安装包 2.2 配置JDK环境变量 2.3 配置Tomcat环境 三、MySQL安装配置 3.1 删除默认数据库 3.2 安装mysql安装包 3.3 mysql初始化操作 四、后端接口部署 4.1 导入项目.war 4.2 新建数据库 4.3 运行服务器项目…