目录
-
引入
-
1、定义
-
- 1.1、大模型训练阶段
- 1.2、大模型的幻觉
-
2、产生幻觉的原因
-
-
2.1、来自数据的幻觉
-
- 2.1.1、有缺陷的数据源
- 2.1.2、数据利用率低
- 2.1.3、来自数据的幻觉总结
-
2.2、训练产生的幻觉
-
- 2.2.1、训练前的幻觉
- 2.2.2、对齐产生的幻觉
- 2.2.3、训练产生的幻觉总结
-
2.3、推理产生的幻觉
-
- 2.3.1、固有的采样随机性
- 2.3.2、不完美的解码表示
- 2.3.3、推理产生的幻觉总结
-
-
3、幻觉的检测和评估基准
-
-
3.1、检测
-
- 3.1.1、事实幻觉检测
- 3.1.2、忠实幻觉检测
-
3.2、Benchmarks
-
-
4、减轻幻觉
-
-
4.1、减轻与数据相关的幻觉
-
- 4.1.1、减少错误信息和偏见
- 4.1.2、减少知识边界
- 4.1.3、缓解知识捷径
- 4.1.4、减少知识召回失败
-
4.2、减轻与训练相关的幻觉
-
- 4.2.1、减轻与训练前相关的幻觉
- 4.2.2、减轻错位幻觉
-
4.3、减轻与推理相关的幻觉
-
- 4.3.1、事实性增强解码
- 4.3.2、忠实度增强解码
-
-
5、面临的挑战
-
小结
引入
今天来读一篇哈工大关于大模型幻觉的综述。
在最初《Survey of Hallucination in Natural Language Generation》这篇工作中,将幻觉定义为“生成的内容无意义或与提供的源内容不符”,描述如下:
characterizing them as generated content that is nonsensical or unfaithful to the provided source content
简单来说,所谓幻觉是指大模型生成的内容与原始内容之间存在差异,可能表现为错误、遗漏或偏离原意,即通常所说的与源内容不一致或不忠实。
实际上,大模型的幻觉范围更加广泛,而且主要集中在事实性错误上。因此,作者团队重新定义了幻觉的分类,并提出了一个更精确的框架,适用于大模型的应用,作者团队将幻觉分为事实性幻觉和忠实性幻觉。一个比较直观的例子如下图所示:
图1:一个 LLM 幻觉的直观例子
这个例子中包含“登月”的内容,我们看个大概意思,理解事实性幻觉和忠实性幻觉即可。
此外,还讨论了幻觉产生的原因,包括数据、训练和推理阶段的因素,并概述了幻觉检测与评估的基准,以及减轻幻觉的有效方法。
1、定义
1.1、大模型训练阶段
大模型的训练主要经历了三个阶段:预训练(pre-training)、监督微调(SFT)和人类反馈强化学习(RLHF),分析这三个阶段可以更深入的了解大模型幻觉的起源。
- pre-training预训练通常被认为是大模型获取知识和技能的关键阶段。在预训练期间,语言模型通过自监督训练广泛的文本语料库,学习语言语法、世界知识和推理能力,为后续的微调任务提供了坚实的基础。最近的研究表明,预测下一个词与无损压缩重要信息类似。语言模型的本质在于预测未来单词的概率分布。准确的预测表明对知识有深刻的理解,这也意味着对世界有细致的认识。
- SFT虽然大模型在预训练阶段获得了大量知识和能力,但预训练主要优化的是文本生成的完成度。因此,预训练的大模型基本上充当了补全机器,这可能导致模型的下一个词预测目标与用户期望的响应目标不一致。为了弥合这一差距,监督微调引入了对大模型的进一步训练,使用精心标注的 (instruction, response) 对,从而提高了模型的能力和可控性。最近的研究证实了监督微调的有效性,使大模型在未见过的任务上取得了优异的表现,展示了其出色的泛化能力。
- RLHF虽然 SFT 过程成功地使大模型能够遵循用户指令,但仍然有改进空间,使其更好地符合人类偏好。RLHF 作为利用人类反馈进行强化学习的基础解决方案,其中使用了偏好模型来预测给定提示下人类标注的响应对的排名。为了使模型与人类偏好对齐,RLHF 优化了大模型生成的输出,使其最大化经过训练的偏好模型提供的奖励。这种人类反馈与训练环的整合已被证明有效地提高了 大模型的对齐性,引导它们生成高质量且无害的响应。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈
1.2、大模型的幻觉
幻觉的概念源于病理学和心理学领域,通常被定义为“对不存在的实体或事件的感知”,描述如下:
defined as the perception of an entity or event that is absent in reality
在 NLP 领域,幻觉通常指的是生成内容无意义或不忠于所提供的源内容的现象。这个概念与人类心理学中的幻觉现象有一定的相似性。通常,NLP 任务中的幻觉可以分为两大类:
- 内在幻觉:指模型生成的内容与源内容相冲突的情况;
- 外在幻觉:指模型生成的内容无法从源内容中推断出来的情况;
考虑到大模型在用户交互中的重要性,以及其幻觉现象主要集中在事实性错误上,作者团队引入了一个更精细的分类体系。这种分类体系试图捕捉大模型幻觉的细微差别,并通过下表来对每种类型的幻觉进行直观说明:
表 1:LLM幻觉各类别的示例。标记为红色的内容代表幻觉输出,而标记为蓝色的内容表示与LLM幻觉相矛盾的用户指令或提供的上下文。
幻觉分类细节如下:
-
事实性幻觉:事实性幻觉涉及大模型生成的与现实世界事实不一致或潜在误导的输出。这种幻觉可以进一步分为两类:
-
- 事实不一致:当大模型的输出包含与现实世界信息相矛盾的事实时,通常源自模型捕获、存储和表达事实性知识的过程。例如,上图给的例子是第一个登录月球的人是谁,模型生成的答案与现实世界的事实相矛盾(意会例子即可)。
- 事实编造:当大模型生成的输出包含无法验证的事实,或者捏造了没有真实世界依据的事实时。例如,模型可能会捏造“独角兽起源于亚特兰蒂斯”的虚构事实。
-
忠实性幻觉:忠实性幻觉强调大模型输出与用户指令的一致性问题,包括指令不一致、上下文不一致和逻辑不一致。以下是三种忠实性幻觉的分类:
-
- 指令不一致:当大模型输出偏离用户指令时发生。例如,用户希望翻译文本,但模型错误地执行了问答任务。
- 上下文不一致:当大模型输出与用户提供的上下文信息不符时发生。例如,用户提到尼罗河的源头在中非大湖地区,但模型输出却矛盾。
- 逻辑不一致:当大模型输出存在内部逻辑矛盾时发生,例如在逻辑推理任务中,模型在步骤之间表现出不一致,导致最终答案错误。
2、产生幻觉的原因
这一节,作者团队讨论了产生幻觉的三个根本原因,分别是:数据、训练、推理。
2.1、来自数据的幻觉
大量预训练数据是大模型获取基础能力的基石,然后,它们可能会造成大模型产生幻觉。这主要体现在两个方面:
- 数据源缺陷带来的潜在风险。
- 数据中获取的事实知识的利用率较低。
2.1.1、有缺陷的数据源
虽然扩大预训练数据可以大大增加大模型的能力,但数据的质量可能会有所下降,低质量的数据就可能会引入错误信息和偏见。此外,数据中如果缺乏特定领域知识或最新事实可能会导致大模型形成知识边界,这给大模型在特定场景下带来了限制。因此,作者团队将可能导致幻觉的因素主要分为:错误信息和偏见、知识边界限制。
表 2:错误信息和偏见造成的幻觉示例。该表将由有缺陷的数据源引起的幻觉分为模仿性谎言、重复偏见和社会偏见。每个类别都附有一个前提,概述了数据问题、用户输入和LLM的幻觉输出,以及对发生情况的解释,帮助理解这些复杂现象。
上表是错误信息和偏见的说明示例
-
错误信息和偏见:在大量数据扩充时,可能会无意中引入错误信息,从而增加模仿谎言(Imitative Falsehood)的风险,此外,社会偏见也可能会无意中被引入到大模型的学习过程中,这些偏见主要包括重复偏差(Duplication Bias)和各种社会偏见(Social Biases),从而导致幻觉的产生。
-
- 模仿的谎言(Imitative Falsehood):大模型预训练的主要目的是模仿训练分布,当大模型学习不正确的数据时,它们可能会无意放大这些不足之处,导致事实不正确的幻觉,称为“模仿谎言”。
- 重复偏差(Duplication Bias):大模型具有记忆训练数据的内在倾向,并且这种记忆趋势随着模型大小的增加而增长。然而,当预训练数据中存在重复信息的情况下,固有的记忆能力就会出现问题,这种重复就会使大模型从泛化转向记忆,最终导致重复偏差的产生。即大模型过分优先的考虑重复数据的记忆,导致偏离所需内容从而产生幻觉。
- 社会偏见(Social Biases):某些偏见本质上与幻觉有关,尤其是性别与国籍。例如,当用户在上下文中没有明确提及性别时,大模型会将护理专业和女性联系起来,这就是前面讨论的上下文不一致幻觉的例子。除了这种偏见外,数据分布的差异也是造成幻觉的潜在原因,比如大模型可能会错误的确认或强化训练数据中存在的偏见或误导信息,导致输出的内容出现误导性或不准确的标签。
如上表所示,“爱迪生发明了灯泡”长期以来被广泛误解,所以会导致大模型误导性的输出。
如上表所示,当问“列出一些红色水果,不包括苹果”时,因为训练数据里经常出现“红苹果、西瓜、樱桃和草莓”,导致大模型产生过度记忆从而输出记忆中的句子。
换句话说,大模型在训练过程中倾向于信赖已经在训练数据中得到证实的假设。然而,如果这些假设本身是错误或者是偏颇的,那么模型就会给这个信息贴上错误的标签。
表 3:知识边界示例
上表是知识边界的说明示例
-
知识****边界:虽然庞大的预训练语料库使大模型拥有广泛的事实知识,但它们本质上是具有局限性的,这种限制主要表现在两个方面:缺乏最新的事实知识和专业领域知识,如上表例子所示。
-
- 领域知识缺乏(Domain Knowledge Deficiency):当通用大模型遇到需要特定领域知识的问题时,模型可能会表现出明显的幻觉,通常表现为捏造事实。
- 过时的事实知识(Outdated Factual Knowledge):除了特定领域知识外,大模型的知识边界另一个限制是它们获取最新知识的能力。一旦大模型训练完成,它们内部的知识就永远不会更新,所以当遇到超出其时间范围的问题时,大模型经常会捏造事实或提供过去可能正确但现在已经过时的答案。
2.1.2、数据利用率低
大模型通过预训练数据获得了大量的真实世界知识,并将其编码在模型参数中。然后,尽管大模型拥有如此大的知识储备,它们仍然可能由于参数化知识的利用率较低而产生与知识相关的幻觉。作者团队主要讨论了两个挑战:捕捉知识时的虚假关联以及其在知识回忆时的困难。
下表给出了低效数据利用导致幻觉的示例
表 4:数据利用较差的示例,展示了知识捷径的陷阱和知识回忆失败。这包括LLMs依靠共现统计获取事实知识的情况,以及无法从参数知识中回忆起相关信息的情况。
-
知识捷径(Knowledge Shortcut):
-
- 虽然已经有大量工作对大模型知识存储方面进行了研究,但大模型捕捉事实知识的确切机制仍然难以捉摸。最近的研究表明,大模型往往会采取捷径,而非真正理解事实知识的细节。它们倾向于过度依赖训练数据中的位置接近性、共现统计、相关文档数量。这可能会导致偏向虚假关联的偏差,并且如果这些偏差反映了事实上的错误信息,则极大可能会引发幻觉。
- 例如,在上表中当被问及“加拿大的首都”时,模型错误的回答为“多伦多”,这个错误的发生可能是由于训练数据中“加拿大”和“多伦多”的共现频率较高,导致模型错误地捕捉到了加拿大首都的事实知识。
位置接近性是指在文本中彼此相邻出现的频率,如果两个词经常紧密相连,模型就会认为它们有很强的关联性。
共现统计是指某个词在同一上下文中出现的频率。
相关文档数量是指模型可能依赖在训练数据中相关文档的数量来推断某个信息的重要性或真实性。
-
知识召回失败(Knowledge Recall Failures):当大模型难以有效利用其广泛的知识时,可能会出现幻觉。这里探讨了知识召回的两个主要挑战:长尾知识召回的不足以及需要多步推理和逻辑演绎的复杂场景中的困难。
-
- 长尾知识(Long-tail Knowledge):长尾知识的特点是在训练数据中相对稀有,因为大模型主要依靠共现模式来记忆事实知识,当面对长尾知识相关的问题时,出现幻觉的可能性就会增大。
- 复杂场景(Complex Scenario):除了长尾知识外,知识的有效利用与推理能力是密不可分的。例如,在多跳(multi-hop)问答场景中,即使大模型拥有了必要的知识,但是如果问题之间存在多种关联,由于推理能力的局限性,它也很难产生准确的结果,这个被称为大模型的“逆转诅咒”。具体来说,将问题表述为“A是B”时,模型可以正确回答,但是当被反问“B是A”时,模型会表现出失败的逻辑推论。
如上表,问题是对维基百科里的一个长尾的人生成传记时,大模型会错误的将政治家描述为教育家。
如上表,大模型知道珠穆朗玛峰是世界最高峰,但是不知道海拔降低500米后,哪座山将成为最高峰。这就是一项需要复杂推理能力的任务。
2.1.3、来自数据的幻觉总结
大模型中的数据相关幻觉主要根源在于有缺陷的数据源和低效的数据利用。数据源中的错误信息和固有偏见不仅传播了模仿性谎言,还引入了有偏见的输出,导致各种形式的幻觉。在处理特定领域的查询或遇到快速更新的事实知识时,大模型的知识边界就会变得格外明显。关于数据利用,大模型倾向于捕捉虚假关联,并在回忆知识(尤其是长尾信息)和复杂推理场景中表现困难,进一步加剧了幻觉问题。这些挑战强调了提升数据质量以及增强模型学习和有效记忆事实知识能力的关键性。
2.2、训练产生的幻觉
在训练时产生幻觉的原因主要在这两个阶段:
- 预训练阶段:这个阶段大模型学习通用表示并获取世界知识。
- 对齐阶段:这个阶段大模型进行调整以更好的符合用户指令和偏好。
2.2.1、训练前的幻觉
预训练是大模型的基础阶段,通常采用基于 Transformer 的结构,在庞大的语料库中进行因果语言建模。然而,固有的架构设计和采用特定训练策略可能会产生与幻觉相关的问题。在这一节,作者团队讨论了架构缺陷带来的挑战和暴露偏差的影响。
-
架构缺陷(Architecture Flaw):大模型基本上都是基于 Transformer 的架构,如 GPT、OPT、Falcon、Llama 等。尽管这种因果语言建模取得了巨大成功,但它并非没有缺陷,特别是在单向表示不足或注意力故障方面。
-
- 单向表示不足(Inadequate Unidirectional Representation):遵循因果语言建模范式,大模型仅根据先前的标记以从左到右的方式预测后续的标记。这种单向建模虽然有利于高效训练,但也有局限性,比如它只利用单一方向的上下文,这就阻碍了捕获复杂的上下文依赖关系的能力,从而可能增加幻觉的出现。
- 注意力故障(Attention Glitches):虽然 Attention 在捕获长程依赖关系方面表现出了卓越的能力,但是最近有研究表明,无论模型规模如何,它们偶尔会在推理时出现不可预测的错误,涉及长距离和短距离的依赖关系。一个可能的原因是软注意力机制的局限性,当序列长度增加时,注意力在不同位置之间变得分散。
直白来讲,当输入序列长度增加的时候,注意力机制需要关注的内容会越来越多,导致注意力比较分散,这种分散可能会使模型难以准确聚焦在关键位置上,从而在推理的时候出错。
- 曝光偏差(Exposure Bias):除了架构缺陷外,训练策略也起着关键作用,尤其是曝光偏差现象。它是由自回归生成模型中训练和推理阶段的不一致引起的。具体来说,在训练阶段,模型使用的是教师强制(teacher forcing)策略,这意味着每一步的输入都是正确的答案,或者说是真实的标注。这可以帮助模型在训练时学会如何预测下一个词。在推理阶段,模型不再有正确答案参考,而是依赖它自己生成的词来继续预测下一个词。这个差异就是曝光偏差,比如模型在某一步生成了一个错误的词,后面的生成就可能会受到这个的影响,导致一连串的错误就像滚雪球一样,从而导致幻觉的产生。
2.2.2、对齐产生的幻觉
对齐(Alignment)通常包括两个主要过程:监督微调和基于人类反馈的强化学习。这是让大模型符合人类偏好的关键步骤。虽然对齐显著提升了大模型响应的质量,但也带来了幻觉的风险。在这一节,作者团队将与幻觉相关的对齐不足分为两类进行讨论,分别为:能力偏差和信念偏差。
-
能力偏差(Capability Misalignment):指大模型的实际能力与对齐过程中使用的数据之间可能存在不匹配的情况。
-
- 进一步描述为,在预训练过程中,大模型获得了一定的能力,但是这些能力有其固有的限制,这些限制就构成了大模型的能力边界。为了让大模型能够更好的理解和执行用户的指令,我们使用高质量的指令数据来微调模型,这就是监督微调 SFT,这一过程可以释放大模型已有的能力,使其可以更好的跟随指令。但是随着大模型能力的不断增强,出现了一个重要的挑战,即大模型的内在能力与用于对齐的标注数据之间可能存在不匹配。如果这些对齐数据的要求超出了大模型固有的能力边界时,那么大模型就可能会被迫去生成超出它实际知识范围的内容。这种情况下,大模型可能会编造或生成错误的信息,因为它在试图提供自己不了解或不能准确处理的内容,从而增加幻觉的风险。
-
信念偏差(Belief Misalignment):指大模型可能会因为试图迎合人类的偏好,生成与其“内部信念”不一致的内容,导致生成的内容不真实的情况。
-
- 进一步描述为,有研究表明,大模型的内部运算过程包含了对其生成内容是否真实的某种“内部信念”,换句话说,模型在生成内容时,可能“知道”它生成的内容是否真实。有时候,大模型的这些“内部信念”与实际生成的输出不一致,表现出大模型生成的内容倾向于迎合人类的偏好,这种现象也成为“谄媚行为”,然而这些“谄媚”内容不是模型“知道”的真实答案。经过研究表明,经过 RLHF 训练过的模型更容易出现这种“谄媚行为”,即模型在训练中倾向于生成符合人类偏好的答案,而这些答案并非是真实的答案。
2.2.3、训练产生的幻觉总结
在训练大模型时,无论是基础的预训练阶段还是后续的对齐节阶段,都会存在挑战从而引发幻觉的发生。在预训练阶段,架构缺陷(尤其是单向表示不足和注意力故障问题),加上曝光偏差都会导致幻觉的产生。在对齐阶段,则会出现能力偏差和信念偏差的问题。前者有可能使大模型超越其知识边界,而后者则揭示了大模型的信念与其生成内容之间可能存在差异。
从基础的模型设计到训练策略,再到与人类的期望偏好对齐,这仍然是一个多方面的复杂任务。
2.3、推理产生的幻觉
在预训练和对齐之后,大模型解码能力对生成答案有着重要的影响。然而,解码策略中的某些不足之处可能会导致大模型产生幻觉。在这一节中,作者团队重点分析了两个关键因素:解码策略的固有随机性和不完美的解码表示。
2.3.1、固有的采样随机性
大模型的生成具有创造性和多样化,这依赖于采样策略。然而,不管是随机采样还是 beam search 等采样策略都会遇到一个问题,称为“概率陷阱”。通俗来讲,高概率的序列可能并不是高质量的文本,因为模型是因为某些词的概率很高才选择的,但是这些高概率的词可能并不是最优的。所以,采样策略为模型引入了随机性和多样性,但也带来了幻觉的风险。随着采样温度的升高(即增加随机性),词元的选择变得更加均匀,这意味着低概率的词也可能会被选择,然而低概率的词可能与上下文并不相符,从而造成了幻觉。所以这是一种权衡:在保持内容的多样性和减少幻觉的风险。
2.3.2、不完美的解码表示
在解码阶段,大模型使用其顶层表示来预测下一个词元。然而,顶层表示存在两大局限性:上下文注意力不足和Softmax瓶颈。
-
上下文注意力不足(Insufficient Context Attention):
-
- 之前有研究表明,Encoder-Decoder 架构的模型往往会出现“过度自信”的问题,即对部分已经生成的内容过分关注,追求流畅性,却忽视了与原始文本的匹配。这种现象也出现在使用因果语言模型的大型语言模型中。模型的注意力机制通常会集中在附近的词汇上,而不是整个上下文,这导致了注意力的不全面。当模型生成冗长或详细的回复时,这个问题更严重,可能导致模型忘记指令,从而使生成的内容与原始上下文不一致。这种注意力不足会直接导致忠实性幻觉的发生,使模型输出的内容偏离上下文。
-
softmax 瓶颈(Softmax Bottleneck):
-
- 在大多数语言模型中,Softmax 用于计算每个词出现的概率。这个方法有一个限制:当模型试图预测下一个词时,Softmax 和词嵌入的结合会限制模型输出正确概率的能力,尤其是在面对复杂的情况时。这就是所谓的 Softmax 瓶颈。研究还发现,当输出可能包括多个不同的词(多模态)时,模型很难准确地选择最合适的词,这增加了生成错误内容(幻觉)的风险。简单来说,Softmax 瓶颈使得模型在一些情况下无法正确预测词的概率,特别是当有多个可能选择时,这可能导致模型产生错误或不准确的内容。
- 进一步来讲,当 Softmax 与词嵌入结合使用时,会产生一个问题:Softmax 假设所有可能的输出词汇共享一个共同的表示空间,并且只能生成一种概率分布。但在实际语言中,某个上下文可能对应多个不同的可能输出,例如“我喜欢____”,可能填入“苹果”、“香蕉”或者其他词语。这种情况下,Softmax 很难同时准确地反映这些可能性,尤其是当这些可能的词语分布在嵌入空间的不同区域时。
2.3.3、推理产生的幻觉总结
在解码阶段,挑战来自于解码策略本身和用于预测的表示方式。前者强调其解码算法中固有的随机性,随着随机性的增加,这可能成为幻觉的来源。而在表示方面,过度依赖邻近内容和 Softmax 瓶颈等问题会限制模型表达多样化输出概率的能力,从而导致不准确词元预测的风险。这些复杂性突显了解码过程中保持事实性和忠实性的必要性。
3、幻觉的检测和评估基准
3.1、检测
检测大模型中的幻觉对确保生成内容的可靠性至关重要。传统基于词重叠的指标难以区分真实内容和幻觉之间的细微差别,因此需要更复杂的检测方法。由于幻觉的多样性,不同的检测方法应对不同类型的幻觉。所以作者团队主要针对事实性和忠实性幻觉的检测讨论了对应的策略。
3.1.1、事实幻觉检测
已经有很多的工作提出了对事实性幻觉的检测方法,作者团队对已有的方法进行了概述,将其分为:检索外部事实(Retrieve External Facts)和不确定性估计(Uncertainty Estimation)。
- 检索外部事实:
为了有效识别大模型输出中的事实性错误,一种直观的策略是将模型生成的内容与可靠的知识来源进行对比,如下图所示,看生成的内容是否符合这些已知事实。这类似于“事实核查”,就像新闻记者或研究人员验证信息时的过程。
图 3:通过检索外部事实来检测事实幻觉的示例。
传统的事实核查方法,虽然有效,但往往为了简化操作会忽略一些复杂情况,比如:
- 只处理简单的事实匹配,无法应对复杂的、真实世界中的信息。
- 依赖于预先整理好的数据库,无法及时更新到最新的信息。
为此,研究人员提出了诸多改进方案:
- 自动化流程:Chen等(2023c)提出了一种自动化的事实检索和验证流程,包括几个步骤:把模型生成的内容分解成小的主张,然后检索相关的文档,再根据这些文档生成摘要,并最终判断这些主张的真实性。
- 选择最权威的证据:Galitsky(2023)的方法在多个证据来源存在矛盾时,优先选择最不容易被质疑的权威信息,避免错误证据影响判断。
- 事实得分(FACTSCORE):Min等(2023)提出了一种叫做FACTSCORE的方法,用来评估长篇文本生成的准确性。他们把内容分解成小的“原子事实”,然后检查每个事实是否有可靠来源支持。
- 查询扩展:Huo等(2023)提出通过扩展查询的方法改进了证据检索过程,他们在检索时把原问题和模型生成的答案结合起来,确保检索到的信息既符合问题,也与生成的答案相关,避免主题偏移。
- 不确定性估计:
为了在 zero-resource 环境中检测幻觉,一些方法通过估计模型生成内容的不确定性来避免依赖外部知识源。这些方法基于大模型幻觉与模型不确定性密切相关的假设。具体来说,不确定性估计分为两类:基于模型的内部状态(internal states)和模型行为(LLM behavior)。前者需要访问模型的内部信息,而后者则推广到更受约束的环境,仅利用模型的可观察行为来推断其潜在的不确定性。
图 4:事实幻觉检测中不确定性估计方法的分类,包括 (a)LLM内部状态和(b)LLM行为,其中LLM行为包含两个主要类别:自我一致性和多方辩论。
-
大模型内部状态(LLM Internal States):
-
- 大模型产生幻觉往往和模型的“不确定性”有关。如果模型对某个概念不确定,它更有可能生成不准确或错误的内容。因此,研究人员尝试通过分析模型的内部状态来估计这种不确定性,从而检测出可能的幻觉。
- 通过词元概率评估不确定性(Varshney等,2023):这个方法是通过词元概率来衡量模型的不确定性。词元概率是指模型预测下一个词(或词元)的概率值。他们假设,如果模型在某个概念中的某个词的概率很低,这表明模型对这个概念感到不确定。例如,如果模型生成的句子中某个词的概率特别低,那么这个词可能是模型“猜的”,不太可靠。
- 自评法来评估不确定性(Luo等,2023a):Luo等提出了一种通过“自我评价”来判断模型对某个概念的熟悉程度。首先,让模型生成一个关于某个概念的解释。然后,让模型根据这个解释重新生成原始概念。如果模型能够很好地重构原始概念,这意味着它对该概念非常熟悉;否则,它的熟悉度较低,这表示模型对该概念的不确定性较高。这就像让模型“自测”一样,评估自己理解某个概念的能力。
- 通过对抗性攻击研究幻觉(Yao等,2023a):Yao等的方法不同,他们通过研究对抗性攻击来检测幻觉。对抗性攻击指的是通过人为干预输入提示(比如替换一些词)来诱导模型生成错误的内容(即幻觉)。他们发现,使用普通提示生成的词往往有较低的熵(熵可以理解为模型的不确定性指标,低熵表示模型对这个词很有信心)。但是,当使用对抗性提示时,生成的词的熵会升高,表示模型更加不确定。基于这一发现,他们提出可以设定一个熵的阈值,当生成的词的熵超过这个阈值时,可能意味着模型生成了幻觉。
-
大模型行为(LLM Behavior):
-
- 当我们通过 API 调用大模型时,通常无法直接获得模型输出的词元级概率分布,即我们看不到模型对每个词的概率。这给不确定性检测带来了挑战,因为没有这些数据,传统的基于概率的检测方法就无法使用。在这种限制下,研究人员开发了新的方法来探测模型的不确定性。
- 基于一致性的幻觉检测(Manakul等,2023):Manakul等提出了一种方法,来通过评估模型在同一个提示下生成多个回答的一致性来检测幻觉。具体做法是让模型对同一个问题生成多次回答,然后比较这些回答中的事实是否一致。如果回答中的事实前后不一致,就可能说明模型产生了幻觉。
- 间接查询法(Agrawal等,2023):Agrawal等提出了一种受“调查式采访”启发的方法,使用间接查询来评估不确定性。间接查询不像直接问模型某个事实是否正确,而是通过开放式问题引导模型给出更多相关信息。例如,不是直接问“XX是真的吧?”,而是问“你能告诉我关于XX的更多细节吗?”。通过这种方式,可以更好地评估模型在生成多次回答时的一致性。
- 多模型交互检测(Cohen等,2023):Cohen等提出了 LMvLM 方法,借鉴了法律中的交叉询问技巧。这个方法让一个模型(“审问者”)向另一个模型(“被审问者”)提问,通过多轮对话来揭示前后回答中的不一致之处。这种方法可以更有效地发现模型在多次生成回答时的幻觉或错误信息。
3.1.2、忠实幻觉检测
确保大模型在生成内容时忠实于上下文或用户指令对于其实用性至关重要,尤其在摘要生成和对话系统中。忠实性幻觉检测的重点是确保生成内容与给定上下文保持一致,避免无关或矛盾的信息输出。这一节作者团队探讨了检测生成内容不忠实的方法,如下图所示:
图 5:忠诚幻觉检测方法说明:a) 基于事实的指标,通过测量生成内容和源内容之间事实的重叠来评估忠诚度;b) 基于分类器的度量,利用训练有素的分类器来区分生成内容和源内容之间的蕴含程度;c) 基于QA的Metrics ,采用问答系统来验证源内容和生成内容之间信息的一致性;d) 不确定性估计,通过测量模型对其生成输出的置信度来评估可信度;e) 基于提示的指标,其中LLMs被引导作为评估者,通过特定的提示策略评估生成内容的忠实度。
(a)基于事实的衡量(Fact-based Metrics)
- N-gram based:传统的基于n-gram重叠的评价指标,如 ROUGE 和 PARENT-T,可以用于评估生成内容的忠实性。然而,由于语言表达的多样性和这些指标对表面匹配的依赖,它们与人工评估的相关性较差。
- Entity-based:基于实体重叠的指标常用于摘要任务,因为关键实体的遗漏或不准确生成会导致摘要不忠实。Nan等(2021)提出了一种量化实体幻觉的指标,通过计算摘要中命名实体相对于源实体的精确度来评估忠实性。
- Relation-based:Goodrich等(2019)指出,即使实体匹配,实体间的关系也可能出错。因此,他们引入了基于关系元组重叠的指标,使用端到端事实提取模型计算关系元组的重叠,以评估忠实性。
- Knowledge-based:在知识驱动的对话任务中,事实通常对应于对话中提供的知识。Shuster等(2021)提出了Knowledge F1指标,用于评估模型生成内容与所提供知识的契合度。
(b)基于分类器的衡量(Classifier-based Metrics)
- Entailment-based:使用自然语言推理(NLI)评估生成文本忠实性的核心理念是,真正忠实的内容应由其源内容蕴含。基于此,多个研究利用NLI数据集训练分类器来识别事实错误,特别是在摘要生成中。然而,Mishra等(2021)指出,传统NLI数据集与不一致检测数据集之间的输入粒度差异限制了其有效性。为解决这一问题,后续研究提出了诸如在对抗数据集上微调、依赖弧级别的蕴含决策分解以及句对评分聚合的方法,以提升幻觉检测的准确性。
- Weekly Supervised:虽然使用相关任务的数据微调分类器在评估忠实性方面显示出潜力,但相关任务与实际下游任务之间存在差距,加之标注数据的稀缺性限制了其应用。为应对这一挑战,Kryscinski等(2020)分析了摘要模型的错误并引入了基于规则的转化方法生成弱监督数据用于微调分类器。同时,Zhou等(2021)提出了自动生成词元级幻觉数据并检测的方法。Dziri等(2021b)在此基础上使用扰动方法生成对抗合成数据以增强知识驱动对话任务中的幻觉检测,而Santhanam等(2021)则专注于对话领域的事实一致性。
(c)基于问答的衡量(Question-Answering based Metrics)
- 与基于分类器的指标相比,基于问答的指标因其更好捕捉模型生成内容与源信息重叠的能力而受到关注。这些指标通过从模型输出中选择目标答案、生成相关问题并根据用户上下文生成源答案来评估忠实性。然后通过比较源答案与目标答案的匹配得分来衡量模型响应的忠实性。虽然各方法共享相似思路,但在答案选择、问题生成和答案重叠等方面有所不同,导致性能差异。Fabbri等(2022)对QA指标的各组件进行了深入评估,进一步提升了忠实性评估的效果。
(d)不确定性估计(Uncertainty Estimation)
-
根据上一节的讨论,条件文本生成中的幻觉与模型的不确定性高度相关。不确定性估计已在贝叶斯深度学习中广泛研究,通过贝叶斯视角,预测的不确定性可以通过输出分布的熵来表征。此外,一些研究使用对数概率来量化模型不确定性。基于这些原则,现有的通过不确定性估计进行幻觉检测的方法可以分为以下几类:
-
- log-probability-based:使用长度归一化序列对数概率来衡量模型置信度。
- Model based:使用SelfCheck专注于复杂推理中的错误检测,SelfCheck是一种逐步检查器,可评估大模型中的每个推理步骤。该系统通过目标提取、信息收集、步骤再生和结果比较的简化过程来聚合置信度分数,从而提高问答准确性。
(e)基于提示的衡量(Prompting-based Metrics)
- 近年来,大模型的卓越指令执行能力展现了其在自动评估方面的潜力。利用这一特性,研究人员探索了新的模型生成内容忠实性评估方法。通过为大模型提供明确的评估指南,并输入模型生成的内容和源内容,大模型能够有效评估忠实性。评估结果可以是忠实性的二元判断或表示忠实性程度的k点Likert量表。评估提示选择可以是直接提示、链式思维提示、使用上下文学习或让模型生成带有解释的评估结果。
3.2、Benchmarks
表 5:现有幻觉基准概述。对于Attribute来说, Factuality和Faithiness代表基准是否用于评估LLM的事实性或检测忠实性幻觉, Manual代表数据中的输入是否是手写的。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈
4、减轻幻觉
最开始,作者团队分析幻觉产生的原因时主要分了三大块:数据、训练和推理。接下来,作者团队也是按照这三大块来讨论如何减轻幻觉。
4.1、减轻与数据相关的幻觉
与数据相关的幻觉通常源于训练数据中的偏见、错误信息和知识差距/空白。为减少此类幻觉的发生,研究提出了多种策略,旨在降低错误信息和偏见的影响,增强知识扩展,并提高大语言模型对知识的有效利用。
4.1.1、减少错误信息和偏见
为了减少错误信息和偏见的存在,最直观的方法是收集高质量的事实数据(high-quality factual data),防止错误信息的引入,并进行数据清洗以消除偏见。
- 增强事实数据(Factuality Data Enhancement)
保持训练数据的事实正确性对于减少模仿性虚假信息至关重要。最直接的方法是手动筛选预训练数据集。虽然早期如GPT-2的研究强调了只使用经过专家严格筛选的网页数据,但随着数据集规模的扩大,手动筛选变得困难。高质量的学术或专业领域数据通常更准确,因此收集这类数据成为主要策略,例如Pile数据集和“教科书式”数据源。此外,在预训练阶段上采样事实数据也被证明可以提高大语言模型的事实准确性,从而减轻幻觉问题。
- 消除偏差(Debias)
预训练数据中的偏差通常可以分为两大类:重复偏差(Duplication Bias)和社会偏差(Societal Biases),每种偏差都需要不同的去偏差方法:
- Duplication Bias:去重是预训练阶段的重要步骤,通常分为两类:完全重复和近似重复。对于完全重复,最简单的方法是使用子字符串匹配,但处理大规模数据时计算量较大。更高效的方法是构建后缀数组,使多个子字符串查询在线性时间内完成。对于近似重复,常用基于哈希的技术进行n-gram重叠的全文近似匹配,其中MinHash算法(Broder, 1997)在大规模去重任务中较为常见。此外,SemDeDup(Abbas et al., 2023)通过预训练模型的嵌入来识别语义重复,即具有相似语义但不完全相同的数据对。
- Societal Biases:由于预训练数据规模庞大且难以全面掌控,直接解决社会偏见的根源极具挑战性(Ferrara, 2023)。因此,当前主流解决方案主要依赖于精心挑选的训练语料库。通过选择多样化、平衡且具有代表性的训练数据,可以减少偏见(Paullada等, 2021; Narayanan Venkit等, 2023; Ladhak等, 2023),从而降低导致幻觉的风险。此外,还推出了工具包(Viswanath和Zhang, 2023),帮助用户对现有模型和自定义模型进行去偏调整。
4.1.2、减少知识边界
由于训练数据的覆盖范围和时间限制,模型会形成知识边界,带来显著挑战。为应对这些挑战,主要有两种方法备受关注。一种是知识编辑,旨在通过直接编辑模型参数来弥补知识差距。另一种是通过 RAG 利用非参数化知识源。
- 知识编辑(Knowledge Editing)
知识编辑的目标是通过引入额外知识来纠正模型行为。现有的知识编辑技术可以修正事实性错误并更新过时信息,以弥补知识差距,主要分为两类:一类是通过修改模型参数改变模型行为,另一类是使用外部模型插件,保持原模型不变。
- 修改模型的参数(Modifying Model Parameters):这种方法是直接将知识注入到原始模型中,导致模型输出发生实质性改变,可以进一步分为定位编辑方法(locate-then-edit methods)和元学习方法(meta-learning methods)。
- Locate-then-edit methods:定位编辑方法包括两个阶段:首先定位模型参数中存在问题的部分,然后更新这些参数以改变模型行为。例如,ROME 通过破坏并恢复激活值定位相关层,并定向更新 FFN 的参数以编辑知识。MEMIT 使用与 ROME 相同的知识定位方法,允许同时更新多个层以整合大量编辑知识。然而,Yao等(2023c)发现这些方法缺乏显著的泛化能力,对不同模型架构的适用性和性能表现不一。最好的方法如 ROME 和 MEMIT 只在解码器模型上表现良好。
- Meta-learning methods:元学习方法是通过训练一个 hyper-network 来预测原始模型的权重更新。然而,这些方法通常需要额外的训练和内存开销,因此需要专门设计以减少超网络的规模(如低秩分解)。尽管这些方法可以精细地调整模型行为,但对参数的修改可能对模型的固有知识产生潜在的负面影响。
- 保留模型的参数(Preserving Model Parameters):与直接修改模型参数不同,一些研究通过向原始模型添加额外的模型插件来实现预期的行为变化。SERAC 使用一个范围分类器,将与外部编辑记忆中存储的新知识相关的输入引导到反事实模型中,帮助基础模型处理更新的信息。相比于对整个模型进行修改,一些技术通过在原始模型中加入额外的参数层(如adapter层)来实现目标。T-Patcher 和 NKB 通过在 FFN 层中添加补丁来修正事实错误,CALINET 则通过引入类似 FFN 的记忆槽调整 FFN 的输出,帮助缓解知识差距。这些方法需要额外的训练步骤,精心设计训练功能和结构,以确保插件模块在处理更新知识时发挥作用,同时保留原始模块处理未修改的事实。
知识编辑方法可以在一定程度上引入知识,缓解模型的知识差距。然而,这些方法的效果还有提升空间。Zhong等(2023)提出MQUAKE评估注入知识的泛化能力,发现经过编辑的模型能够回忆已编辑的事实,但在处理复杂的多跳问题时表现欠佳。此外,Wu等(2023)和Wang等(2023)表明现有编辑方法在跨语言泛化能力方面有限。Pinter和Elhadad(2023)还指出,知识编辑技术在减轻大语言模型幻觉时可能对用户带来风险,建议采用显式知识的方法(如 RAG)。
- 检索增强(Retrieval Augmentation)
缓解知识差距的一种直观方法是检索增强生成(RAG),通过从外部知识源检索相关文档并基于这些文档生成内容来为大语言模型提供支持。通常,RAG遵循“检索-阅读”流程,首先由检索器从外部源检索相关上下文文档,然后生成器基于输入文本和检索到的文档生成所需输出。使用检索增强来减少幻觉的方法可分为三类:一次性检索(One-time Retrieval)、迭代检索(Iterative Retrieval)和后处理检索(Post-hoc Retrieval)。
图 6:检索增强生成的三种不同方法的说明:a) 一次性检索,在文本生成之前检索相关信息一次;b) 迭代检索,在文本生成过程中涉及多次检索迭代,以实现动态信息集成;c) 事后检索,检索过程在生成答案后发生,旨在细化和事实检查生成的内容。
- One-time Retrieval:一次性检索是通过将从单次检索中获得的外部知识直接添加到大模型的提示词中。
- Iterative Retrieval:传统的一次性检索方法在处理复杂任务,如多步骤推理和长篇问答时可能不够有效。为了解决这些挑战,研究人员提出了迭代检索的方法,通过在生成过程中持续收集知识来应对复杂任务。比如,将任务分解为更易管理的子任务,并在每个推理步骤中引入外部知识,减少推理链中的事实错误。比如,自询问(self-ask)方法,将每个步骤中的问题明确化,并基于后续问题进行检索。比如,迭代检索-生成协作框架,使用模型的响应作为背景信息来获取更相关的知识,并在后续迭代中改进响应。在长篇生成任务中,Jiang等人(2023)提出了一个主动检索增强生成框架,通过将即将到来的预测作为查询来检索相关文档,如果预测包含低置信度的标记,则进行重新生成。此外,Zhang等人(2023e)提出了MixAlign,通过迭代地根据模型指导和用户澄清来改进用户问题,从而提高问题与知识的对齐度。
- Post-hoc Retrieval:为了提高大模型的可信度(trustworthiness)和归因(attribution),有研究人员提出了 research-then-revise workflow,首先检索出相关证据,容纳后基于与证据不一致的地方修订初始生成的内容。同样,还有研究人员引入了 verify-and-edit 框架,通过整合外部知识来增强思维链的事实准确性。对于一致性低于平均水平的推理链,该框架生成验证性问题,并基于检索到的知识修订推理过程,确保生成的回答更符合事实。还有研究人员通过生成多样化的答案改进了事后检索方法,与只生成单一答案不同,他们采样出多个潜在答案,从而提供更全面的检索反馈。此外,他们还通过采用一种集成技术,结合检索前后答案的可能性,进一步减少了误导性反馈的风险。
4.1.3、缓解知识捷径
当大模型依赖虚假的关联(如预训练语料库中的共现统计)来获取事实知识时,会出现知识捷径现象。Kang和Choi(2023)建议在一个去偏样本构建的去偏数据集上进行微调。尽管随着更多偏样本被排除,常见事实的召回率显著下降,但这种方法在微调过程中未见到的稀有事实上难以实现泛化。
4.1.4、减少知识召回失败
大模型常出现幻觉的主要原因之一是它们无法准确检索和应用其参数知识中的相关信息,尤其在复杂推理场景中,信息的完整性至关重要。通过增强知识回忆,可以更有效地将模型输出锚定在可验证的知识上,从而减少幻觉内容的生成。最直接的增强回忆的方法是通过“思维链”提示来引导推理。Zhong等(2023b)提出,单纯应用思维链即可提升知识回忆,在多跳推理中显著提高事实编辑的表现。Zheng等(2023)认为,直接补充问题的相关信息可以增强模型回忆关键知识的能力,而Wang等(2023g)通过概念化将原始常识提炼为高级抽象知识,进一步提升了知识回忆效果。
4.2、减轻与训练相关的幻觉
4.2.1、减轻与训练前相关的幻觉
- 减少有缺陷的模型架构(Mitigating Flawed Model Architecture)
减轻训练前相关幻觉的一个重要研究方向是模型架构固有的局限性,尤其是单向表示和注意力缺陷。鉴于此,许多研究都致力于设计专门针对这些缺陷的新型模型架构。
- 减少单向表征(Mitigating Unidirectional Representation):为了解决单向注意力表示固有的局限性,BATGPT提出了采用双向自回归的方法,它允许模型根据所有先前看到的标记来预测下一个标记,同时考虑过去和未来的上下文,从而捕捉两个方向的依赖关系。基于这个想法,有研究人员强调了 Encoder-Decoder 可以更好的利用其上下文窗口的潜力,并为未来大模型架构提出了一个有希望的方向。
- 减少注意力缺陷(Mitigating Attention Glitches):为了解决自注意力架构中软注意力的局限性,研究人员提出了注意力强化正则(attention-sharpening regularizers),这种方法用可微分的损失来稀疏自注意力架构,从而显著减少推理幻觉。
- 减少次优的预训练目标(Mitigating Suboptimal Pre-training Objective)
在大模型的预训练阶段,目标的选择对决定模型的性能起着关键作用。然而,传统的目标可能会导致模型输出的表征支离破碎和不一致。最近的研究进展试图通过改进预训练策略、确保更丰富的上下文理解和规避偏差来应对这些挑战。这一节作者团队介绍了这些开创性的方法,包括新颖的训练目标和消除暴露偏差的努力。
- 训练目标(Training Objective):为了解决大模型训练中的局限性,例如由于GPU内存限制和计算效率,导致文档级别的非结构化事实知识被分块,从而造成信息碎片化和错误的实体关联,Lee等(2022b)提出了一种增强事实性的训练方法。该方法通过在事实性文档的每个句子前加上TOPICPREFIX,将其转化为独立事实,从而显著减少事实错误并增强模型对事实关联的理解。类似地,针对预训练过程中随机拼接短文档可能导致模型输出不一致的问题,Shi等(2023c)提出了“上下文预训练”方法,该方法通过训练相关文档序列,并改变文档顺序,旨在最大化上下文窗口内的相似性,从而鼓励大模型跨文档边界推理,增强生成内容的逻辑一致性。
- 曝光偏差(Exposure Bias):暴露偏差引发的幻觉与错误积累密切相关,正如Arora等(2022)指出的。尽管已有研究提出了多种方法(Chen et al., 2020; Welleck et al., 2020; Bertsch et al., 2023)来缓解暴露偏差,但很少有研究直接与幻觉问题相关。为弥补这一空白,Wang等(2023b)提出在排列多任务学习框架中引入中间序列作为监督信号,以缓解领域转移场景中的虚假关联。此外,使用最小贝叶斯风险解码(Shen et al., 2016)可以进一步减少与暴露偏差相关的幻觉问题。
4.2.2、减轻错位幻觉
对齐过程中产生的幻觉往往源于能力错位和信念错位。然而,界定大模型的知识边界具有挑战性,很难弥合大模型固有能力与人类标注数据中呈现的知识之间的差距。虽然解决能力错位的研究有限,但重点主要转向了信念错位。
信念不一致引发的幻觉通常表现为奉承行为,即大模型以不理想的方式寻求人类认可。这种奉承行为的原因在于人类偏好判断往往偏向于奉承性回答,而非更真实的答案,导致奖励机制被利用。为解决这一问题,直接的策略是改进人类偏好判断和偏好模型。最新研究探讨了使用大模型帮助人类标注者发现被忽视的缺陷。此外,Sharma等(2023)发现,整合多个人类偏好可以提高反馈质量,从而减少奉承行为。
此外,对大模型内部激活的修改也显示出改变模型行为的潜力。这可以通过微调或推理过程中的激活转向等方法实现。具体来说,Wei 等人(2023 年)提出了一种合成数据干预方法,利用合成数据对语言模型进行微调,在合成数据中,主张的基本事实与用户的观点无关,旨在减少阿谀奉承。
另一个研究方向通过激活引导来减轻阿谀奉承。这种方法涉及使用成对的奉承/非奉承提示来生成奉承引导向量,该向量来自中间激活差异的平均值。在推理过程中,减去该向量可产生较少奉承的大模型输出。
4.3、减轻与推理相关的幻觉
大模型中的解码策略在决定生成内容的真实性和忠实性方面起着关键作用。然而,正如第 2.3 节所分析的,不完善的解码通常会导致输出内容缺乏事实性或偏离原始语境。在这一节中,作者团队探讨了两种先进的策略,旨在完善解码策略,提高 LLM 输出的事实性和忠实性。
4.3.1、事实性增强解码
事实性增强解码(Factuality Enhanced Decoding)侧重于确保 LLM 生成的信息的事实性。通过强调事实的准确性,这一策略旨在生成严格遵守真实世界信息的输出结果,避免产生误导或虚假陈述。
-
关于独立解码(On Standalone Decoding)
-
- 事实核采样算法(Lee 等,2022b)通过动态调整 “核” p 值来控制句子的生成过程。每个新句子开始时,重置核概率,以在事实性和输出多样性之间取得平衡。
- 推理-时间干预(ITI)(Li 等,2023d)利用激活空间中与事实相关的结构来干预推理过程。通过调整激活方向,LLM 可以生成更符合事实的内容。
- DoLa 方法(Chuang 等,2023)基于变换器模型中的层次化知识存储,通过动态调整各层的权重,强化高层的语义信息,削弱低层的低级信息,从而提高解码过程的事实性,减少幻觉内容的生成。
-
后编辑解码(Post-editing Decoding)
-
- 与在初始解码时通过调整概率分布来防止生成幻觉的策略不同,编辑后解码更强调利用大模型的自我修正能力来优化生成的内容,而无需借助外部知识库。
- 自我修正能力:编辑后解码的核心假设是,LLMs 可以通过自身的反馈机制纠正错误。Pan 等人(2023)提出的模型依赖 LLM 自我改进,而不是在初始解码时进行干预。
- 验证链(COVE):Dhuliawala 等人(2023)提出了 COVE,基于 LLM 的提示,它首先生成一个初稿,然后提出一系列验证问题,并系统地回答这些问题,最终提供经过修订和改进的更准确回复。
- 自我反思过程:在医疗领域,Ji 等人(2023b)设计了一个迭代的自我反思过程。LLM 首先生成事实性知识,然后不断完善其答案,直到确保与提供的背景信息一致。这种方法利用了 LLM 的内在能力,使其能够逐步改进答案,提高准确性。
4.3.2、忠实度增强解码
另一方面,忠实性增强解码优先考虑与用户说明或提供的上下文保持一致,同时还强调增强生成内容的一致性。因此,在这一节中,作者团队将现有工作总结为两类,包括上下文一致性和逻辑一致性。
-
上下文一致性(Context Consistency)
-
-
早期研究:在大模型之前,研究主要集中在抽象概括和数据到文本生成的领域,以提高上下文的一致性。Tian 等人(2019)提出了置信解码,通过在解码过程中引入置信度得分,衡量模型对源内容的关注度,从而确保生成的内容更符合事实。
-
互信息解码:van der Poel 等人(2022)提出了一种基于点状互信息的解码策略,鼓励模型优先处理与源文档相关的内容,特别是在模型不确定性较高时,目的是防止生成幻觉。
-
忠实度提升:与以往加强对源文件关注的策略不同,Wan 等人(2023)研究了更好地探索搜索空间是否能提高忠实度。他们使用自动化的忠实度指标对生成的候选文本进行排序,并通过前瞻性启发方法为未来的生成分配忠实度分数,结果显示相比传统解码策略,这种方法在忠实度上有显著提升。
-
然而,在大模型时代,由于对语境不够关注导致幻觉应然存在,有一些可参考方法为:
-
- 上下文感知解码(CAD):Shi 等人(2023b)提出了CAD,通过减少模型对先验知识的依赖,修改输出分布,促进模型更好地关注上下文信息。这与 van der Poel 等人(2022)的类似方法相呼应。但这种方法面临多样性与归因之间的权衡,即过度强调上下文可能降低生成的多样性。
- 创新采样算法:为了解决这个权衡,Chang 等人(2023a)引入了创新的采样算法,该算法通过并行解码(一个考虑来源,一个不考虑),根据KL 分歧动态调整温度,确保在保持多样性的同时提高归属感。
- 编辑后框架:Lei 等人(2023)提出了一种通用的编辑后框架,通过首先检测句子和实体层面的幻觉,利用检测到的反馈来完善模型的响应,以减少推理过程中的不忠实内容。
- 知识约束解码(KCD):Choi 等人(2023)提出了KCD,采用标记级幻觉检测来识别潜在幻觉,并通过对知识基础的估计来重新调整标记分布,进一步指导生成过程。
- 突破 Softmax 瓶颈:Softmax 解码的瓶颈限制了生成多样性和忠实表征的表达。为解决这一问题,有研究者探索了两种方法:一是混合 Softmax(Yang 等人,2019):使用多个隐藏状态多次计算 softmax,并合并其分布,增加多样性。二是指针网络(Chang 等人,2023b):允许 LLM 直接复制上下文中的词汇,进一步减少幻觉。
-
-
逻辑一致性(Logical Consistency)
-
- LLM 中的逻辑一致性对于确保一致的反应和防止幻觉至关重要,尤其是在多步骤推理过程中。为了增强思维链提示中固有的自我一致性,Wang 等人(2023f)采用了一种知识提炼框架。他们首先利用对比解码(Li et al.,2022c)生成一致的理由,然后利用反事实推理目标对学生模型进行微调,从而有效消除了不考虑理由就得出答案的推理捷径(Branco et al.,2021)。此外,通过直接采用对比解码,LLMs 可以减少表层复制,防止错过推理步骤(O’Brien and Lewis, 2023)。
5、面临的挑战
在最后,作者团队总结了在追求可靠和真实的大模型中,解决幻觉问题的关键性,并指出了当前面临的挑战,尤其是在长文本生成、检索增强生成(RAG)、和视觉语言模型中,简单描述如下:
- 长文本生成:随着生成内容长度的增加,幻觉的可能性增大,且现有的幻觉基准多集中于事实性幻觉,缺乏针对长文本生成的手工注释基准,导致难以研究特定类型的幻觉。此外,当前评估幻觉的指标在处理更复杂、开放或有争议的事实时存在局限性,给实际应用带来了挑战。
- 检索增强生成(RAG):RAG 通过检索外部知识库,帮助LLMs生成基于证据的更精确响应,但它也面临错误积累的问题,导致不相关证据影响生成结果。此外,RAG 可能出现引用错误,导致用户难以追踪信息来源。此外,在多样性与事实性之间也存在权衡,需进一步平衡。
- 视觉语言模型(LVLMs):LVLMs 拥有卓越的视觉感知和语言生成能力,但在生成内容时仍易产生对象幻觉,如不存在的对象、错误属性或语义关系。此外,LVLMs 依赖于语言先验,容易因不当用户输入出现性能下降,且即便正确识别视觉元素,LVLMs 也可能产生逻辑推理错误,这些问题有待进一步研究。
小结
这篇综述从数据、训练、推理三个方面分析了幻觉产生的原因以及减轻幻觉的一些方法,扩充了自己的知识面。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓