零资源的大语言模型幻觉预防

零资源的大语言模型幻觉预防

  • 摘要
  • 1 引言
  • 2 相关工作
    • 2.1 幻觉检测和纠正方法
    • 2.2 幻觉检测数据集
  • 3 方法论
    • 3.1 概念提取
    • 3.2 概念猜测
      • 3.2.1 概念解释
      • 3.2.2 概念推理
    • 3.3 聚合
      • 3.3.1 概念频率分数
      • 3.3.2 加权聚合
  • 4 实验
  • 5 总结

在这里插入图片描述

摘要

大语言模型(LLMs)在各个领域的广泛应用引起了人们对“幻觉”问题的关注,即LLMs生成事实不准确或无依据的信息。现有的语言助手中的幻觉检测技术依赖于复杂的不确定性、特定的自由语言思维链(CoT)技术或 基于参数的方法,存在解释性问题。此外,针对生成后识别幻觉的方法无法防止其发生,并且由于指令格式和模型风格的影响,性能不一致。本文介绍了一种新颖的 预检测自我评估技术 ,称为SELF-FAMILIARITY,重点评估模型对输入指令中存在的概念的熟悉程度,并在遇到不熟悉的概念时不生成响应。这种方法模拟了人类在面对不熟悉的话题时避免回应的能力,从而减少幻觉。

基于参数的方法是指在幻觉检测中使用参数化模型或算法的技术。这些方法通常会将语言助手的行为、输出或其他相关特征表示为参数,并使用这些参数来进行幻觉检测。

预检测的自我评估技术是指在自然语言处理任务中,通过对模型输出进行评估和分析来评估模型性能的技术。模型生成翻译结果后,并不立即输出给用户或系统。相反,生成的结果会经过一系列评估步骤来估计其质量和准确性。

在四个不同的大语言模型上验证了SELF-FAMILIARITY,并表现出与现有技术相比始终优越的性能。研究结果为LLM助手中的幻觉缓解提供了重要的先发性策略转变,有望提高可靠性、适用性和解释性。

1 引言

大语言模型(LLMs)的广泛应用引发了人们对其在各种用例中的应用的兴趣,例如医疗和药学。然而,阻碍它们充分发挥潜力的一个主要挑战是幻觉问题,即模型产生不准确或编造的信息,导致其可靠性和可信度存在重大差距。图6展示了一个示例,演示了当用户向ChatGPT查询有关治疗由内源性生长激素分泌不足引起的矮小症的药物“Skytrofa”时,幻觉问题的存在。可以观察到ChatGPT在这种药物的关键因素上生成了不准确的回答。
在这里插入图片描述
最近,已提出了几种方法来检测(甚至纠正)LLMs在开放对话中生成的幻觉回答,这些方法可以大致分为两类:

  • 第一类方法依赖第三方知识库,结合思维链(CoT)技术,识别和纠正潜在的幻觉回答。
  • 另一个研究方向侧重于设计基于参数的方法,主要利用困惑度等特定指标评估回答的正确性。

在这种方法中,模型会根据输入的问题或任务,生成一个回答。然后,通过计算回答的困惑度或其他特定指标来评估回答的正确性。困惑度是一种衡量语言模型预测能力和不确定性的指标,它表示模型在选择正确答案时的困惑程度,即模型对不同答案的选择难度。
通过使用困惑度等特定指标,可以量化回答的质量和准确性。较低的困惑度通常表示回答更准确和可靠。这些指标可以用于评估模型在特定任务或数据集上的表现,并进行模型选择、调优或比较。

所有上述方法主要集中在 幻觉回应的后检测 上。这些方法只能确定回答是否为幻觉,无法阻止未来产生此类回答,从而降低可靠性。此外,现有方法的性能深受指令和模型风格的影响,在维持开放对话场景的鲁棒性方面存在挑战。这种复杂性使得很难建立一个明确的阈值来区分幻觉回答。例如,二进制查询通常会导致简短的响应序列,使得与更长的响应序列导出的指标相比,指标差异显著。因此,对于人工智能(AI)语言助手的实际和高效应用,一种积极的、预防性的幻觉回答策略是必不可少的。

“Post-detection of hallucination responses”(幻觉回应的后检测)是指在生成型模型或对话系统中,对于生成的回答或响应进行后续的幻觉检测。为了解决幻觉回应的问题,可以采用后检测的方法。后检测是指在生成结果之后,对其进行进一步的分析和评估,以确定其中是否存在幻觉回应。

设计这样一种有效的预防方法面临着几个挑战。

  1. 首先,所提出的方法必须在零资源的环境中进行导航,不能依赖于从搜索引擎中获取的外部知识。忽视这一要求会损害方法的通用性和适用性,使其不适用于预算有限或无法访问外部环境的情况。因此,深入了解语言模型的内在知识变得至关重要。
  2. 此外,确保鲁棒性的任务非常重要。设想的系统必须对不同类型的指令、上下文变化和模型风格表现出韧性。鉴于人类语言的开放性和动态性质,要在各种场景中实现一致的性能和坚定的韧性,面临着无疑的巨大挑战。

为了同时应对这些挑战,本文提出了一种新颖的零资源预检测方法,称为SELF-FAMILIARITY,如图2所示。该方法通过避免讨论模型不熟悉的概念来模拟人类的自我评估能力,从而减少产生幻觉信息的风险。这种方法使其与传统的后检测技术有所区别。
在这里插入图片描述
首先,本方法在概念提取阶段从指令中提取和处理概念实体。
然后,在概念猜测阶段,通过提示工程分别检查提取的概念,以获得每个概念的熟悉程度分数。
最后,在聚合阶段,将不同概念的熟悉程度分数组合起来生成最终的指令级熟悉程度分数。

与现有方法相比,本文的算法具有以下优点。

  1. 首先,SELF-FAMILIARITY集成了思维链技术和基于参数的方法的优势。与思维链方法类似,本文的算法可以通过识别模型不熟悉的概念提供有建设性的回答。然而,本文的算法仅使用提示工程,不需要模型具备强大的推理能力,并避免了它们的缺点,同时结合了它们的优点。
  2. 此外,本文的算法不受指令风格和类型的影响,具有积极性和预防性,从而提高了其可靠性和鲁棒性。
  3. 最后,它不需要任何外部知识。

使用一种新提出的预检测幻觉指令分类数据集Concept-7,在四个大语言模型上评估了我们的方法。实验结果表明,所提出的SELF-FAMILIARITY方法在所有模型上始终优于其他方法,显示出其巨大的应用价值。

2 相关工作

目前,没有现有的工作专注于在零资源环境下通过分析指令本身来防止开放对话中的幻觉回答。因此,所讨论的上下文与先前研究的上下文有所不同。

2.1 幻觉检测和纠正方法

以前的幻觉检测和纠正研究主要集中在特定任务的条件文本生成上,例如摘要概括、图像字幕、对话生成、机器翻译和表格到文本生成。由于这些工作非常特定于任务,它们无法解决开放对话中的幻觉问题。

对于开放对话设置,根据采用的策略,方法通常分为两组。

  • 第一类利用思维链(CoT)或提示编程来评估和修正回答。一个值得注意的例子是CRITIC,其中使用思维链过程,并从外部搜索引擎获得补充输入,以提高响应质量。某些方法不需要外部知识,通常直接要求模型评估输出的准确性。然而,这些方法在特定回答方面有一定的局限性,并且在很大程度上依赖于模型的内在推理能力。另一个挑战在于算法输出通常是自由文本,这可能使得实际的分类阈值模糊不清。

  • 第二类方法强调使用语言模型参数(例如token概率序列)来确定幻觉程度。这些方法通常具有出色的泛化能力,并且可以提供精确的输出分数。Self-check GPT是使用基于参数的方法进行开放式文本生成的先驱。Self-check GPT使用困惑度、采样和无条件概率共同估计幻觉程度。然而,该工作仅评估与传记相关的问题,并且与思维链技术相比,模型的可解释性显著降低。

2.2 幻觉检测数据集

目前在开放对话中的幻觉检测数据集主要集中在后检测情景中。在这些数据集中,任务涉及选择正确的回答或确定回答是否不正确。然而,这些数据集受到一定限制。首先,这些数据集通常源自单个任务,如传记撰写,没有考虑不同语言模型之间的差异。每个模型可能具有不同的背景知识,使得一个模型可以识别另一个模型可能忽略的幻觉回答。此外,即使模型能够准确地对特定的幻觉回答进行分类,也不能保证模型将在将来避免生成不同的幻觉回答。因此,重要的是创建一个新的数据集,用于验证预检测设置。

3 方法论

在这里插入图片描述
本算法的目标是通过检查语言模型对指令 P T P_T PT中存在的概念的熟悉程度,评估目标指令 P T P_T PT是否是潜在的幻觉指令,这在零资源环境下进行。方法如图2所示,包括三个主要步骤:
(1)概念提取,
(2)概念猜测,
(3)聚合。
每个步骤的详细信息将在下面的章节中阐述。

3.1 概念提取

为了评估熟悉程度,首先需要从自由文本指令中提取概念实体,否则评分将受到指令中的“噪音”的很大影响,即指令的风格和格式化元素,这些元素对其理解没有贡献。例如,将问题“声音能在真空中传播吗?”转化为陈述句“声音能在真空中传播。请判断该陈述的真实性。”不会改变所需的知识,但会大幅修改后续回答的风格。此外,如果指令中包含多个概念,将会极大增加后续提示工程的难度。通过独立评估这些概念,可以减少这种风格影响,从而增强后续程序的鲁棒性。通过使用命名实体识别(NER)模型对给定指令进行概念提取来实现这一点:
在这里插入图片描述
这些提取的实体 [c1, · · · , cN ] 是指令的关键概念。N代表提取的概念数。然而,NER模型经常产生额外的噪音并且无法完全捕捉到一些概念。因此,引入后续的处理步骤来改进这些提取的概念,如下所述。

概念分组 提取的概念经常具有一定的不完整性。例如,“2023年美国债务上限危机”这个术语可能被无意地分割成[“2023年”, “美国”, “债务上限危机”]。为了解决这个问题,提出按照它们在 P T ( 语言模型对指令 ) P_T(语言模型对指令) PT(语言模型对指令)中的位置 对概念进行排序,并尝试将一个概念与相邻的概念合并,如果新合并的概念在原始 P T P_T PT中找到,就将合并的概念对合并为一个扩展的、统一的概念。

概念过滤 在合并概念之后,下一步是排除不需要检查的简单概念,以提高效率。这些包括常见的概念,如“年份”和“年龄”,通常被模型很好地理解。为了解决这个问题,识别Wiktionary4中使用频率最高的单词,并将其指定为“常见概念”。任何包含在这些常见词汇中的概念都将被排除。

3.2 概念猜测

下一个任务是在零资源环境中检查语言模型对提取的概念的熟悉程度。在零资源环境中进行这项任务会增加其复杂性,因为它不能依赖外部概念知识。因此,将模型的理解能力与已建立的金标准定义进行比较以得出结果的方法变得不可行。同时,引入了一种新颖的自我评估技术,称为概念猜测。本方法开始时,提示模型为给定的概念生成一个解释。随后,通过提示工程,要求模型基于这个解释重新创建原始概念。如果模型成功生成了初始概念,响应序列的概率分数可以解释为概念与解释之间的连接强度,作为熟悉度分数。整个过程可以类比为专门的Charades或Pictionary游戏。如果语言模型能够从生成的解释中熟练地推导出原始概念,这不仅表明解释的充分性,也反映了模型对概念的熟练程度。重要的是,这一方法不需要获得概念的金标准定义。概述以下步骤,将这个概念方法转化为一个标准化的度量方式:

3.2.1 概念解释

在概念解释步骤中,使用标准的解释提示( P E P_E PE)和目标概念( c i c_i ci)来查询语言模型(LM)。这个查询促使语言模型通过贪婪搜索(Greedy Search)为每个概念生成解释。贪婪搜索选择下一个具有最高概率的单词来生成响应。这个过程会一直持续,直到遇到句子的结束标记,或达到预定义的最大长度(记为 l F l_F lF):
在这里插入图片描述
其中,⊕表示将 c i c_i ci插入到 P E P_E PE的预定义位置。在许多情况下,原始概念可能直接并入生成的解释中,如图2所示。因此,模型可以简单地“复制”原始概念以“作弊”。为了防止这种情况发生,在 R i R_i Ri中对 c i c_i ci的单词进行屏蔽处理:
在这里插入图片描述

3.2.2 概念推理

给定屏蔽的解释 R i ∗ R^∗_i Ri和由 P I P_I PI表示的概念推理提示,可以要求模型生成原始概念 c i c_i ci。然而,模型的响应是以开放式的自由文本形式生成的,这在尝试将其转化为标准分数时会带来挑战。考虑这样一个情况,模型可能以“可口可乐的最大竞争对手”而不是“百事可乐”的形式正确生成原始概念。这种差异使得确定原始概念是否成功重现变得复杂。为了解决这个问题,采用了**约束束搜索(ConsBeamSearch)**的方法,指导模型通过束搜索寻找包含原始概念的响应,并同时提供响应的概率分数:
在这里插入图片描述
其中,每个 < R i j , s i j R^j_i, s^j_i Rij,sij> 对应于包含概念实体 c i c_i ci的响应 R i j R^j_i Rij,其中 s i j s^j_i sij表示相应的响应概率分数。 T B T_B TB是ConsBeamSearch算法的束搜索大小。将停止准则设置为达到句子结束标记或达到最大长度 l B l_B lB。束搜索将返回多个结果,但是模型的理解仅与最高分相关。因此,从[ s i 1 , ⋅ ⋅ ⋅ , s i T B s^1_i, · · · , s^{T_B}_i si1,⋅⋅⋅,siTB]中选择最高的响应分数 s i s_i si作为概念 c i c_i ci的熟悉度分数。
在这里插入图片描述

约束束搜索(ConsBeamSearch)是一种搜索算法,用于在生成式模型中进行序列生成任务,如机器翻译或文本生成。与贪婪搜索(Greedy Search)只选择每个步骤上最可能的单词不同,束搜索考虑了多个备选单词,并根据概率进行排序。
束搜索使用一个参数称为束宽(beam width),该参数指定在每个时间步中要保留的备选单词数量。在每个时间步,束搜索会根据预测的概率选择前K个可能性最高的备选单词(K为束宽),并保留这些备选路径。然后,针对每个备选路径,继续预测下一个单词,并再次选择最有可能的K个备选单词。
这个过程会一直持续,直到生成的序列达到预定的结束标记或达到最大长度。最终,束搜索会返回具有最高总体概率的生成序列作为最终的输出。
在这里插入图片描述

3.3 聚合

在许多情况下,最终提取的概念数量可能大于1。因此,需要对每个概念的重要性进行排名,并根据其重要性合并概念的熟悉度分数,以生成最终的指令级结果。

3.3.1 概念频率分数

为了评估概念的重要性,提出了一种基于概念中包含的单词频率排名计算分数的方法。期望具有更不常见单词的概念对应的分数 f i f_i fi较低。为此,从Wiktionary中获取概念 c i c_i ci的第 j j j个单词的频率排名 p i j p^j_i pij。如果单词不在词典中或者是大写的,则将索引设置为词典的长度。考虑到单词分布往往遵循长尾分布,使用指数函数将频率排名转换回频率分数,并将它们相乘得到概念级别的频率分数:
在这里插入图片描述
在这里, M i M_i Mi是概念 c i c_i ci中的单词数。术语 H H H被引入作为一个归一化因子,以确保结果分数在一个合理的范围内。

3.3.2 加权聚合

接下来,通过加权平均值基于频率分数对熟悉度分数进行平均。与仅选择单个分数作为最终值相比,这种方法在多实体情况下提供了稳健性。为了使重要部分比不重要的尾部部分更有贡献,我们建立了一个几何递减的加权方案,比率为1/r。
在这里插入图片描述
在这里,θ(fi)表示 f i f_i fi在按fi的大小排序的[ f 1 , ⋅ ⋅ ⋅ , f N f_1, · · · , f_N f1,⋅⋅⋅,fN]中的排名位置。使用得到的 s f s_f sf来表示指令的臆想程度,并在分数低于预定阈值h时终止响应过程。

4 实验

5 总结

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis(windows+Linux)安装及入门

一、概述 Redis是什么&#xff1f; Redis(Remote Dictionary Server)&#xff0c;即远程字典服务 Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数…

Android 主题 vs 样式

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、相关知识3.1 theme&#xff01; st…

取石子

每一堆数量都>1的话可以把合并操作和取石子看成一种操作&#xff0c;总操作数就是sumn-1&#xff0c;为奇数就是Alice先手必胜&#xff0c;哪怕有一堆是2&#xff0c;Bob取后变为1&#xff0c;Alice也可以通过合并操作让1变成>1的数 可以分成两大板块a、b, a中方石子个数…

【Vue】初步认识<script setup>语法糖和组合式 API

▒ 目录 ▒ &#x1f6eb; 导读需求开发环境 1️⃣ &#x1f6eb; 导读 需求 最近写代码的时候&#xff0c;发现<script setup>这样的代码&#xff0c;没见过&#xff0c;好奇&#xff0c;想知道。 所以就有了这篇文章。 很多文章都说setup是vue3的特权。但是&#xff…

图纸管理制度《六》

为建立健全机运系统技术档案管理工作&#xff0c;完整的保存和科学地管理机运系统的技术档案&#xff0c;充分发挥技术档案在我矿建设发展中的作用&#xff0c;更好地为我矿个生产技术部门服务&#xff0c;特制定本管理制度. 1、要把图纸、技术档案管理工作纳入技术业务工作中…

BSTree二叉树讲解

二叉搜索树的概念&#xff1a; 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 若它的右子树不为空&#xff0c;则右子树上所有节点的值…

【MATLAB】安装Psychtoolbox

目录 一、下载Psychtoolbox工具包 1. 一个是这个ZTP文件 2. 分别下载 Subversion 1.7.x command-line client 和 gstreamer.freedesktop.org 二、解压工具包&#xff0c;保存至同一文件 三、安装到matlab 1. 安装psychtoolbox 2. 检查是否安装成功 一、下载Psychtoolbox…

k8s statefulSet 学习笔记

文章目录 缩写: sts创建sts扩缩容金丝雀发布OnDelete 删除时更新 缩写: sts 通过 kubectl api-resources 可以查到&#xff1a; NAMESHORTNAMESAPIVERSIONNAMESPACEDKINDstatefulsetsstsapps/v1trueStatefulSetweb-sts.yaml apiVersion: v1 kind: Service metadata:name: ng…

[UDS] --- CommunicationControl 0x28

1 0x28功能描述 根据ISO14119-1标准中所述&#xff0c;诊断服务28服务主要用于网络中的报文发送与接受&#xff0c;比如控制应用报文的发送与接收&#xff0c;又或是控制网络管理报文的发送与接收&#xff0c;以便满足一定场景下的应用需求。 2 0x28应用场景 一般而言&#…

MAC安装stable diffusion

电脑配置 基本安装 1. 安装python 2. 安装git 3. 下载stable diffusion的代码&#xff0c;地址&#xff1a; git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui 执行命令 ./webui.sh --precision full --no-half-vae --disable-nan-check --api Command…

2023年阿里云双11优惠来了,单笔最高可省2400元!

2023年阿里云双11活动终于来了&#xff0c;阿里云推出了金秋云创季活动&#xff0c;新用户、老用户、企业用户均可领取金秋上云礼包&#xff0c;单笔最高立减2400元&#xff01; 一、活动时间 满减券领取时间&#xff1a;2023年10月27日0点0分0秒-2023年11月30日23点59分59秒 …

商业模式画布的9大模块全解读,产品经理不可不知!

“商场如战场”&#xff0c;在当今瞬息万变的商业环境中&#xff0c;创造出独特且创新的商业模式是每个企业家、策略家和决策者的首要任务。为了在激烈的市场竞争中取得优势&#xff0c;我们需要一个强大且直观的工具来帮助我们规划和塑造公司的商业模式&#xff0c;这个经常被…

Websocket传递JWT令牌

在访问带有[Authorize]的方法的时候&#xff0c;需要前端通过自定义报文头的形式将JWT令牌传递给后端进行验证&#xff0c;否则是不能访问带有[Authorize]的方法。 [Authorize]是用于限制对web应用程序中某些操作或控制器的访问。当[授权]属性应用于操作或控制器时&#xff0c;…

生物信息学分析-blast序列比对及结果详细说明

1. 软件说明 Blast是一种基于序列比对的分析工具&#xff0c;可以用于寻找生物序列之间的同源性&#xff0c;它的全称是Basic Local Alignment Search Tool。 Blast有多种版本和用途&#xff0c;最常见的是基于Web的Blast和本地安装的Blast程序。Web版Blast可以直接在NCBI网站…

【MATLAB源码-第62期】基于蜣螂优化算法(DBO)的无人机三维地图路径规划,输出最短路径和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 蜣螂优化算法&#xff08;Dung Beetle Optimization, DBO&#xff09;是一种模拟蜣螂在寻找食物和进行导航的过程的优化算法。蜣螂是一种能够将粪球滚到合适地点的昆虫&#xff0c;它们利用天空中的光线和自身的感知能力来确…

【EI会议征稿】第三届绿色能源与电力系统国际学术会议(ICGEPS 2024)

第三届绿色能源与电力系统国际学术会议&#xff08;ICGEPS 2024&#xff09; 2024 3rd International Conference on Green Energy and Power Systems 绿色能源是指可以直接用于生产和生活的能源。它包括核能和“可再生能源”。随着世界各国能源需求的不断增长和环境保护意识…

一文告诉你样机是什么,分享几个常用的样机模板

一个项目的诞生通常需要经历头脑构思、绘制设计和最终着陆。在这个过程中&#xff0c;样机制作往往是在着陆实践之前进行的。俗话说&#xff1a;“样机使用得好&#xff0c;草稿过早”。样机设计是产品或网站最终设计的生动、静态和视觉表现。它为用户提供了一种模拟现实的方式…

表白墙/留言墙 —— 初级SpringBoot项目,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学

&#x1f9f8;欢迎来到dream_ready的博客&#xff0c;&#x1f4dc;相信你对这篇博客也感兴趣o (ˉ▽ˉ&#xff1b;) 用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证&#xff08;带前后端源码&#xff09;全方位全流程超详细教程 目录 项目前端页面展…

算法的时间复杂度及空间复杂度

目录 一、前言 二、时间复杂度 1.时间复杂度定义 2.时间复杂度描述方法 三、实例代码 实例1&#xff08;取影响最大的项&#xff09; 实例2&#xff08;舍去系数&#xff09; 实例3&#xff08;不确定大小关系的用max函数取最大&#xff09; 实例4&#xff08;常数次的…

Windows原生蓝牙编程 第二章 选取设备输入配对码并配对【C++】

蓝牙系列文章目录 第一章 获取本地蓝牙并扫描周围蓝牙信息并输出 第二章 选取设备输入配对码并配对 文章目录 前言头文件一、选择想要配对的设备并设置配对码1.1 设置配对码1.2 选择设备并配对 二、全部代码三、测试结果总结 前言 接着第一章&#xff0c;我们已经把扫描到的蓝…