一份全面「梳理LLM幻觉问题」的综述

文章目录

  • 一文全面梳理「LLM 幻觉问题」
    • 1. 幻觉的分类
    • 2. 幻觉的来源
      • 2.1 幻觉来自数据
      • 2.2 幻觉来自训练
      • 2.3 幻觉来自生成/推理
    • 3. 幻觉的检测
      • 3.1 事实性幻觉的检测
      • 3.2 忠实性幻觉的检测
    • 4. 幻觉的评估
    • 5. 幻觉的解决

一文全面梳理「LLM 幻觉问题」

相信大家在使用ChatGPT或者其他大模型时会遇到这样的情况,模型答非所问甚至自相矛盾。

虽然大语言模型(LLMs)在各种下游任务中展示出了卓越的能力,在多个领域有广泛应用,但存在着幻觉的问题:即生成与用户输入不符、与先前生成的内容矛盾或与已知世界知识不符的内容。

这种现象对LLMs在现实世界场景中的可靠性构成了重大挑战。在准确率要求非常高的场景下幻觉是不可接受的,比如医疗领域、金融领域等。

目前在LLM幻觉问题上已经有无数的研究,比如关于幻觉的检测、幻觉的评估基准分类、缓解幻觉的方法等。

今天我会结合几篇有关LLM幻觉问题的综述论文,来聊聊LLM幻觉的分类、检测方法、评估和基准、减轻方法等。

传送门:《一文读懂:大语言模型LLM的幻觉问题》

最近的一篇是来自哈尔滨工业大学和华为的研究团队,长达49页,对有关LLM幻觉问题的最新进展来了一个全面而深入的概述。

这篇综述(下文简称:综述1)从LLM幻觉的创新分类方法出发,深入探究了可能导致幻觉的因素,并对检测幻觉的方法和基准进行了概述。

在这里插入图片描述

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

在这里插入图片描述

另外还有一篇综述(下文简称:综述2),来自腾讯AI实验室和一些国内大学的研究团队,综述提出了LLM幻觉现象的分类法和评估基准,分析旨在减轻LLM幻觉的现有方法,并确定未来研究的潜在方向。

在这里插入图片描述

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

还有一篇有关幻觉的论文(下文简称:论文1),对各种文本生成任务中的幻觉现象进行了新的分类,从而提供了理论分析、检测方法和改进方法。

在这里插入图片描述

论文链接:https://arxiv.org/pdf/2309.06794v1.pdf

1. 幻觉的分类

在综述2中,将LLMs幻觉分为三种:输入冲突幻觉上下文冲突幻觉事实冲突幻觉

  • 输入冲突幻觉:是指生成的内容与用户提供的输入不符;
  • 上下文冲突幻觉:是指生成的内容与之前生成的信息相矛盾;
  • 事实冲突幻觉:是指生成的内容与已知的世界知识不符。

在这里插入图片描述

在这里插入图片描述

图注:3种幻觉的定义

而在最新的综述1中,将LLM幻觉分为两种:事实型幻觉和忠实度幻觉。

在这里插入图片描述

如上图所示,左边是事实型幻觉:当LLM被问到谁是第一个在月球上漫步的人时,LLM编了个人物出来,甚至还说得有模有样。右边是忠实度幻觉:LLM在看到这段新闻后,直接把年份概括错了。

下图是一张更为详细的LLM幻觉种类图,包括更为细致的分类:事实型幻觉包括事实不一致、事实捏造;忠实度幻觉又包括:指令-答案的不一致、文本不一致,以及逻辑不一致。

在这里插入图片描述

总的来说,结合事实、上下文、输入的不一致,幻觉的定义和分类上是相似的。

结合常见的下游任务,比如机器翻译、问答系统、对话系统、文本摘要、LLM知识图谱和视觉问答系统,论文1总结了典型的幻觉现象,如下表所示:

在这里插入图片描述

2. 幻觉的来源

综述2认为产生幻觉的主要原因有预训练数据收集知识GAP大模型优化过程三个方面。

最新的综述1也深入探讨LLM产生幻觉的根本原因,主要分为三个关键方面:数据训练推理

结合起来,我们具体来看下幻觉的来源:

2.1 幻觉来自数据

  • 预训练数据:大模型的知识和能力主要来自与预训练数据,如果预训练数据使用了不完整或者过期的数据,那么就很可能导致知识的错误,从而引起幻觉现象。
  • 数据利用:LLMs 往往会捕捉到虚假的相关性,在回忆知识(尤其是长尾信息)和复杂推理场景中表现出困难,从而进一步加剧幻觉。

2.2 幻觉来自训练

  • 预训练阶段:LLMs在这一阶段学习通用表征并捕捉广泛的知识,通常采用基于transformer的架构,在庞大的语料库中进行因果语言建模。但是,固有的架构设计和研究人员所采用的特定训练策略,可能会产生与幻觉相关的问题。
  • 对齐阶段:一般涉及两个主要过程,即监督微调和从人类反馈中强化学习(RLHF)。虽然对齐能显著提高 LLM 响应的质量,但也会带来产生幻觉的风险,主要分为两方面:能力不对齐(Capability Misalignment)和信念不对齐(Belief Misalignment)。

2.3 幻觉来自生成/推理

经过预训练和对齐后,解码在体现 LLM 能力方面发挥着重要作用。然而,解码策略的某些缺陷可能导致 LLM 出现幻觉。综述1深入探讨源于解码过程的潜在原因,并强调两个关键因素:

  • 解码策略固有的随机性(Inherent Sampling Randomness):比如采用采样生成策略(如top-p和top-k)引入的随机性也可能导致幻觉的产生。
  • 不完善的解码表示(Imperfect Decoding Representation):在解码阶段,LLM 使用顶层表示法预测下一个标记。然而,顶层表示法也有其局限性,主要表现在两个方面: 上下文关注不足(Insufficient Context Attention)和Softmax瓶颈(Softmax Bottleneck)。

3. 幻觉的检测

检测 LLM 中的幻觉对于确保生成内容的可靠性和可信度至关重要。传统的衡量标准主要依赖于词语重叠,无法区分可信内容和幻觉内容之间的细微差别。这样的挑战凸显了为 LLM 幻觉量身定制更复杂的检测方法的必要性。

鉴于这些幻觉的多样性,检测方法也相应地有所不同。

在综述1中,全面介绍了针对事实性幻觉忠实性幻觉的主要幻觉检测策略。

3.1 事实性幻觉的检测

事实性幻觉的检测方法:通常分为 “检索外部事实”(Retrieve External Facts)和 “不确定性估计”(Uncertainty Estimation)。

检索外部事实:为了有效地指出 LLM 输出中的事实不准确之处,一种直观的策略是将模型生成的内容与可靠的知识来源进行比较,如下图 3 所示。
在这里插入图片描述

虽然许多幻觉检测方法都依赖外部知识源进行事实检查,但有几种方法可以在零资源环境下解决这一问题,从而无需检索。

这些策略背后的基本前提是,LLM 幻觉的起源本质上与模型的不确定性有关。

因此,通过对模型生成的事实内容的不确定性进行估计,就可以检测出幻觉。

不确定性估计的方法大致可分为两种:基于内部状态和** LLM 行为**,如图 4 所示。前者的前提是可以访问模型的内部状态,而后者则适用于更受限制的环境,仅利用模型的可观测行为来推断其潜在的不确定性。

在这里插入图片描述

3.2 忠实性幻觉的检测

忠实性幻觉的检测方法:主要侧重于确保生成的内容与给定上下文保持一致,从而避免无关或矛盾输出的潜在隐患。如下图5探讨在 LLM 生成中检测不忠实的方法。

  • 基于事实度量:通过检测生成内容与源内容之间的事实重叠度来评估忠实度。
  • 基于分类器的度量:利用经过训练的分类器来区分生成内容与源内容之间的关联程度。
  • 基于QA的度量方法:利用问题解答系统来验证源内容与生成内容之间的信息一致性。
  • 不确定性估计:通过测量模型对其生成输出的置信度来评估忠实度。
  • 基于prompt的度量方法:让LLM充当评估者,通过特定的prompt策略来评估生成内容的忠实度。

在这里插入图片描述

4. 幻觉的评估

针对不同类型的幻觉,采用的评估方式不一样。

现有针对幻觉的工作,提出了各种基准来评估LLM中的幻觉,如下表5所示:

在这里插入图片描述

现有的基准主要根据LLMs的两种不同能力来评估幻觉:生成事实陈述或判别事实陈述与非事实陈述的能力。下表说明了这两种评估形式的区别。

在这里插入图片描述

  • Generation 生成式基准:将幻觉看作一种生成特征,类似于流畅度和连贯性,并对LLM生成的文本进行评估。例如,TruthfulQA用于评估大型模型对问题的回答的真实性,而FactScore则用于评估大型模型生成的个人传记的事实准确性。

  • Discrimination 判别式基准:考察大型模型区分真实陈述和幻觉陈述的能力。具体来说,HaluEval要求模型确定状态信息是否包含幻觉信息,而FACTOR则研究LLM是否更可能生成事实陈述而非非事实陈述。

在这些基准中,TruthfulQA是一种特殊的基准,兼具生成式和判别式两种基准,提供了一个多项选择的替代方案,以测试模型区分真实陈述的能力。

5. 幻觉的解决

论文1总结了五种解决幻觉的方法,具体如下图所示:

在这里插入图片描述

不同下游任务解决幻觉的方法不同,具体如下图所示:

在这里插入图片描述

在哈工大的综述1中,全面回顾了当前减轻幻觉的方法,并根据幻觉成因对这些方法进行了系统分类。

具体来说,综述1将重点放在解决与数据相关的幻觉、与训练相关的幻觉和与推理相关的幻觉的方法上,每种方法都提供了量身定制的解决方案,以应对各自原因所固有的特定挑战。

参考:
https://zhuanlan.zhihu.com/p/666278645
https://arxiv.org/abs/2311.05232
https://arxiv.org/abs/2309.01219
https://arxiv.org/abs/2309.06794v1

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

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

相关文章

vue3源码

/*! Vue.js v2.6.14© 2014-2021 Evan YouReleased under the MIT License. */ (function (global, factory) { typeof exports ‘object’ && typeof module ! ‘undefined’ ? module.exports factory() : typeof define ‘function’ && define.am…

PC8259(CC-CV控制)同步降压芯片5V/4.8A 输出频率可调 带电流限制 QFN20封装

概述 PC8259是一个同步降压转换器输出电流为4.8A在9V至36V。外部关闭功能可以由逻辑电平控制以下拉COMP/EN引脚,然后进入待机模式。外部补偿使反馈控制具有良好的线性以及具有灵活外部设计的负载调节。PC8259在CC(恒定输出电流)模式或CV&…

python数据结构与算法-17_二叉查找树

二叉查找树(BST) 二叉树的一种应用就是来实现堆,今天我们再看看用二叉查找树(Binary Search Tree, BST)。 前面有章节说到了查找操作,包括线性查找、二分查找、哈希查找等,线性查找效率比较低,二分又要求必须是有序的序列&#x…

亚马逊卖家不想被平台限制,应如何脱离平台,建立自己的跨境独立站?

随着跨境电商的快速发展,越来越多的卖家选择在亚马逊等电商平台上销售自己的产品。然而,这些平台往往会限制卖家的经营行为,收取高额的佣金和费用,给卖家带来了很大的压力和风险。因此,一些卖家开始考虑脱离电商平台&a…

Flink之状态TTL机制内容详解

1 状态TTL机制 状态的 TTL机制就是Flink提供的自动化删除状态中的过期数据,配置 TTL的 API可以做到对状态中的数据进行冷热数据分离,将热数据一直保存在状态存储器中,将冷数据进行定期删除. 1.1 API简介 TTL常用API如下: API注解setTtl(Time.seconds(…))配置过期时长,当状态…

Docker可视化管理界面工具Portainer安装

Portainer是Docker容器管理界面工具,可以直观的管理Docker。 部署也很简单: 官方安装文档地址 1、创建数据卷 docker volume create portainer_data2、下载允许容器 docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restartalways -v /v…

放弃无谓的「技术氛围」幻想,准备战斗

大型科技公司每年都招聘大量研发人才,这给了很多人一种错觉,认为是「技术」导致了这些公司的成功,其实他们的成功是技术推动的市场战略的成功,是市场需要某项服务,才需要研发人员夜以继日的埋头苦干。资本绝不会做亏本…

vue2 element el-transfer穿梭框组件支持拖拽及排序 已封装,随取随用

项目场景: 项目中有个功能用到穿梭框组件,新版本需要支持穿梭框组件排序,由于element2版本中的穿梭框组件本身不支持排序功能 在此不仅需要支持随意更换顺序,还支持从一侧拖拽至另一侧,具体功能效果图如下&#xff1…

为什么JSX只能在函数的返回语句中使用

JSX只能在函数的返回语句中使用,因为JSX本质上是一种声明式的语法,用于描述React组件的结构和外观。在函数的返回语句中使用JSX,可以将JSX表达式嵌入到组件的输出中。 当我们编写一个React组件时,我们通常需要定义一个Render函数…

消息中间件——RabbitMQ(五)快速入门生产者与消费者,SpringBoot整合RabbitMQ!

前言 本章我们来一次快速入门RabbitMQ——生产者与消费者。需要构建一个生产端与消费端的模型。什么意思呢?我们的生产者发送一条消息,投递到RabbitMQ集群也就是Broker。 我们的消费端进行监听RabbitMQ,当发现队列中有消息后,就进…

森利威尔SL4010 升压恒压 12V升压24V 12V升压36V 12V升压48V

在当今的电子设备中,电源管理系统的设计是非常重要的。为了保证设备的稳定运行,升压和恒压电源的应用已经成为不可或缺的一部分。在这篇文章中,我们将介绍森利威尔SL4010升压恒压电源,它可以实现12V升压24V、12V升压36V、12V升压4…

c 在文本终端中显示yuv图片

把yuv422 转为rgb32 &#xff0c;利用framebuffer 显示 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdlib.h> #include <unistd.h> #include <sys/ioctl.h> #include <lin…

vue2.6源码分析

vue相关文档 vue-cli官方文档 vuex官方文档 vue-router 官方文档 vue2.6源码地址 如何调试源码 package.json 添加了--sourcemap "scripts": {"dev": "rollup -w -c scripts/config.js --environment TARGET:web-full-dev --sourcemap" }新增…

linux apt update错误提示修复

错误提示&#xff1a; E: Release file for http://security.debian.org/dists/bullseye-security/InRelease is expired (invalid since 15d 14h 45min 26s). Updates for this repository will not be applied. E: Release file for http://ftp.jp.debian.org/debian/dists/b…

【Hello Go】Go语言并发编程

并发编程 概述基本概念go语言的并发优势 goroutinegoroutine是什么创建goroutine如果主goroutine退出runtime包GoschedGoexitGOMAXPROCS channel无缓冲的channel有缓冲的channelrange和close单向channel 定时器TimerTicker Select超时 概述 基本概念 并行和并发概念 并行 &…

CVE-2023-6099:优卡特脸爱云一脸通智慧管理平台SystemMng.ashx接口未授权漏洞复现

文章目录 优卡特脸爱云一脸通智慧管理平台未授权SystemMng.ashx接口漏洞复现&#xff08;CVE-2023-6099&#xff09; [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 优卡特脸爱云一脸通智慧管理平台未授权…

mysql字符串转为数字的三种方法、字符串转日期

隐式转换 在MySQL中&#xff0c;使用0运算符可以将一个非数字的值隐式地转换为数字。这在进行数学运算或比较操作时非常有用。 需要注意的是&#xff0c;在使用0进行隐式转换时&#xff0c;MySQL会尽可能将字符串转换为数字。如果字符串不能转换为数字&#xff0c;则会返回0。…

【解决】HDFS JournalNode启动慢问题排查

文章目录 一. 问题描述二. 问题分析1. 排查机器性能2. DNS的问题 三. 问题解决 一句话&#xff1a;因为dns的问题导致journalnode启动时很慢&#xff0c;通过修复dns对0.0.0.0域名解析&#xff0c;修复此问题。 一. 问题描述 从journalnode启动到服务可用&#xff0c;完成RPC…

使用Python将图片转换为PDF

将图片转为 PDF 的主要原因之一是为了方便共享和传输。此外&#xff0c;将多张图片合并成一个 PDF 文件还可以简化文件管理。之前文章详细介绍过如何使用第三方库Spire.PDF for Python将PDF文件转为图片&#xff0c;那么本文介绍使用同样工具在Python中实现图片转PDF文件的功能…

【OpenCV+OCR】计算机视觉:识别图像验证码中指定颜色文字

文章目录 1. 写在前面2. 读取验证码图像3. 生成颜色掩码4. 生成黑白结果图5. OCR文字识别6. 测试结果 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【…