A Survey on Hallucination in Large Language Models: Principles, Taxonomy, Challenges, and Questions
目录
概要
相关知识
幻觉的导致因素
数据相关
1.在有缺陷的预训练数据源中存在错误信息和偏差
2.预先训练数据范围存在固有的知识边界
3.劣质对齐数据引起的幻觉
训练相关
预训练产生的幻觉
监督微调产生的幻觉
从人类反馈中强化学习产生的幻觉
推理相关
不完善的解码
过度自信
Softmax瓶颈
推理失败
幻觉检测方法
事实性幻觉检测
1.事实检查
2.不确定性估计
忠实性幻觉检测
基于事实的指标
基于分类器的指标
基于不确定性的指标
基于LLM的判断
幻觉检测基准
幻觉缓解策略
减轻数据相关幻觉
数据过滤
模型编辑
检索增强生成
减轻与训练有关的幻觉
减轻预训练产生的幻觉
减轻训练相关幻觉
减轻推理相关幻觉
事实增强解码
忠诚增强解码
上下文一致性
逻辑一致性
RAG系统面临的幻觉问题
检索失败
用户查询的表述
检索源的可靠性和范围
检索器的有效性
生成瓶颈
总结
概要
大语言模型容易产生幻觉,生成似是而非的内容。本文从大模型幻觉分类 开始,从数据相关、培训相关和推理相关 的角度,深入研究了导致幻觉的因素 ,随后全面概述了幻觉的检测方法和基准 。然后,讨论了减轻大模型幻觉的代表性方法 。最后,本文深入研究了当前RAG系统面临的幻觉问题,并为即将到来的研究描绘了潜在的途径。

相关知识
1.大语言模型的训练:
llm经历三个主要训练阶段:预训练、监督微调(SFT)和从人类反馈中强化学习(RLHF)。
预训练:LLM通过自回归预测序列中的后续标记。通过在大量文本语料库上进行自监督训练,获得了语言语法和推理能力。
监督微调(SFT):使用经过精心注释的(指令,响应)对LLM进一步训练。
基于人类反馈的强化学习(RLHF):使用一个经过训练的偏好模型来预测给定提示和一对人工标记响应的偏好排名。为了与人类偏好保持一致,RLHF优化LLM以生成输出,使训练好的偏好模型提供的奖励最大化,通常采用强化学习算法,如近端策略优化(PPO)。
2.幻觉的分类:事实幻觉和忠实幻觉。
事实幻觉强调生成的内容与可验证的现实世界事实之间的差异,通常表现为事实矛盾或捏造事实:
- 事实矛盾:输出包含基于现实世界信息的事实,但存在矛盾的情况,根据矛盾的错误类型,又可进一步分为实体错误幻觉和关系错误幻觉两类;
- 捏造事实:输出包含的事实是无法验证的建立现实世界的知识的实例,这可以进一步分为不可验证幻觉和夸大幻觉。
忠实幻觉捕捉到生成内容与用户输入的差异,或者生成内容缺乏自一致性。这一类别又可细分为:
- 指令不一致,即内容偏离了用户的原始指令;
- 上下文不一致,强调与所提供上下文的差异;
- 和逻辑上的不一致,指出内容内部的矛盾。

幻觉的导致因素
本节深入研究了llm幻觉的根本原因,主要分为三个关键方面:(1)数据,(2)训练,(3)推理)
数据相关
训练LLM的数据由两个主要部分组成:
(1)预训练数据,LLM通过预训练数据获得一般能力和事实知识
(2)校准数据,使得LLM遵循用户指令并与人类偏好保持一致。
尽管这些数据不断扩展LLM的能力边界,但它们也是LLM幻觉的主要成因。这表现在三个方面:
1.在有缺陷的预训练数据源中存在错误信息和偏差

2.预先训练数据范围存在固有的知识边界

3.劣质对齐数据引起的幻觉
在预训练阶段之后,LLM已经在其参数中嵌入了大量的事实知识,建立了明显的知识边界。但在监督微调(SFT)阶段,LLM通常在由人工注释者标记的指令对上进行训练,这可能引入超出预训练阶段建立的知识边界的新事实知识。最新研究发现,通过SFT获取新知识与幻觉现象之间存在相关性,尤其集中于任务格式学习的特定任务指令,往往会产生更高比例的幻觉响应。此外,过于复杂和多样化的指令也会导致幻觉现象的增加。
训练相关
预训练产生的幻觉
1.因果语言建模的限制:模型仅基于前面的标记以单向、从左到右的方式学习预测后续标记。虽然这种方法促进了高效的训练,但它本质上限制了捕捉复杂上下文依赖关系的能力,可能增加幻觉现象出现的风险。
2.软注意力的局限性:当序列长度增加时,注意力在各个位置之间变得稀释。
3.模型中预训练与推理之间的差异:这种不一致可能导致幻觉的出现,尤其是当模型生成的错误标记在后续序列中引发错误时,类似于滚雪球效应。
监督微调产生的幻觉
1.知识边界的错位:LLM在预训练期间建立了固有的能力边界,然而当SFT超出预训练阶段建立的知识边界时,LLM对新的事实性知识的过度拟合会导致其倾向于编造内容,从而放大幻觉的风险。
2.模型无法拒绝:SFT通常迫使模型完成每个响应,而不允许模型表达不确定性。因此,当面对超出其知识边界的查询时,这些模型更有可能编制内容而不是拒绝它。
从人类反馈中强化学习产生的幻觉
模型具有迎合人类评估者的倾向,尽管它意识到其不准确性。这种谄媚行为不仅限于没有明确答案的模糊问题,例如政治立场,还可能在模型选择明显错误的答案时出现。研究表明,谄媚的倾向可能是由人类和模型共同驱动的,表现出对谄媚响应的偏好,而非对真实响应的偏好。
推理相关
解码在llm经过预训练和对齐后的能力方面起着重要作用。然而,解码的某些缺陷会导致幻觉:
不完善的解码
随机抽样是目前采用的主流解码策略,将随机性纳入解码策略的原理源于高似然序列通常会导致低质量文本,这被称为似然陷阱 。解码策略的随机性带来的多样性是有代价的,因为它与幻觉风险的增加呈正相关。采样温度的升高会导致更均匀的令牌概率分布,从而增加从分布尾部以较低频率采样令牌的可能性。因此,这种对不经常出现的标记进行取样的倾向加剧了幻觉的风险。
过度自信
语言模型往往在其注意机制中表现出局部焦点(优先考虑附近的单词),导致明显的上下文注意缺陷。甚至出现遗忘的风险,这种注意力不足可以直接导致模型输出的内容偏离了原始上下文。
Softmax瓶颈
大多数语言模型都使用softmax层,该层在语言模型中对最后一层的表示进行操作,并结合单词嵌入来计算与单词预测相关的最终概率。然而,基于Softmax的语言模型的有效性受到Softmax瓶颈的限制:Softmax与分布式词嵌入的结合使用限制了给定上下文的输出概率分布的表达性,阻碍了大模型输出期望的分布。
推理失败
1.大模型推理能力的限制:如果问题之间存在多个关联,LLM可能难以产生准确的结果。
2.逆转诅咒:当问题被表述为“A是B”时,模型可以正确回答,但当被问及相反的“B是A”时,它表现出失败的逻辑推理。
幻觉检测方法
现有的llm幻觉检测策略可以根据幻觉的类型进行分类:
- 事实性幻觉检测,旨在识别模型输出中的事实不准确性。
- 忠实性幻觉检测,侧重于评估模型输出对所提供的上下文信息的忠实性。
事实性幻觉检测
典型的方法通常分为两类:
- 事实检查,这涉及到针对可信的知识验证所生成响应的真实性。
- 不确定性估计,侧重于通过内部不确定性信号检测事实不一致。
1.事实检查
由于大模型的输出通常是全面的,由多个事实陈述组成的。事实检查方法通常分为两个主要步骤:(1)事实提取,这涉及到在模型的输出中提取独立的事实陈述;(2)事实验证,旨在根据可信的知识来源验证这些事实陈述的正确性。根据用于验证的知识来源的类型,事实检查方法可以大致分为两个不同的部分:外部检索和内部检查。
外部检索 :事实验证的最直观策略是外部检索。
- Min等人开发了FACTSCORE,这是一种针对长文本生成评估的细粒度事实指标。它首先将生成内容分解为原子事实,然后计算由可靠知识来源支持的百分比。
- 在此基础上,Chern等人提出了一个统一框架,使LLM能够通过利用一系列专门用于证据收集的外部工具来识别事实不准确性。
- 除了仅基于分解的声明检索支持证据外,Huo等人通过查询扩展改进了检索过程。通过将原始问题与LLM生成的答案结合,有效地解决了主题漂移的问题,确保检索到的证据与问题和LLM的响应一致。
内部检查 :鉴于LLM的参数中编码了广泛的事实知识,LLM可以作为事实检查的知识来源。
- Dhuliawala等人引入了验证链(Chain-of-Verification,CoVe),其中LLM首先为草稿响应生成验证问题,然后利用其参数知识评估答案与原始响应的一致性,从而检测潜在的不一致性。
- Kadavath等人和Zhang等人计算了概率𝑝(𝑇𝑟𝑢𝑒),以评估对布尔问题响应的真实性,完全依赖于模型的内部知识。
- 此外,Li等人观察到大多数原子陈述是相互关联的,有些可能作为其他陈述的上下文背景,这可能导致错误判断。
这些方法指导LLM直接预测幻觉判断,考虑所有事实陈述。然而,由于LLM并非固有可靠的事实数据库,单纯依赖LLM的参数知识进行事实检查可能导致不准确的评估。
2.不确定性估计

虽然许多幻觉检测方法依赖于外部知识来源进行事实检查,但已经设计出几种方法来解决零资源环境中的这一问题,从而消除了对外部知识检索的需要。这些策略的基础前提是:LLM幻觉的产生与模型的不确定性密切相关,从而通过估计模型生成内容的不确定性,可以检测幻觉。不确定性估计的方法大致可分为基于LLM内部状态和基于LLM行为两种方法。
LLM的内部状态 :LLM的内部状态可以作为其不确定性的有用指标,通常通过标记概率或熵等指标表现出来。
- Varshney等人确定了模型对关键概念的不确定性,通过考虑这些概念中的最小标记概率来量化。不确定性的基本原理是,低概率是模型不确定性的强指示,较高概率的标记对概念的影响较小。
- 类似地,Luo等人采用了一种基于自我评估的不确定性估计方法,基于这样的推理:语言模型能够熟练地从其生成的解释中重构原始概念,表明其对该概念的熟练程度。通过最初提示模型为给定概念生成解释,然后使用约束解码让模型根据其生成的解释重建原始概念,响应序列中的概率分数可以作为该概念的熟悉度评分。
- 此外,Yao等人通过对抗攻击的视角解释了幻觉现象。利用基于梯度的标记替换,设计提示以诱发幻觉。值得注意的是,他们观察到,从原始提示生成的第一个标记通常表现出低熵,而与对抗攻击生成的标记相比则更为明显。基于这一观察,他们提出设定熵阈值来定义这种幻觉攻击。
LLM行为 :当系统仅通过API调用访问时,输出的标记级概率分布可能不可用。在这种限制下,几项研究将重点转向探测模型的不确定性,方法包括使用自然语言提示或检查其行为表现。
- Manakul等人通过对同一提示从LLM采样多个响应,评估事实陈述之间的一致性来检测幻觉。然而,这些方法主要依赖于直接查询,明确请求模型提供信息或验证。
- Agrawal等人受到调查访谈的启发,提倡使用间接查询。与直接查询不同,这些间接查询通常提出开放式问题,以引出特定信息。通过使用这些间接查询,可以更好地评估多个模型生成之间的一致性。
- 除了从单个LLM的多次生成中评估不确定性外,还可以通过引入额外的LLM来采用多代理视角。Cohen等人受到法律交叉审问实践的启发,提出了LMvLM方法。这一策略利用一个考官LLM对一个被考官LLM进行提问,旨在揭示多轮互动中声明的一致性问题。
忠实性幻觉检测

基于事实的指标
最直观的方法之一是测量生成内容和源内容之间关键事实的重叠程度。考虑到事实的不同表现形式,忠诚可以基于n-gram、实体和关系三元组来衡量。
基于分类器的指标
除了计算事实重叠,评估模型生成内容的真实性的另一种直接方法是利用在相关任务(如自然语言推理(NLI)和事实检查)上训练的分类器,或者将特定任务的幻觉和真实内容的数据合成。评估生成文本真实性的基础原则是,真正真实的内容应该本质上由其源内容所包含。
基于问答的指标
这种指标是通过捕获模型生成内容与其源内容之间的信息重叠。首先从LLM的输出中选择目标答案,然后由问题生成模块生成问题。接着,这些问题用于根据用户上下文生成源答案。最后,通过比较源答案和目标答案之间的匹配分数来计算LLM响应的真实性。尽管这些方法具有共同的主题方法,但在答案选择、问题生成和答案重叠等方面表现出变异性,导致不同的性能结果。在这一基础工作上,Fabbri等人对基于问答的指标中的组件进行了深入评估,从而进一步提高了真实性评估的效果。
基于不确定性的指标
与用于检测事实幻觉的不确定性方法相似,评估真实性的不确定性估计的应用已被广泛探索,通常以熵和对数概率为特征。
- 对于基于熵的不确定性,Xiao和Wang揭示了数据到文本生成中的幻觉可能性与预测不确定性之间的正相关关系,这一关系是通过深度集成估计的,Guerreiro等人利用蒙特卡洛dropout产生的假设方差作为神经机器翻译中的不确定性度量。最近,van der Poel等人采用条件熵来评估抽象摘要中的模型不确定性。
- 关于对数概率,它可以应用于不同粒度的水平,例如单词或句子级别。值得注意的是,一些研究采用长度归一化的序列对数概率来测量模型的置信度。此外,考虑到当前上下文包含相同的幻觉信息时,幻觉标记可以被赋予高概率,Zhang等人关注于最具信息性和重要的关键词,并引入了一种惩罚机制以抵消幻觉内容的传播。
基于LLM的判断
LLM的指令遵循能力突显了它们在自动评估中的潜力。利用这一能力,研究人员探索了评估模型生成内容真实性的新范式。通过为LLM提供具体的评估指南,并同时输入模型生成的内容和源内容,能够有效地评估真实性。最终评估输出可以是对真实性的二元判断或一个表示真实性程度的k点Likert量表。对于提示选择,评估提示可以是直接提示、思维链提示、使用上下文学习或允许模型生成伴随解释的评估结果。
幻觉检测基准

幻觉缓解策略
减轻数据相关幻觉
数据过滤
1.选择收集高质量的数据,以避免引入错误信息和偏差;
2.重复数据删除,现有的实践通常分为两类:完全重复和近似重复。对于精确重复项,有简单的精确子字符串匹配,和更为有效的后缀数组的构造两种方法,后者能够在线性时间内有效地计算大量子字符串查询。关于近重复,通常使用基于散列的技术来识别近似全文匹配。
模型编辑
模型编辑侧重于通过编辑模型参数注入最新的知识,它提供了一种精确的方法来减轻由特定的错误信息引起的幻觉,而不需要大量的再培训。
1.定位-编辑
由两个阶段组成,首先定位模型参数的“错误”部分,然后对它们应用更新以改变模型的行为。
- ROME通过破坏并随后恢复激活来相关层,然后直接更新FFN的参数来编辑知识。
- MEMIT采用了与ROME相同的知识定位方法,实现了多层并行更新,便于成千上万的编辑知识同时集成。
- 然而,Yao等人发现这些方法缺乏重要的泛化能力,对不同模型架构的性能和适用性也不尽相同。根据经验,性能最好的方法ROME和MEMIT仅适用于仅解码器的llm。
2.元学习
元学习通过训练一个外部超网络来预测原始模型的权重更新。然而,这种方法通常需要额外的训练和内存成本。
- 其中MEND使用具有专门设计的低秩分解来减小超网络的大小。值得注意的是,MEND会表现出一种抵消效应,其中对应于不同键的参数位移会显著地相互抵消。
- MALMEN进一步解决了这一问题,将参数移位聚合构建为最小二乘问题,而不是简单的求和,从而大大增强了其广泛编辑的能力。虽然这些方法可以细粒度地调整模型的行为,但对参数的修改可能会对模型的固有知识产生潜在的有害影响。
检索增强生成
检索增强生成利用外部非参数数据库提供知识。检索增强生成遵循一个检索-读取的管道,在这个管道中,检索器首先从外部源检索相关知识,然后由生成器对用户查询和检索的文档进行调节生成最终响应。常见的实践可以根据检索的时间分为三个部分,一次性检索、迭代检索和事后检索。

减轻与训练有关的幻觉
减轻预训练产生的幻觉
这一项研究集中在模型架构固有的局限性上,特别是一维表示和注意力缺陷。为此,许多研究深入探讨了专门设计的新型模型架构,以解决这些缺陷。
- 为了解决一维表示的固有限制,Li等人引入了BATGPT,该模型采用双向自回归方法。这个设计使得模型能够基于所有先前见过的标记预测下一个标记,考虑过去和未来的上下文,从而捕捉双向的依赖关系。
- 在这一思路的基础上,Liu等人强调了编码器-解码器模型在更好利用其上下文窗口方面的潜力,建议未来LLM架构设计的有希望方向。
- 此外,Liu等人认识到自注意力架构中软注意力的局限性,提出了注意力锐化正则化器。这种即插即用的方法使用可微损失项来指定自注意力架构,以促进稀疏性,从而显著减少推理幻觉。
由于LLM中固有的限制,即由于GPU内存限制和计算效率,文档级的非结构化事实知识通常被切分,导致信息碎片化和错误的实体关联。
- Lee等人引入一种增强事实性训练方法。通过在事实文档中每个句子后附加TOPICPREFIX,该方法将其转变为独立的事实,显著减少了事实错误,并增强了模型对事实关联的理解。
- 类似地,考虑到在预训练期间随机拼接较短文档可能会导致模型输出的不一致,Shi等人提出了上下文内预训练,这是一种创新的方法,其中LLM在相关文档序列上进行训练。通过改变文档顺序,该方法旨在最大化上下文窗口内的相似性。它明确鼓励LLM跨文档边界进行推理,从而可能增强生成之间的逻辑一致性。
减轻训练相关幻觉
在对训练过程中诱发的幻觉通常源于能力不匹配或信念不匹配。然而,定义LLM的知识边界证明是具有挑战性的,这使得减少LLM固有能力与人类标注数据中呈现的知识之间的差距变得困难。
源于信念不匹配的幻觉通常表现为谄媚,这种谄媚行为可以归因于人类偏好判断通常更倾向于谄媚的回应,而非更真实的回应,为了解决这个问题,一种简单的策略是改善人类偏好判断,并由此改善偏好模型。
- 最近的研究探讨了使用LLM帮助人类标注者识别被忽视的缺陷。
- Sharma等人发现,聚合多个人的偏好可以提高反馈质量,从而减少谄媚行为。对LLM内部激活的修改也显示出改变模型行为的潜力。这可以通过微调或推理过程中的激活引导等方法实现。
- Wei等人提出了一种合成数据干预,通过使用合成数据微调语言模型,其中声明的真实情况独立于用户的意见,旨在减少谄媚倾向。
另一项研究方向是通过激活引导来减轻谄媚。这种方法涉及使用谄媚/非谄媚提示对生成谄媚引导向量,该向量是通过平均中间激活的差异得出的。在推理过程中,减去该向量可以产生较少谄媚的LLM输出。
减轻推理相关幻觉
事实增强解码
旨在通过优先考虑llm生成的信息的事实性来提高其输出的可靠性。这一系列方法侧重于将模型输出与已建立的现实世界事实紧密地结合起来,从而将传播虚假或误导性信息的风险降至最低。
忠诚增强解码
忠诚增强解码优先考虑与提供的上下文对齐,并强调生成内容的一致性。在本节中,作者将现有的工作归纳为两类,包括上下文一致性和逻辑一致性。
上下文一致性
- Shi等人提出了上下文感知解码(CAD),该方法在对比公式中修改模型的原始输出分布。通过放大有上下文和无上下文的输出概率之间的差异,CAD鼓励LLM更加关注上下文信息,而不是过度依赖先前知识。
- 然而,由于多样性与上下文归属之间的固有权衡,过分强调上下文信息可能会降低多样性。为了解决这个问题,Chang等人引入了一种动态解码算法,以增强真实性的同时保持多样性。具体而言,该算法涉及两个并行解码步骤,一个带有上下文,一个不带。在解码过程中,两种标记分布之间的KL散度作为指导信号,指示源上下文的相关性。当源上下文相关时,该信号用于动态调整采样温度,以改善源归属。
- 在另一项相关工作中,Choi等人引入了知识约束解码(KCD),该方法使用标记级幻觉检测判别器来识别上下文幻觉,然后通过重新加权标记分布来引导真实生成过程。除了在原地修改输出分布以增强上下文关注外,
- 另一项研究探索了一种通用的后编辑方法来增强真实性。Gao等人采用了研究与修订的工作流程,其中研究阶段提出关于模型初始响应的各个方面的问题,并为每个查询收集证据,而修订阶段则检测并修正模型响应与证据之间的任何不一致。
- 类似地,Lei等人首先在句子和实体层面检测上下文幻觉,然后将判断结果纳入以精炼生成的响应。
- 此外,一些研究探索了克服softmax瓶颈的方法,该瓶颈限制了多样性和真实表示的表达。这些方法包括采用softmax混合,使用多个隐藏状态多次计算softmax并合并结果分布,以及引入指针网络,使LLM能够复制上下文中的单词,从而减少上下文幻觉。
逻辑一致性
受到人类思维过程的启发,链式思维(chain-of-thought)被引入以鼓励LLM将复杂问题分解为明确的中间步骤,从而增强推理过程的可靠性。尽管这一方法有效,最近的研究表明,LLM生成的中间推理并未忠实捕捉其潜在行为。一些研究分支受到启发,旨在提高LLM生成的中间推理的一致性,特别是在多步骤推理和逻辑推理方面。
- 为了增强链式思维中的自我一致性,Wang等人采用了知识蒸馏框架。他们首先使用对比解码生成一致的推理,然后通过反事实推理目标微调学生模型,有效消除那些在未考虑推理的情况下得出答案的推理捷径。此外,通过直接采用对比解码,LLM可以减少表面级的复制,防止遗漏推理步骤。
- 此外,Li等人对上下文、链式思维和答案之间的因果相关性进行了深入分析,分析显示,非真实性问题在于链式思维获得的上下文信息与答案之间的不一致。为了解决这个问题,他们提出了推理桥接,采用归因方法回忆上下文信息作为提示,以增强链式思维推理,并过滤出与上下文的语义一致性和归因分数较低的噪声链式思维。
- Paul等人将推理过程分解为两个模块:推理模块,采用直接偏好优化,使LLM倾向于选择正确的推理链而非反事实链;推理模块则鼓励LLM在推理步骤上进行真实推理,使用反事实和因果偏好目标。
- 与自然语言推理相比,逻辑推理要求严格的逻辑计算,而普通文本往往缺乏精确的逻辑结构,导致非真实性推理。为了解决这个问题,Xu等人引入了符号链式思维(Symbolic CoT,SymbCoT),该方法在链式思维中结合符号表达,以描述中间推理步骤。具体而言,SymbCoT将自然语言上下文转换为符号表示,然后制定逐步计划以解决逻辑推理问题,最后通过验证器检查翻译和推理链,从而确保逻辑推理的真实性。
RAG系统面临的幻觉问题
通过在推理过程中整合大规模的外部知识库,RAG可以减轻幻觉并提高LLM输出的真实性。尽管被设计用来减轻LLM幻觉,检索增强LLM仍然可以产生幻觉。在RAG中出现的幻觉相当复杂,表现为输出要么事实不准确,要么具有误导性。这种幻觉可能源于以下两个主要因素:
检索失败
检索过程是RAG框架中至关重要的初始步骤,其任务是为信息查找查询检索最相关的信息。因此,检索阶段的失败会对RAG管道产生严重的下游影响,导致幻觉。这些故障通常源于三个主要部分:用户查询的表述、检索源的可靠性和范围,以及检索器的有效性。
用户查询的表述
用户查询在指导RAG系统的检索过程中起着基本的作用。这些查询的特异性和清晰度严重影响检索结果的有效性。有三个角度会导致幻觉问题:盲目检索,对模糊查询的误解,以及准确检索复杂查询的挑战。

检索源的可靠性和范围
检索源的可靠性和范围是RAG系统有效性的关键决定因素。有效的检索不仅依赖于用户查询的清晰度,还依赖于信息检索来源的质量和全面性。当这些来源包含事实不准确或过时的信息时,检索失败的风险显著增加,可能导致生成错误或误导性的信息。研究结果表明,如果没有适当的干预,人类生成的内容可能会在RAG系统中逐渐失去影响力。
- Tan等人调查了在检索上下文中整合LLM生成内容时RAG系统的表现,揭示了显著偏向生成上下文的倾向。这种偏见源于生成上下文与问题之间的高度相似性,以及检索上下文的语义不完整性。
更严重的是,LLM产生事实不准确的幻觉的倾向加剧了检索源的可靠性问题。由于LLM生成的内容通常包含事实错误,其整合到检索源中可能会误导检索系统,进一步降低检索信息的准确性和可靠性。为了解决这些偏见,已经探索了几种方法。
- 受到预训练数据处理中的常见实践的启发,Asai等人提出了一种场景,结合了旨在确保检索数据存储库高质量的质量过滤器。
- 此外,Pan等人提出了可信度感知生成(CAG),该方法使LLM具备根据信息的可信度进行辨别和处理的能力。这种方法根据信息的相关性、时间上下文和来源的可信度为信息分配不同的可信度级别,从而有效减少RAG系统中有缺陷信息的影响。
检索器的有效性
当用户查询明确且检索源可靠时,检索过程的有效性主要取决于检索器的性能。在这种情况下,不适当的分块和嵌入实践显著损害了检索器的有效性。
分块 :检索源通常包含像网页这样的长文档,这对具有有限上下文长度的LLM构成了重大挑战。因此,分块成为RAG中的一个不可或缺的步骤,涉及将这些庞大的文档分割成更小、更易管理的块,以便为LLM提供精确和相关的证据。根据实际需要,分块的粒度范围从文档到段落,甚至句子。然而,不恰当的检索粒度可能会损害语义完整性并影响检索信息的相关性,从而影响LLM的性能。固定大小的分块通常将文档分解为指定长度的块,例如100字的段落,是最粗糙和最普遍的分块策略,广泛应用于RAG系统中。
- 考虑到固定大小的分块在捕捉长文档的结构和依赖性方面的不足,Sarthi等人提出了RAPTOR,这是一种索引和检索系统。通过递归嵌入、聚类和总结文本块,RAPTOR构建了一棵树,以捕捉高层次和低层次的细节。在检索时,RAPTOR使LLM能够整合来自不同抽象层次的信息,为用户查询提供更全面的上下文。与固定块大小的文本分块不同,语义分块通过嵌入相似性自适应地识别句子之间的断点,从而保持语义连续性。
- 此外,Chen等人指出了现有检索粒度的局限性。一方面,虽然较粗的检索与较长的上下文理论上可以提供更全面的上下文,但它往往包含可能分散LLM注意力的多余细节。另一方面,细粒度水平可以提供更精确和相关的信息,但也存在一些局限性,例如不具自包含性和缺乏必要的上下文信息。为了解决这些不足,Chen等人引入了一种新颖的检索粒度——命题,定义为文本中的原子表达,每个表达封装一个独特的事实,并以简洁的自包含自然语言格式呈现。
嵌入 :一旦检索文本被分块,文本块随后通过嵌入模型转换为向量表示。这种表示方案得到了著名的向量数据库数据结构的支持,该结构系统地将数据组织为键值对,以实现高效的文本检索。通过这种方式,可以根据文本表示与查询表示之间的相似性函数计算相关性得分。
然而,次优的嵌入模型可能会影响性能,从而影响块与用户查询的相似性和匹配,可能误导LLM。通常,标准嵌入模型通过对比学习学习查询和文本表示,采用基于编码器的架构(例如BERT、RoBERTa),其中损失是通过对比正对的查询-文档对与一组随机负对构建的。然而,当这些嵌入应用于新领域时,例如医疗和金融应用,它们显示出局限性。在这些情况下,最近的研究建议在特定领域的数据上微调嵌入模型,以增强检索的相关性。
- REPLUG利用答案的语言建模分数作为训练密集检索器的代理信号。
- Muennighoff等人引入了生成表示指令微调,其中单个LLM被训练以处理生成和嵌入任务,这在很大程度上通过缓存表示减少了RAG中的推理延迟。
- 尽管取得了这些进展,该领域仍面临挑战,特别是在高性能但不可访问的嵌入模型的微调方面,例如OpenAI的text-embedding-ada-002。为了解决这一差距,Zhang等人提出了一种新颖的方法,通过增强一个可训练的嵌入模型来微调黑箱嵌入模型,从而显著提升黑箱嵌入的性能。
生成瓶颈
上下文感知:包括理解和有效利用检索到的上下文信息。影响LLM保持上下文意识能力的关键因素可以分为三个主要部分:
- (1)上下文中存在噪声检索
- (2)上下文冲突
- (3)上下文信息利用不足
上下文对齐:确保LLM忠实地输出与相关上下文对齐的内容。其中包括:
- (1)来源归属
- (2)忠实解码
总结
在这项综合调查中,作者对幻觉问题进行了深入研究,介绍了其潜在原因的复杂性,检测方法以及相关基准,并制定了有效的缓解策略。尽管已经取得了重大进展,但LLM幻觉难题仍然是一个令人信服和持续关注的问题,需要持续的研究。
