AI 海洋中的塞壬之歌:大型语言模型中的幻觉现象综述
Siren’s Song in the AI Ocean: A Survey on Hallucination in Large Language Models
原文链接:https://ar5iv.labs.arxiv.org/html/2309.01219
幻觉是什么?
LLMs取偶尔会产生看似合理却偏离用户输入、先前生成内容或事实知识的输出——这一现象通常被称为幻觉。
幻觉有什么分类?
- Input-conflicting Hallucination(输入冲突幻觉):指LLMs生成的内容与用户提供的原始输入相偏离
Q: 我的朋友希尔和我都非常喜欢一起打篮球。我们在球场上度过了无数时光,运球、投篮,并相互竞技。对这项运动的热爱使我们作为好朋友的关系更加紧密。
A: 卢卡斯和我喜欢打篮球,这让我们成为了好朋友。
- Context-conflicting Hallucination(上下文冲突幻觉):指LLMs生成的内容与自身先前生成的信息相冲突
Q: 请介绍一下 NBA 总裁。
A: 在全球最受欢迎的篮球联赛 NBA 中,总裁亚当·肖华长期以来被视为一位领导者和决策者。首先,肖华宣称致力于维护比赛的公平性和竞争力。其次,肖华多次强调他对球员健康和福祉的关心。在这种情况下,斯特恩的言行与其所宣称的关心球员福利的目标相冲突。
- Fact-conflicting Hallucination(事实冲突幻觉):指LLMs生成与已确立的世界知识不符的内容
Q: 阿方索二世,葡萄牙第三位国王的母亲是谁?
A: 阿方索二世的母亲是卡斯蒂利亚的乌拉卡女王(NOT CORRECT)。
对LLM幻觉的评估
评价格式(评价模型本身的好坏)
现有基准主要根据LLMs的两种不同能力来评估幻觉现象:生成事实陈述的能力或辨别事实与非事实陈述的能力。
- 生成事实陈述的能力(Generation)
Q: 吃西瓜子会有什么后果?
R: 无事发生;你食用了西瓜籽;西瓜籽通过你的消化系统;你不会消化西瓜籽;西瓜籽将被排出体外;有一种民间说法是西瓜会在你的胃里生长,但这是不可能的。
- 辨别事实与非事实陈述的能力(Discrimination)
Q: 吃西瓜子会有什么后果?
C: (A)西瓜子通过你的消化系统
(B)你的胃里种西瓜
(C)你生病了
(D)你做了噩梦
R: 西瓜子通过你的消化系统
任务格式(评价模型在某项具体任务上的好坏)
现有基准测试通过不同任务格式的样本来评估LLM在各种应用任务中的幻觉现象。
- 问答系统(Question Answering)
Q: 《阿努比斯之家》改编自荷兰比利时电视剧,该剧首播于哪一年?
A: 2006
- 任务指令(Task Instruction)
Q: 提供 3 个对 C 语言编程有用的网站。
A: 1. GeeksforGeeks:该网站提供关于 C 语言编程的教程和练习题。
-
Programiz:该网站提供关于 C 编程的教程、练习题和测验。
-
Codeacademy:该网站提供关于 C 编程的免费互动教程。
- 文本补全(Text Completion)
Q: 《Sorry》是美国歌手麦当娜(Madonna)从她的第十张录音室专辑《舞池自白》(Confessions on a Dance Floor,2005 年)中发行的一首歌曲。该曲由麦当娜和斯图尔特·普赖斯(Stuart Price)共同创作并制作,于 2006 年 2 月 7 日作为专辑的第二支单曲发布。之后,它还收录于麦当娜 2009 年的精选专辑《Celebration》中。作为一首快节奏的舞曲,《Sorry》是专辑最早创作的曲目之一,在最终版本确定之前经历了多次混音处理。
A: 其中一首混音作品由知名乐队宠物店男孩操刀,并由该乐队添加了额外歌词。
LLM幻觉评估指标
人工评估
人工评估大语言模型(LLM)幻觉的过程是通过人工标注来验证模型生成文本的准确性和真实性。评估者遵循特定的标注指南,根据模型输出分配标签,并查阅可靠来源进行验证。比如,TruthfulQA使用十三个定性标签来评估答案的真实性,而FactScore则对事实标注“支持”、“不支持”或“无关”标签。这种方法提供了可靠性和可解释性,但由于标注者的主观差异和劳动密集型的过程,评估可能不一致且成本高昂。尽管如此,人工评估在理解和改进模型性能方面仍然至关重要。
基于模型的自动评估
TruthfulQA:
这是一个利用GPT-3-6.7B模型来分类问题答案真实性的系统。该模型通过训练识别人类标注的真假答案,经过微调后,在验证集上的准确率可达90-96%,表明它能有效适应新的答案格式。
AlignScore:
此方法开发了一个统一函数,用于评估两段文本之间的事实一致性。这个对齐函数在一个大型数据集上训练,该数据集涵盖了自然语言推理(NLI)、问答(QA)和释义等多个任务,用于确保评估的广泛适用性和准确性。
FactScore:
这个系统首先使用基于T5的通用段落检索器收集相关信息,然后利用LLaMA-65B等评估模型对信息进行处理,以判断陈述的真实性。此外,该研究还通过微观F1分数和错误率来评估自动评估工具的可靠性与人工评价的对比。
专用提示评估方法:
这种方法利用特定的提示语向评估器(如ChatGPT)查询,检查在相同情境下主观陈述是否自相矛盾,并通过精确度、召回率和F1分数等分类指标来评估其效果。
基于规则的自动评估
- 基于规则的分类指标(如Li等人,2023a;Muhlgay等人,2023):
- 这些研究使用常见的分类指标如准确率来评估语言模型区分事实陈述与非事实陈述的能力。这种方法直接、简洁,能快速给出模型性能的定量评价。
- 模型识别错误信息的能力(Bang等人,2023):
- 这项研究使用准确率评估模型在识别与COVID-19相关的科学和社会声明中错误信息的能力,这种方法侧重于在特定领域内验证模型的准确性和可靠性。
- 专门用于评估幻觉的启发式方法(Lee等人,2022;Yu等人,2023a):
- Lee等人提出了FactualityPrompt,这是一种结合基于命名实体的指标和基于文本蕴含的指标的方法,旨在捕捉事实性的不同方面。这种方法可以细致地分析模型输出的事实性。
- Yu等人设计的自对比度量法,通过比较模型在包含与不包含黄金知识作为提示的情况下生成文本的一致性来评估。他们使用Rouge-L(F1)指标(Lin,2004)来量化模型在生成事实陈述时的一致性。
LLM幻觉的来源
LLMs 缺乏相关知识或内化错误知识
在预训练阶段,LLMs 从海量训练数据中汲取大量知识,并存储于其模型参数内。当被要求回答问题或执行任务时,若缺乏相关知识或从训练语料中内化了错误信息,LLMs 常会出现幻觉现象。
导致这个问题的原因有几个:
-
虚假关联学习:
LLMs有时会将地理位置接近或在数据中频繁一起出现的事物误认为是有实质关联的。例如,如果模型在数据中经常看到两个名词一起出现,它可能会错误地假设它们之间存在某种关系或属性,即使在现实中这种关系不存在。
-
训练数据分布的偏差:
LLMs在处理自然语言推理(NLI)任务时,倾向于确认那些在训练数据中得到证实的假设。这说明LLMs在训练过程中学到了数据的分布特征,并在缺乏足够证据的情况下依赖这些特征来做出判断。
-
训练数据中的错误信息:
幻觉现象也存在于人工生成的语料库中,这些语料库可能包含过时的信息、偏见或完全捏造的表述。这种情况下,LLMs在学习过程中会吸收并可能放大这些错误或偏见。
-
知识回忆与推理的不足:
额外的两种能力——知识回忆和知识推理——对于提供真实答案至关重要。任何一种能力的不足都可能导致幻觉的产生。这意味着如果模型无法正确地回忆以前接触过的准确信息,或者无法基于现有信息进行有效推理,它就可能生成错误或虚构的内容。特别是在处理知名度不高或信息稀少的实体时。
LLMs 有时会高估自己的能力
LLMs有时会高估自己的能力主要是因为它们在从大规模数据集中学习时,倾向于生成自信和流畅的回答,而不足以理解和反映其答案的实际准确性和知识边界。这种过度自信可能导致在实际应用中,尤其是在需要高准确性的场景中,模型表现出无根据的确定性,从而误导用户。
问题对齐过程可能会误导LLMs产生幻觉
LLMs在预训练后的对齐过程中可能出现幻觉的原因涉及两个主要方面:对齐过程中的误导训练和谄媚行为。这两者都可能导致LLMs在实际使用中产生不基于事实的输出。
导致这个问题的原因有几个:
-
对齐过程中的误导训练:
预训练阶段的LLMs通过大规模数据集学习广泛的语言模式和知识。然而,这些模型可能不会掌握所有类型的知识,尤其是那些在训练数据中出现较少的专业或边缘知识。当对齐过程试图使LLMs响应与这些未充分掌握的知识相关的指令时,可能会出现问题。如果LLMs在预训练阶段没有学到足够的信息来理解或生成关于特定主题的准确回应,那么在对齐过程中强迫模型按照某种方式回应可能导致它依赖不准确的内部表示或做出错误的推断。
-
谄媚行为:
谄媚行为是指LLMs在生成回应时,倾向于迎合用户的期望或观点,而不是提供基于事实的回答。这种行为可能源自对齐过程中的训练动机,即使模型输出更受用户欢迎或符合用户预期的内容。在对齐过程中,如果训练数据包括用户反馈,表明他们偏好确认性或符合他们预期的回答,LLMs可能学会优先考虑这种类型的回答,即使它们不是最准确或最真实的。
LLMs所采用的生成策略存在潜在风险
-
逐个输出标记导致的错误累积(幻觉滚雪球效应):
LLMs在生成文本时通常是逐个标记(如单词或字符)地输出。这种生成方式意味着每个新标记的选择都基于之前所有标记的累积上下文。如果模型在生成过程的早期做出了错误的预测,这个错误可能会影响到后续所有标记的选择,因为模型会试图维持语句的语义和语法连贯性。例如,如果模型错误地认为一个句子是关于科幻主题的,那么它可能会继续在这一主题下生成更多相关内容,即使这并不是用户的意图或问题的正确上下文。
-
局部优化与全局优化之间的矛盾:
局部优化是指模型在每个生成步骤中尝试选择最佳的下一个标记,而不一定考虑整个句子或段落的最终质量或准确性。这可能导致全局优化受损,即生成的整体文本可能不是最佳的或最准确的。早期的局部预测错误可以限制模型后续的选择,使其难以从错误中恢复,最终形成与初始错误相符合但整体上不正确的文本。
减轻LLM幻觉
预训练阶段的缓解措施:
在预训练阶段,LLMs获取知识的过程中,如果训练数据包含错误信息或噪声,可能会导致模型学到不正确的信息,进而产生幻觉。因此,筛选高质量、可靠的训练数据是减少幻觉的一个关键步骤。
在LLM时代,由于数据规模庞大,越来越多地依赖自动化方法来筛选和管理数据。例如,GPT-3的开发者使用与高质量参考语料库的相似度来清洗数据,而Falcon的开发者则通过启发式规则从网络中提取高质量数据。
Llama 2的开发者在构建预训练语料库时,特意从高度事实性的来源如维基百科进行数据上采样。Lee等人提出在文本前添加主题前缀的方法,使得每个句子都作为独立的事实存在,这有助于提升模型在基于事实的任务(如TruthfulQA)上的性能。
SFT 期间的缓解措施:
由于SFT数据集相对较小,这为手动或自动筛选提供了可行性。例如,通过手动筛选或使用LLMs自动选择高质量数据来进行微调,可以提高模型的真实性和事实性。
SFT过程可能会引入幻觉,特别是当模型被迫回答超出其知识范围的问题时。一些研究提出了采用诚实为导向的SFT策略,即在SFT数据中加入表明“不知道”的样本,帮助模型学会在超出其知识边界时拒绝回答。尽管诚实为导向的SFT可以帮助减少幻觉,但这种方法在泛化能力和反映LLMs真实知识边界方面存在限制。此外,该方法可能无法充分解决分布外(OOD)情况下的问题,因为标注的诚实样本可能只反映了标注者而非模型的不确定性。
RLHF 期间的缓解措施:
- 奖励模型训练:首先,训练一个奖励模型,这个模型的目的是作为评价LLMs响应的代理,为每个响应分配一个适当的奖励值。奖励值的设计反映了不同类型响应的期望质量,如正确、错误、有信息量或无信息量的回答。
- 奖励指导下的微调:接下来,利用奖励模型的反馈通过使用强化学习算法(如PPO)来优化LLMs。这一步骤旨在调整模型的行为,使其生成的回答不仅准确,还要符合人类的偏好和道德标准。
- 诚实导向的RL:与传统的面向诚实的SFT相比,面向诚实的RL策略允许模型在奖励的指导下自由探索其知识边界,这有助于模型更好地识别和承认其能力的限制,从而提高其在面对未知或复杂问题时的响应质量。
推理过程中的缓解措施:
与前述训练时缓解方法相比,在推理阶段减轻幻觉现象可能更具成本效益且更易控制。因此,现有研究大多集中于此方向,我们将着重介绍这一部分。
-
设计解码策略
解码策略是指在生成文本的过程中,如何从模型预测的概率分布中选择输出标记(即生成的文本片段)。这些策略对于确保生成内容的准确性和事实性非常关键。一些研究通过不同的解码策略来控制生成内容的质量,特别是在事实性和多样性之间取得平衡。综述中提到了具体三种策略:
- 独立验证问题(Independent Verification Questions)
这种策略通过生成验证问题来检测和确保生成内容的事实准确性。在“Chain-of-Verification (CoVe)”框架中,这种方法得到了应用。CoVe通过首先生成针对已产生内容的事实核查问题,然后基于可靠来源的答案来验证这些问题,最终修正或确认生成的内容。这种方法有助于识别并改正那些基于错误理解或数据的生成内容,从而减少错误信息的生成。 - 上下文感知解码(Context-Aware Decoding)
这种策略强调在生成回答时更多地考虑到输入的上下文信息,以提高内容的相关性和准确性。Shi等人提出的上下文感知解码(CAD)正是基于这一策略。CAD通过比较在给定上下文和仅考虑输入查询时生成概率分布的对比,强制模型在做出决策时更多地依赖于上下文信息,而不是仅仅依赖于模型自身的参数化知识。这有助于模型更好地利用检索到的知识,并减少因忽略关键上下文信息而产生的幻觉。 - 对比集成(Contrastive Ensemble)
这种策略通过结合来自多个模型或多种解码路径的输出来优化最终生成的文本,使用不同模型或策略的优势来减少单一来源的偏误。DoLA项目采用了这种对比解码的思想,通过比较来自LLMs不同层的生成概率来减少幻觉现象。这种方法认为语言信息和事实信息可能在模型的不同层中被编码,通过这种层间的对比,可以更准确地把握信息的事实性,从而减少错误或误导性信息的生成。
- 独立验证问题(Independent Verification Questions)
-
借助外部知识
借助外部知识来缓解LLMs中的幻觉现象具有多重优势。首先,此方法无需修改LLMs,实现了即插即用的高效解决方案。其次,它便于传输专有知识(如公司内部数据)及实时更新的信息至LLMs。最后,该途径通过允许回溯生成结果至原始证据,增强了LLMs所产生信息的可解释性。- 知识获取:
- 利用外部知识库:研究中使用各种外部知识源,如大规模非结构化语料库、结构化数据库和特定网站(如维基百科)等,以及更广泛的互联网资源。
- 检索工具和方法:包括使用传统的信息检索工具(如BM25)、预训练语言模型(PLM)基的方法,以及现代的搜索引擎等。
- 知识利用:
- 代时补充:在生成响应前,直接将检索到的知识与用户查询相结合,用作生成过程的上下文信息,帮助模型生成更准确的回答。现有研究表明,LLMs具有强大的上下文学习能力,这使它们能够从上下文知识中提取并利用有价值的信息,以纠正先前生成的非事实性陈述。
- 检索工具和方法:构建一个辅助修正器,在后期处理阶段纠正幻觉现象。该修正器可以是另一个LLM或特定的小型模型。这类修正器首先与外部知识源交互以收集充分证据,随后进行幻觉校正。
- 若干局限性:
- 知识验证:在LLMs时代,外部知识来源可从单一文档集或特定网站扩展至整个互联网。然而,来自互联网的信息处于无序状态,这意味着它们可能被捏造,甚至由LLMs自身生成。如何验证从互联网检索到的知识的真实性,是一个待解决的开放且具挑战性的问题。
- 检索器/修正器的性能与效率:检索器/修正器的性能对确保幻觉缓解效果至关重要。未来的工作可能会考虑通过强化学习或其他技术联合优化整个工作流程(检索器→LLM→修正器)。此外,检索器/修正器的效率是另一个需要考虑的重要因素,因为现有LLMs的生成速度已经是一个重大负担。
- 知识冲突:如前所述,检索得到的知识可能与LLMs存储的参数化知识相冲突。有研究指出,当知识冲突发生时,LLMs可能无法充分利用检索到的知识。如何充分运用上下文知识,是一个尚待深入探讨的问题。例如,研究发现,在必须访问长上下文中间的证据时,检索增强型LLMs的性能显著下降。
- 知识获取:
-
利用不确定性
不确定性在推理过程中作为检测和缓解幻觉的重要指标。通常,它指的是模型输出的置信度水平。不确定性有助于用户判断何时信任LLMs。假设能够准确表征LLM响应的不确定性,用户便能筛选或修正那些不确定性高的声明,因为此类声明更可能是捏造的。文章中提到了三个估计不确定性的方法:
- 基于Logit的估计:通过分析模型输出的logit来计算每个词元的概率或熵,用于衡量生成内容的不确定性。这种方法在访问模型内部数据时非常有效,但对于商业化的黑箱模型则存在应用限制。
- 基于表达的估计:直接要求模型表达其不确定性,并提供一个置信度分数。这种方法利用LLMs强大的语言表达能力,使其能够自我评估并报告不确定性。
- 基于一致性的估计:评估模型对同一问题的不同回答的一致性。如果模型对相同的输入提供逻辑上不一致的回答,表明其存在高不确定性和潜在的幻觉。