一文详解大模型归因机制,幻觉问题有救了!

news2024/11/19 7:24:15

作者 | 谢年年、python

大模型的幻觉问题一直是一个亟待解决的挑战。由于大模型的训练语料来源广泛,且都是未经筛选的现实世界文本,预训练的目标也仅在于预测下一个单词,并未对生成内容的真实性进行建模和验证,这导致了大模型幻觉问题的频繁出现。

为了增强模型事实准确性和可验证性,一种可行的方法是在大模型生成响应的同时,提供相关证据来支撑其答案。这一研究方向称为归因(Attribution),即为大模型生成的答案追根溯源。通过归因,可帮助用户查看答案可能的来源,从而增强模型的可解释性,有利于用户评估答案的可靠性。

大模型研究测试传送门

GPT-4传送门(免墙,可直接测试,遇浏览器警告点高级/继续访问即可):
http://hujiaoai.cn

最近,哈尔滨工业大学团队对开放域生成系统中的归因机制进行了全面的回顾,深入探讨了归因的起源、相关技术、评估标准以及所面临的挑战。他们期望通过改进归因机制来提高生成式大模型的可靠性和真实性。

论文标题:
A Survey of Large Language Models Attribution

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

Github链接:
https://github.com/HITsz-TMG/awesome-llm-attributions

1. 什么是归因(Attribution)

在社会心理学中,归因指的是观察者根据他人的行为来推论行为原因和因果关系。而在大模型时代,归因指的是LLM能够回答问题且提供支撑回答的证据,通常以引用或文献引证的形式出现。

形式上来说,对于一个查询(或指令、提示) 和一个文本段落语料库。系统的目标是产生一个输出,其中包含一组个不同的论断: 。每个论断都关联着一组引用,其中每个是语料库中的一个段落。在呈现上,引用可以采用方括号的形式进行标注。如下图所示。

2. 归因与其他NLP任务的联系与区别

开放领域问答: 这两个任务都依赖于检索相关文档或信息来回答提出的问题或主张。开放领域问答侧重于回答的准确性和相关性,归因任务则关注生成的文本是否能够准确追溯到检索到的文档。

事实核查和主张验证: 事实核查和归因任务都需要检索外部证据来验证声明或生成的文本。事实核查的重点是验证声明的真实性,主张验证则根据证据或材料评估主张的真实性,而归因任务则侧重于确保生成的文本准确反映提供的参考资料。

自然语言推理: 这两个任务都涉及评估两段文本之间的关系;自然语言推理注重文本间的逻辑关系是蕴涵、矛盾或中性,而归因任务用于评估参考文心提供的证据是否能证实生成的文本。

文本摘要:摘要和归因任务都会生成简洁的文本,并需要检查生成文本与原始文本或来源内容的一致性。归因在摘要任务中起关键作用,能避免出现幻觉(即生成虚假或不支持的信息)并确保生成的摘要准确反映输入文本。

模型可解释性:归因特指将模型生成的信息或决策追溯到其源材料或输入特征的过程,为输出提 供清晰的参考或基础。而解释性是一个更广泛的概念,包括了理解模型如何处理输入数据以达到特定输出,使模型的内部运作对用户透明和可理解。归因可以被视为解释性的组成部分或具体形式,通过提供源参考来帮助理解和信任模型的输出。

3. 归因的方法

归因的形式主要有三种,如下图所示:

直接生成归因

在直接生成归因的过程中,模型不仅生成了答案,还直接生成了用于引用答案的参考文献。通过要求模型进行自我检测和自我归因,一些研究发现这样生成的文本更加基于事实,并在下游任务上表现出了更好的性能。

例如,《" according to..." prompting language models improves quoting from pre-training data》这篇论文提出了“根据提示”的方法,将模型生成的文本与预训练数据联系起来。《Learning to Plan and Generate Text with Citations》这篇论文则引入了一个中间规划模块,要求模型生成一系列问题作为当前问题的蓝图,然后将蓝图问题生成的文本组合为最终答案。这种蓝图模型允许在每个问题回答步骤中进行不同的归因,从而增强了模型的可解释性。

后检索回答

在后检索回答方式中,模型根据检索到的文档生成包含引文的答案。SmartBook框架从新闻文章中检索相关信息,然后生成结构化的情景报告。这些报告按时间轴组织,每个时间轴包含重要事件、战略问题和引文支持的简单总结。SearChain采用先检索后答复的方法,生成全局推理链(CoQ),并利用信息检索框架验证答案和提供缺失的知识。

后生成归因

为了保证准确归因又不影响LLMs的鲁棒性,一些研究将目标瞄准了后生成归因,即利用搜索引擎或文档检索系统根据输入的问题和生成的答案搜索证据。这种方法允许研究人员在不需要直接访问模型参数的情况下评估或改进答案的真实性。后检索问答归因的工作流程如下图所示,先生成答案然后再执行检索。检索到的文档用于引用和归因,随后用于进行事实验证和后期编辑纠正错误的内容。

例如,《RARR: Researching and Revising What Language Models Say, Using Language Models》能够自动识别并纠正模型输出中归因错误的内容,同时尽可能保留模型的原始输出。而《Retrieving Supporting Evidence for Generative Question Answering》则通过检索语料库中的材料,并利用LLM验证生成的回答与检索材料的一致性,并进行后期编辑纠正输出减少幻觉。

带归因的系统

LaMDA是一个以对话为核心的语言模型,经过使用带注释的数据对LaMDA进行微调,使其能够依据可信度较高的外部来源产生内容而非仅仅生成一个合理的回应,从而显著提升了模型的安全性。

基于GPT-3的WebGPT系统具备网络搜索和浏览能力,并能回答长篇问题。为了对其事实准确性进行人工评估,该模型在浏览Microsoft Bing时需要采集参考资料来支持其答案,以确保所提供的答案具备可信的网络来源。

在强化学习的帮助下,GopherCite能够引用多个文档的证据或用户提供的单篇文档。然而,在不确定的情况下,它会选择不回应。人工评估表明,GopherCite能够提供高达80%的高质量回应。

Sparrow可以利用Google搜索来搜索互联网,提供更准确的答案,并引用最新信息。在用户界面中,模型的响应与引文一起显示,为评估员提供了验证答案正确性的可能性。通过人工评估,带有证据的响应在78%的情况下被认为是合理的。

4.归因的评估方式

归因的评估侧重于基于参考的答案的可验证性,即引文与模型响应的相关性。它不测量模型的响应是否正确。

那么归因是否正确又是如何评判的呢?

归因错误的几种形式

粒度错误:对于一些模糊不清的问题,其答案往往涉及多个不同的方面,这时候检索到的多篇文档可能包含繁杂且多样的信息。因此,答案往往复杂且具有多样性,导致引用的内容往往不足以完全阐明问题。

如下图所示的答案中第二句话,涉及了两个不同方面的内容(巴齐尔最大的金块和美国最大的金块)。然而,在答案中只引用了文档3。

错误整合:当存在多个复杂的参考文档时,模型可能会混淆实体与事件之间的关联。在引用时,应确保引用的内容与生成的文本相符,同时对所有参考的文档进行引用。

如下图所示,答案错误地将奥林匹亚诸神与罗马神话混淆在一起,而奥林匹亚诸神和罗马神话分别来源于文档1和文档2。因此,在引用时,这两份文件都应被视为参考文件。

虚构生成:检索到的参考文献可能与问题无关,或者与模型内在参数知识之间存在冲突,导致生成错误的答案。

如下图,生成的答案并不是基于参考文档的,产生了幻觉,因此引用失效。

评估方式

人工评价:由于归因错误的检测难度较大,当前LLMs主要依赖人工评价进行归因。人工评估虽然准确,但成本高且耗时。单个样本的标注成本约为1美元,标注过程中还需要标注员谨慎对待并进行手动验证。因此,自动化方法也在逐步发展。

基于分类的评价: 早期研究主要采用二元分类法,即确定一个答案是否有参考支持(归因或非归因)。此外,还有一些更细致的分类方法,如《Evaluating Verifiability in Generative Search Engines》将参考文献支持程度划分为完全支持、部分支持或不支持。在此基础上,《Automatic Evaluation of Attribution by Large Language Models》引入了精细的归因分类,包括:1)可以归因–参考完全支持生成的陈述;2)可以推断–参考对陈述的支持不足;和3)相悖–陈述直接与引用的文献相矛盾。

定量评价指标: 归因质量的评估从三个不同角度进行:1)准确性:评估生成文本与提供的来源的一致性;2)精确性:衡量生成的归因与所要回答问题的关联性的百分比;3)召回率:评估生成的归因捕捉关键知识的范围。F1得分是由精确性和召回率指标得出的。此外,还有引用准确性,即模型响应中引用网络来源的频率。N-gram重叠度用于评估生成的语句是否来源于参考文档。

以上自动化方法相比人工评价省时省力,但仍不如人工评价准确、覆盖全面。未来的研究预计将进一步改进这些方法,确保它们在实际应用中的可行性和可靠性。

5. 归因的限制与未来挑战

1. 限制与挑战

LLMs的归因功能虽然有望提升任务性能和模型可解释性,但仍面临诸多待解决的限制。以下是对这些限制的总结:

  1. 难以确定何时以及如何进行归因。在LLMs中区分一般知识(可能不需要引文)和专业知识(理应进行归因)是一项微妙的任务,难以达成一致。

  2. 归因的准确性无法得到保证。LLMs可能会将生成的答案与不相关或错误的来源关联起来,这种错误归因可能导致用户产生困惑,从而影响信息的可靠性。例如,在医学领域,如果LLMs错误地将错误的医疗建议与可靠的参考进行关联,可能会产生严重的后果。

  3. 在计算机科学和临床医学等快速发展的领域中,数据的更新速度很快,因此LLMs进行的归因可能很快就会过时。

  4. 如果LLM过于频繁地提供引用,用户可能会因为信息量过大而感到困惑,难以区分内容的重要性和相关性。

  5. LLM归因有可能泄露隐私。

  6. 存在偏见挑战。LLM可能会倾向于某些来源或信息类型,从而推动特定观点而忽略其他观点。

  7. 缺乏可靠的验证措施可能导致LLM传播错误或误导性的信息,破坏模型的可靠性。未来的模型应该在证据不明确时避免发表陈述,而不是提出毫无根据的主张。

2.未来发展方向

在分析了归因方法的挑战和限制后,作者还提出了一些未来发展的方向:

LLMs持续更新: 建立一个新系统,以搜索引擎更新数据库的方式,持续更新LLMs的信息。这将确保引用的内容不断更新,并为持续学习提供一个平台。

提高LLM输出可靠性: 引入验证机制来评估归因的信息来源的可信度和准确性。这将确保引用的来源是可靠的,从而增强用户的信心。

在创造力与正确归因间保持平衡: 在不妨碍模型的创造力的情况下,确保生成的内容是可信的且基于事实的。这将创造一个平衡的环境,让用户从中受益。

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

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

相关文章

基于SuperMap iObjects Java生成地图瓦片

作者:dongyx 前言 在GIS领域,地图瓦片技术作为GIS领域的关键技术,是提高地图服务性能的关键手段之一。通过预先生成地图的瓦片数据,可以显著提升用户访问地图时的响应速度和体验。SuperMap iObjects for Java作为一款强大的GIS开…

浏览器渲染页面的过程以及原理

什么是浏览器渲染 简单来说,就是将HTML字符串 —> 像素信息 渲染时间点 浏览器什么时候开始渲染? 网络线程发送请求,取回HTML封装为渲染任务并将其传递给渲染主线程的消息队列。 问题:只取回HTML吗?那CSS和JS呢&am…

帆软认证FCRP第二题

【题目要求】 数据库中有一张地区数据统计表,但是并不规则 ,记录类似于,225100:02:3:20160725是一串代码,以:分割,第1位为地区代码,第2位为分类代码,第3位为数量,第4位为…

Leetcode—901.股票价格跨度【中等】

2023每日刷题&#xff08;五十二&#xff09; Leetcode—901.股票价格跨度 算法思想 实现代码 class StockSpanner { public:stack<pair<int, int>> st;int curday -1;StockSpanner() {st.emplace(-1, INT_MAX);}int next(int price) {while(price > st.top(…

[网鼎杯 2020 朱雀组]phpweb1

提示 call_user_func()函数先通过php内置函数来进行代码审计绕过system&#xff08;##不止一种方法&#xff09; 拿到题目养成一个好的习惯先抓个包 从抓到的包以及它首页的报错来看&#xff0c;这里死活会post传输两个参数func以及p func传输函数&#xff0c;而p则是传输参数的…

关于前端原生技术-Jsonp的理解与简述

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/134777717 出自【进步*于辰的博客】 在学习了Jsoup这个知识点之后&#xff0c;发觉js的这一特点…

2、Redis变慢原因排查(下)

感觉Redis变慢了&#xff0c;这些可能的原因你查了没 &#xff1f;(下) Redis变慢排查的上一篇【感觉Redis变慢了&#xff0c;这些可能的原因你查了没 &#xff1f;(上)】&#xff0c;我们是基于Redis命令为入口&#xff0c;比如命令使用不得当&#xff0c;bigkey问题&#xf…

Vue3组件使用问题

Vue3组件学习 文章目录 Vue3组件学习一、Message 全局提示组件返回数据换行问题二、DatePicker 日期选择框组件限制选定年份问题 一、Message 全局提示组件返回数据换行问题 问题&#xff1a;使用中发现仅仅通过写入\n或<br/>&#xff0c;无法实现回车显示的结果。 解决…

网站高性能架构设计——web前端与池化

从公众号转载&#xff0c;关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、高性能浏览器访问 1.减少HTTP请求 HTTP协议是无状态的应用层协议&#xff0c;也就是说每次HTTP请求都需要建立通信链路、进行数据传输&#xf…

Swagger Array 逐步解密:带你简化开发工作

Swagger 允许开发者定义 API 的路径、请求参数、响应和其他相关信息&#xff0c;以便生成可读性较高的文档和自动生成客户端代码。而 Array &#xff08;数组&#xff09;是一种常见的数据结构&#xff0c;用于存储和组织多个相同类型的数据元素。数组可以有不同的维度和大小&a…

想要高速文件传输?这些Aspera替代方案等你来试

在现如今数字化的时代&#xff0c;文件传输已成为企业、组织以及个人日常工作中必不可少的一部分。但是&#xff0c;面对庞大的数据量和低效的传输速度&#xff0c;很多人会感到头疼和无奈。在这样的情况下&#xff0c;高速文件传输工具成为了一个热门话题。而aspera替代方案则…

React/Vue/Svelte 前端项目中开始使用TailwindCSS

背景 TailwindCSS 近年来在前端圈非常流行&#xff0c;它摆脱了原有的CSS限制&#xff0c;以灵活实用为卖点&#xff0c;用户通过各种class组合即可构建出漂亮的用户界面。对于初学者而言&#xff0c;可能需要一些上手成本&#xff0c;一旦掌握实用技巧后&#xff0c;Tailwind…

JetBrains Rider for Mac/win中文版- 跨平台.NET 开发的终极选择!

在.NET开发世界中&#xff0c;JetBrains Rider凭借卓越的性能和丰富的功能成为了开发者的首选。JetBrains Rider是一款跨平台.NET集成开发环境&#xff08;IDE&#xff09;&#xff0c;可在Windows和macOS上无缝运行&#xff0c;为.NET开发提供了卓越的工作体验。 JetBrains R…

C++新经典模板与泛型编程:用成员函数重载实现std::is_convertible

用成员函数重载实现is_convertible C标准库中提供的可变参类模板std::is_convertible&#xff0c;这个类模板的主要能力是判断能否从某个类型隐式地转换到另一个类型&#xff0c;返回的是一个布尔值true或false。例如&#xff0c;一般的从int转换成float或从float转换成int&am…

相控阵天线(十四):常规大阵列天线分布(椭圆阵列、三角阵列、矩形拼接阵列、栅格拼接阵列)

目录 简介椭圆阵列三角阵列子阵拼接的矩形阵列子阵拼接的圆形阵列圆形子阵拼接阵列子阵栅格拼接阵列 简介 前面的博客已经介绍过常见的平面阵有一些基本类型&#xff0c;本篇博客介绍一些实际工程中可能出现的阵列&#xff0c;包括椭圆阵列、子阵通过矩形拼接形成的矩形大阵列…

题目:分糖果(蓝桥OJ 2928)

题目描述&#xff1a; 解题思路&#xff1a; 本题采用贪心思想 图解 题解&#xff1a; #include<bits/stdc.h> using namespace std;const int N 1e6 9; char s[N];//写字符串数组的一种方法,像数组一样***int main() {int n, x;cin >> n >> x;for(int …

有哪些已经上线的vue商城项目?

前言 下面是一些商城的项目&#xff0c;需要练手的同学可以挑选一些来练&#xff0c;废话少说&#xff0c;让我们直接开始正题~~ 1、newbee-mall-vue3-app 是一个基于 Vue 3 和 TypeScript 的电商前端项目&#xff0c;它是 newbee-mall 项目的升级版。该项目包含了商品列表、…

EXP-00056: 遇到 ORACLE 错误 12154 ORA-12154: TNS: 无法解析指定的连接标识符

exp oas/oasoas filed:\daochu.dmp owner(s) 导出特定用户 //exp 用户名/密码数据库 filed:\daochu.dmp owner(用户名) 1.重启oracle监听 cmd 中输入 services.msc 找到服务&#xff1a;OracleOraDb10g_home1TNSListener 与 OracleServiceORCL。 把两个服务启动. 若未解决…

CRM系统选择技巧,什么样的CRM系统好用?

SaaS行业发展迅速&#xff0c;更多的企业逐渐选择CRM管理系统。打开搜索引擎&#xff0c;有非常多的结果。怎样在数十万个搜索结果中选择适合您的CRM系统&#xff1f;下面我们将聊聊&#xff0c;怎样选择CRM系统。 第一步&#xff1a;明确自身需求 重要性&#xff1a;每家企业…

机器学习与低代码开发:创新驱动的双剑合璧

引言 随着科技的日新月异&#xff0c;机器学习和低代码开发已经成为引领技术行业变革的两大重要趋势。机器学习通过模拟人类的学习方式&#xff0c;让计算机具备了自我学习和预测的能力&#xff0c;打破了传统计算机程序的局限性。而低代码开发则以简化软件开发过程为目标&…