今天是2023年9月9日,星期六,北京,暴雨。
我们来接着看看幻觉的一些话题。LLM偶尔会生成与用户输入不符的内容、与之前生成的内容相矛盾的内容,或者与已有的世界知识不一致的内容。这种现象对LLM在真实世界场景中的可靠性提出了严峻挑战。
如图1所示,大模型偶尔也会产生一些输出结果,这些输出结果虽然看似合理,但却偏离了用户输入、先前生成的上下文或事实知识,这种现象通常被称为”幻觉”,极大地削弱了LLMs在真实世界场景中的可靠性。例如,LLMs可能会编造错误的医疗诊断或治疗方案,从而导致实际生活中的有形风险。又如,在表2所示,大模型的回答存在多种不同类型的问题:
回答含糊不清。当LLM的反应模棱两可,可以有多种解释时,就会出现这类问题。这种回答不一定是错误的,但它无法为用户问题提供有用的答案。表2中的第一个例子就说明了这个问题。所需的答案是”巴黎”,但LLM提供的答案却模棱两可。
回答不完整。当生成的回答不完整或支离破碎时,就会出现不完整性问题。如表2中的第二个例子所示,LLM只告知用户更换轮胎的四步流程中的前两步,导致解释不完整。
回答偏差。LLM中的偏见与生成文本中不公平或偏见态度的表现有关。这些偏见可能源于训练数据,而训练数据通常包括历史文本、文学作品、社交媒体内容和其他来源。这些来源可能本质上反映了种族偏见、性别偏见、刻板印象或歧视性信念。如表2中第三个例子所示,LLM将教师描绘成一名女性,这是一种性别偏见。
信息不足。语言学家倾向于回避回答某些问题或提供具体信息,即使他们有能力这样做。例如,由于再监护模型的不完善,RLHF可能会导致LLM的过度优化,从而可能导致信息不足的状态。表2介绍了一个例子,其中LLM对用户查询做出了响应。
最近的文章《Siren’s Song in the AI Ocean: A Survey on Hallucination in Large Language Models》(https://github.com/HillZhang1999/llm-hallucination-survey,https://arxiv.org/abs/2309.01219)回顾了最近在幻觉的检测、解释和缓解方面所做的努力,重点关注LLMs带来的独特挑战,并介绍了LLM幻觉现象的分类标准和评估基准,分析了旨在减轻LLM幻觉的现有方法,并提出了一些建议,是个不错的综述。
本文对其进行介绍,供大家一起参考,文章行文脉络如下:
一、什么是LLM幻觉、定义如何?
在LLM出现之前,”幻觉”(hallucination)一词已在NLP界广泛使用,通常指生成无意义或不忠于所提供源内容的内容。
由于LLM的多功能性,其定义似乎已经大大扩展。为此,该工作将LLMs范畴内的幻觉分类如下:
1、输入相冲突的幻觉
输入相冲突的幻觉,即LLM生成的内容与用户提供的源输入相背离。当LLM生成的内容偏离用户输入时,就会产生这类幻觉。
通常情况下,用户对LLM的输入包括两部分:任务指令(例如,用户对摘要的提示)和任务输入(例如,需要摘要的文档)。
LLM响应与任务指令之间的矛盾通常反映了对用户意图的误解。相反,当生成内容与任务输入之间出现矛盾时,幻觉符合特定NLG任务中的常规定义,例如机器翻译和摘要。
如上一个例子似乎凸显了生成内容与任务输入之间的矛盾:当用户要求LLM生成摘要时,LLM在回复中错误地替换了人名(Hill→Lucas),尽管一般形式确实可以被视为合适的摘要。
2、语境冲突性幻觉
语境冲突性幻觉指LLM生成的内容与之前生成的信息本身相冲突。LLMs在生成冗长或多轮回答时可能会表现出自我矛盾。这种类型的幻觉产生于LLMs在整个对话过程中失去对上下文的跟踪或无法保持一致性时,这可能是由于他们在保持长期记忆或识别相关上下文方面的局限性造成的。
如上例子展示了用户要求介绍NBA总裁是如何导致上下文冲突幻觉的。具体来说,LLM最初介绍的是Silver(现任NBA总裁),但后来又提到了Stern(前NBA总裁),这表明生成的幻觉缺乏一致性。
3、与事实相冲突的幻觉
与事实相冲突的幻觉指的是LLM生成的内容不忠实于既定的世界知识。事实冲突型幻觉。当LLM生成的信息或文本与已有的世界知识相矛盾时,就会出现这种类型的幻觉。如图2所示,事实冲突幻觉的来源可能多种多样,并在LLM生命周期的不同阶段出现。
在这个例子中,用户向LLM询问阿福诺斯二世的母亲是谁。LLM给出了一个错误的答案(卡斯蒂利亚的乌拉卡女王,而不是巴塞罗那的杜尔斯-贝伦格),这很容易误导知识不足的用户。
二、LLM幻觉如何进行评估?
针对不同类型的幻觉,采用的评估方式不一样。可以从评估基准、评估形式等几个方面进行介绍。
1、评估基准
现有针对幻觉的工作,提出了各种基准来评估LLM中的幻觉,如下表3所示,其中列出了具有代表性的基准,包括TruthfulQA、FActScore等。
1)评估形式
现有的基准主要根据LLMs的两种不同能力来评估幻觉:生成事实陈述或区分事实陈述与非事实陈述的能力。表4中举例说明了这两种评估形式的区别。
具体的:
生成基准将幻觉视为一种生成特征,类似于流畅性和连贯性,并对LLM生成的文本进行评估。例如,TruthfulQA评估的是考察大模型回答问题的真实性,而FActScore考察的是大模型为特定个人生成的传记的事实准确性。
与此相反,判别式基准考虑的是大模型辨别真实陈述和幻觉陈述的能力。具体来说,HaluEval要求模型确定状态信息是否包含幻觉信息,而FACTOR则研究LLM是否赋予事实陈述比非事实陈述更高的可能性。
不过,需要注意的是,TruthfulQA也支持辨别形式,它提供了一个多项选择的替代方案,以测试模型辨别真实陈述的能力。
2)任务形式
现有的基准可在各种应用任务中评估LLM幻觉。
首先,有些基准在问题解答的背景下探讨了幻觉问题,评估了LLM对知识密集型问题提供真实答案的能力。
其次,FActScore和HaluE-val采用了任务指令,如Alpaca项目中的传记介绍指令和52K指令,以提示大模型生成再回答。然后对这些回答的真实性进行评估。
第三,有一项研究直接提示LLMs完成给定前缀的文本,并在生成过程中诊断出潜在的幻觉。 例如,FACTOR考虑了维基百科文档中的前缀,而Fac-tualityPrompt专门为事实性或非事实性语句设计前缀,以诱发幻觉。如下表5所示,其提供了不同任务格式下的样本。
3)构建方法
上述大多数基准都需要人类注释者来创建数据集或保证质量。
例如:
TruthfulQA精心设计问题以诱发模仿性错误,即在训练分布上具有高可能性的错误陈述。然后,利用人工标注来进一步验证与真实答案的一致性。
FActScore采用人工标注将长篇模型生成转化为原子语句片段。
HaluEval采用了两种构建方法。在自动生成上,设计了提示来查询ChatGPT,以抽取不同的幻觉并自动过滤高质量的幻觉。在人工标注方面,通过人工标注员标注模型回复中是否存在幻觉,并列出相应的跨度。
FACTOR首先使用外部LLM生成非事实知识。然后,手动验证自动创建的数据集是否符合预定义的要求,即它们应该是非事实性的、流畅的,并且与事实性的完成相似。
2、评估指标
语言生成的自由形式和开放性质使得对LLM生成的半语言进行评估变得困难。最常用、最可靠的幻觉评估方法依赖于人类专家遵循特定原则。当前,流行的包括人工评估以及自动化评估。
1)人工评估
为确保评估的精确性和可靠性,现有基准侧重于设计专门的人工评估原则,其中包括对每个模型生成的文本进行人工标注评估。
例如:
TruthfulQA提出了一种人工标注指南,指导标注者为模型输出分配十三个定性标签中的一个,并通过咨询可靠来源来验证答案。
FactScore要求注释者为每个原子事实分配三个标签:”支持”或”不支持”。”支持”或”不支持”表示知识源支持或不支持的事实,”无关”表示与提示无关的陈述。虽然人工评价具有可靠性和可解释性,但由于标注人员的主观性,可能无法保持一致。此外,每次需要对新模型进行评估时,都需要耗费大量人力物力进行标注,因此成本过高。
2)模型的动评估
例如:
TruthfulQA训练了一个GPT-3-6.7B模型,根据问题的注释对答案(真假)进行分类。根据工作介绍,经过微调的GPT判断模型的验证准确率达到了90-96%,并能有效地泛化到新的答案格式。
AlignScore建立了一个统一的函数来评估两个文本之间的事实一致性。该对齐函数是在一个大型数据集上进行训练的,该数据集跨越了自然语言推理(NLI)、问题解答(QA)和仿写等七项任务。
FactScore首先使用通道检索器(如基于通用T5的检索器)来收集相关信息。然后采用一个评估模型,如LLaMA-65B,使用检索到的知识来确定状态的真实性,并进一步采用微观F1分数和误差率来评估自动指标与人工评估相比的可靠性。
也有一种做法设计专门的提示来查询评估者LLM(例如ChatGPT)在相同上下文下的主观LLM是否自相矛盾,并报告分类指标,包括精确度、召回率和F1分数。
三、LLM幻觉的来源,从何而来?
我们在研发大模型时,会涉及到预训练、微调、强化等多个阶段,每个阶段都会是幻觉的引入来源。
1、大模型缺乏相关知识或内化错误知识
在预训练阶段,LLMs会从大量训练数据中积累大量知识,然后将其存储在模型参数中。当被要求回答问题或完成任务时,LLMs当被要求回答问题或完成任务时,如果缺乏相关知识或内化了训练语料中的错误知识,LLMs就会产生幻觉。
例如,LLMs有时会将虚假的相关性(如位置接近或高度共现的关联)误解为事实知识,即LLM的幻觉与训练数据的分布之间存在很强的相关性。例如,LLM偏向于肯定测试样本,人类生成的语料中也存在幻觉(可反映为过时的、双重的或捏造的表达)。因此,LLMs很容易复制甚至放大这种幻觉行为。
2、大模型有时会高估自己的能力
一些研究旨在了解语言模型是否能够评估其回答的准确性并识别其知识边界。例如,有实验证明了LLMs评估自己回答的正确性(自我评估)和确定自己是否知道给定问题答案的能力。然而,对于非常大的LLMs来说,正确答案和错误答案的分布熵可能是相似的,这表明LLMs在生成错误答案时与生成正确答案时同样自信。
又如,通过评估流行LLMs识别无法回答或不可知问题的能力显示,即使是最先进的LLM–GPT4,与人类相比也存在明显的性能差距。注意到准确率与信心之间存在相关性,但这种信心往往超过LLM的实际能力,也就是过度自信。
3、有问题的对齐过程可能会误导法律硕士产生幻觉
LLM通常会在预训练后进行调整过程,即在经过精心策划的指令示例上接受进一步训练,以使其反应与人类偏好保持一致。然而,如果LLM在预训练阶段没有获得相关的先决知识,那么在训练指令时,这实际上是一个错误的对齐过程,会促使LLM产生幻觉。另一个潜在问题是”谄媚”(sycophancy),即LLMs可能会生成偏向用户观点的回答,而不是提供正确或真实的答案,这可能会导致幻觉。【这块很有趣】
4)LLM采用的生成策略存在潜在风险
LLM按顺序生成响应,每次输出一个token。但是,即使LLMs意识到自己的早期错误是正确的,它们有时也会过度承诺。换句话说,LLMs可能更喜欢用“滚雪球”来实现自我一致性,而不是从错误中恢复。
有研究认为,局部最优化(标记预测)并不一定能确保全局最优化(序列预测),早期的局部预测可能会将LLMs带入难以形成正确反应的境地。基于抽样的生成策略(如top-p和top-k)引入的随机性也可能是幻觉的潜在来源【这个自然是】。
四、从训练阶段如何减轻LLM幻觉
类似的,缓解的过程贯穿于整个大模型预训练研发和应用的阶段。
1、预训练期间的缓解
现有的工作认为,LLM的知识大多是在预训练阶段获得的。在预训练语料库中存在诸如错误信息之类的噪声数据可能会破坏LLMs的参数知识,而这是导致误差的一个重要因素。有时,还可以将语言模型获得的事实知识追溯到其训练数据。因此,减少幻觉的直观方法可以是人工或自动整理预训练语料库,尽可能减少无法验证或不可靠的数据。
在LLM时代之前,已经有一系列致力于人工消除噪声训练数据以减轻幻觉的工作。例如:
专注于”数据到文本”(data-to-text)任务,并邀请人工根据给定的知识库手动编写干净准确的回复。结果表明,使用这种经过编辑的训练数据可以有效减少幻觉。同样,在现有的表格到文本数据集中对文本进行人工提炼这一过程也大大减少了事实幻觉。此外,在构建表对文训练数据时,指导注释者修改维基百科中已验证的句子,而不是直接创建新句子。事实证明,这种方法也能提高结果的真实性。
不过,随着LLM时代的到来,如表6所示,由于预训练语料库的规模庞大,在预训练期间整理训练数据变得越来越具有挑战性,例如Llama2对大约两万亿个token进行预训练。因此,与人工整理相比,目前更实用的方法是自动选择可靠数据或过滤掉噪声数据,例如:
GPT-3的预训练数据就是通过与一系列高质量参考数据的相似性进行清理。
Falcon通过启发式规则从网络中仔细提取高质量数据,并证明了经过适当分级的相关语料库可以产生强大的LLM。为了减少幻觉,目前的LLM通常会从可靠的文本来源收集预训练数据。
Llama2在构建预训练语料库时,从维基百科等高度事实性的来源中向上抽取数据
有的工作在事实性文档的句子前加上主题前缀,使每个句子在预训练时都能作为一个独立的事实,将文档名称作为主题前缀,并观察到这种方法提高了LM在TruthfulQA上的性能。
总的来说,在预训练过程中,如何减少”晕轮”现象主要是围绕预训练语料的整理展开的。鉴于现有的预训练语料库规模庞大,目前的研究主要采用简单的启发式规则来选择和过滤数据。一个潜在的探索途径是设计更有效的选择或过滤策略。
2、SFT期间的缓解
作为一种常见做法,当前的LLMs一般都会经历一个被称为”监督微调”(SFT)的过程,以从预训练中获取所需的知识,并学习如何与用户互动。SFT通常包括首先注释或收集海量任务指令跟踪数据,然后使用最大似然法(MLE)在这些数据上对预先训练的基础LLM进行微调。
与预训练类似,一种可能的方法是要减少SFT阶段的幻觉,可以对训练数据进行整理,但SFT数据量相对较小,如表7所示,手动和自动整理都是可行的选择。例如:
利用LLM作为评估者或设计特定规则,自动选择高质量的指令调整数据。在幻觉相关基准(如Truth-fulQA)上的实验结果表明,与在未经编辑的数据上进行微调的LLM相比,在这些经过编辑的指令数据上进行微调的LLM表现出更高的真实性和事实性水平。
此外,将特定领域的知识集整合到SFT数据中,以减少因缺乏相关知识而产生的幻觉。
值得注意的是,Schulman(2023年)低估了SFT过程的潜在风险,即它可能因行为克隆而诱发LLM产生幻觉。行为克隆是强化学习中的一个概念(Torabietal.这里的问题在于,这种方法只是简单地模仿行为,而没有学习实现最终目标的策略。
LLMs的SFT过程可被视为行为克隆的一个特殊案例,LLMs通过模仿人类来学习互动的形式和风格。
对于低等生物来说,尽管它们已经将大量知识编码到了自己的参数中,但仍有一些知识超出了它们的能力范围。通过克隆SFT过程中的人类行为,LLMs学会了以肯定的语气回答所有问题,而不去评估这些问题是否超出了它们的知识边界。如图3所示:
因此,在推理过程中,如果被要求回答与未学知识相关的问题,他们很可能会自信地产生幻觉。解决这一问题的方法之一是采用以诚实为导向的SFT,即在SFT数据中引入一些诚实样本。诚实样本指的是承认自己无能的回答,如”对不起,我不知道”。【也就是我们常说的拒答】,这块可以看看Moss项目开源的SFT数据,其中就包括此类诚实样本。
使用这些样本的模型可以学会拒绝回答特定问题,从而帮助减少幻觉。
总结的说,整理训练数据是在SFT阶段减少幻觉的一种方法。由于SFT数据量可以接受,因此可以由人类专家对其进行人工整理。该工作进行初步的人工检查,发现一些广泛使用的合成SFT数据,如Alpaca由于缺乏人工检查,包含了相当数量的幻觉答案。这就要求研究人员在尝试建立基于自我指导的SFT数据集时要小心谨慎。
以前的研究还指出,SFT过程可能会无意中引入幻觉,因为它迫使LLM回答超出其知识边界的问题。一些研究者提出了以诚实为导向的SFT作为解决方案。然而,这种方法有两个主要问题:
首先,它对分布外(OOD)情况的基因化能力有限。其次,由于标注人员不了解LLMs的真实知识边界,因此标注的诚实样本只是反映了标注人员的不确定以及对知识的盲区,而不是LLMs的无能和不确定。这些挑战使得在SFT期间解决这一问题成为次优方案。
3、RLHF期间的缓解
利用人类反馈不仅能缩小机器生成的内容与人类偏好之间的差距,还能帮助LLM符合预期的标准或目标。目前常用的一个标准是”3H”,即有益、诚实和无害。这里的”诚实”只是指在LLM反应中尽量减少幻觉。
目前的LLM,如InstructGPT、ChatGPT、GPT4(Ope-nAI,2023年b)和Llama2-Chat,在RLHF过程中都考虑到了这一方面。
例如,GPT4使用合成幻觉数据来训练奖励模型并执行RL,从而将Truth-fulQA的准确率从约30%提高到60%。
此外,使用过程监督来检测和减轻推理任务中的幻觉,为每个中间推理步骤提供反馈。
由于SFT阶段的行为克隆现象有可能导致幻觉。一些研究人员试图通过将诚实样本整合到原始SFT数据中来解决这一问题。然而,这种方法有一定的局限性,例如OOD的泛化能力不尽人意,人类和LLM知识边界不一致。
有鉴于此,Schulman(2023年)提出在RLHF中解决这一问题。该工作设计了一种专门用于减轻幻觉的特殊奖励函数,如表8所示。
这里的”Unhedged/HedgedCorrect/Wrong”指的是LLM用肯定或犹豫的语气提供正确或错误的答案。
“非形成性”指”我不知道”等安全答案。其核心理念是鼓励学习者挑战前提、表达不确定性,并通过从特殊的奖励中学习来证明自己的无能。这种方法称为”诚信导向RL”,它与”诚信导向SFT”相比有几个优点。
其主要优势在于,它允许LLM自由探索其知识边缘边界,从而增强其对OOD案例的概括能力。此外,它还减少对大量人工标注的需求,并消除了对标注者猜测LLM知识边界的要求。
总的来说,强化学习可以引导LLM探索其知识边界,使他们能够拒绝回答超出其能力范围的问题,而不是编造不真实的回答。但这种方法也带来了独特的挑战。例如,由于在乐于助人和诚实之间的权衡失衡,经过RL调整的LLM可能会表现出过度保守。
如下图9所示,ChatGPT倾向于过度对冲,避免提供它已经知道的明确答案,这在另一个对话回合中得到了证明,这可能是由于奖励函数的设计不合理,也可能是由于训练数据质量不高。
五、在生成推理阶段如何减少幻觉
除上述方法外,下文还介绍了其他可以减少幻觉的技术,例如:
与上述训练时的缓解方法相比,在推理时缓解幻觉可能更具成本效益和可控性。因此,现有研究大多集中在这一方向。【这个很重要】
1、设计解码策略
解码策略,如贪婪解码和波束搜索解码,决定了我们如何从模型生成的概率分布中选择输出标记。
例如:
通过使用不同的解码策略对LLM生成的内容进行了事实性评估发现,在事实性方面,核采样(又称顶点采样)不如贪婪解码,并认为,这种不足可归因于top-p采样为提高多样性而引入的随机性,这可能会无意中导致幻觉,因为LLMs往往会编造信息以产生多样化的反应。有鉴于此,他们引入了一种称为事实核采样的解码算法,旨在利用top-p和贪婪解码的优势,在多样性和事实性之间取得更有效的平衡。
引入一种新颖的推理-时间干预(ITI)方法,以提高LLM的真实性。该方法基于这样一个假设,即LLMs拥有与真实性相关的潜在的、可解释的子结构。ITI方法包括两个步骤:1)在LLM的每个注意头之上拟合一个二元分类器,以确定一组在回答事实性问题时具有卓越线性探测准确性的注意头;2)在推理过程中沿着这些与事实性相关的方向移动模型激活。ITI方法显著提高了TruthfulQA基准的性能。
检索增强设置。先前的研究表明,LLMs在处理下游任务时有时无法充分关注检索到的知识,尤其是当检索到的知识与LLMs的参数知识相冲突时。为了解决这个问题,可以采用直接的上下文感知解码(CAD)策略。
CAD的核心思想是对pθ(yt|x,c,y<t)和pθ(yt|x,y<t)进行对比组合,其中,θ表示LM,x是输入查询,c是上下文,y是响应,t是时间步长。pθ(yt|x,c,y<t)表示给定上下文时第t个标记的生成概率分布,而pθ(yt|x,y<t)则表示只考虑查询的分布。
CAD方法旨在迫使LLM更多地关注上下文信息,而不是过度依赖自身的参数知识来做出决策。实验结果表明,CAD能有效激发LLM利用检索知识的能力,从而减少下游任务中的事实幻觉。
总的来说,设计解码策略以减少LLMs在推理过程中的幻觉通常是即插即用的。因此,这种方法易于部署,在实际应用中大有可为。不过,对于这种方法来说,大多数现有研究都要求访问token级别输出概率,而目前相当数量的LLM只能通过有限的API(如ChatGPT)返回生成的内容。
2、借助外部知识
使用外部知识作为补充证据来帮助LLMs提供真实的回复,是最近兴起的一种解决方案。这种方法通常包括两个步骤:第一步是准确获取与用户指令相关的知识。一旦获得了有用的知识,第二步就需要利用这些知识来指导应答的生成。
1)知识获取
通过大量的预训练和微调,LLM已将大量知识内化到其参数中,这些知识可称为参数知识。然而,不正确或过时的参数知识很容易导致幻觉。为了解决这个问题,可以从可靠来源获取可靠的最新知识,作为LLM的一种热补丁。
而对于外部知识,其又可以分成多种不同的类型,例如:
一种是外部知识库。 大部分现有研究都从外部知识库中获取信息,如大规模非结构化语料库、结构化数据库、维基百科等特定网站,甚至整个互联网。证据检索过程通常采用各种稀疏(如BM25)或密集(如基于PLM的方法()检索器。搜索引擎,如谷歌搜索,也可被视为一种特殊的信息再提取器。在此基础上,也包括参数知识指导框架,从微调白盒LLM的参数存储器中重新汲取知识。
另一种是外部工具。 例如,FacTool针对特定的下游任务,利用不同的工具帮助检测LLM中的幻觉,如用于基于知识的质量保证的搜索引擎API、用于代码生成的代码执行器和用于科学文献审查的谷歌学术API。CRITIC让LLM与多个工具交互,并自动修改其响应,这已被证明能有效提高真实性。
2)知识利用
一旦获得了相关知识,就可以在不同阶段加以利用,以减轻LLMs的幻觉。现有的知识利用方法可大致分为两类。
一种是生成时补充。利用检索到的知识或工具反馈的直接方法是,在提示LLMs之前直接将它们与用户查询串联起来,这种方法既有效又易于实施,这种知识也被称为内文知识,现有研究表明,LLMs具有很强的上下文学习能力,这使它们能够提取和利用有价值的信息。
例如图4,利用外部知识减少LLMs反应中的幻觉的两种不同方法的示意图。 从上下文知识中纠正之前产生的非事实性说法。
另一种是事后纠正。即在后处理阶段构建一个辅助固定器来纠正幻觉。固定器可以是另一个LLM,也可以是一个特定的小模型(Chen等人,2023a)。这种固定器首先与外部知识源互动,收集足够的证据,然后纠正幻觉。
例如,RARR直接提示LLM从多个视角对需要纠正的内容进行提问。然后,它使用搜索引擎重新搜索相关知识。
最后,基于LLM的修正程序会根据重新获取的证据进行修正。例如:
Verify-then-Edit方法旨在根据从维基百科获取的外部知识对推理链进行后编辑,从而提高预测的真实性。
为了获得更好的性能,LLM-Augmenter在将检索到的知识输入固定器之前,会提示LLM对其进行总结。FacTool和CRITIC(Gou等人,2023年)建议利用各种外部工具为撮合器获取证据。
总的来说,利用外部知识减轻LLMs幻觉方法无需修改LLM,是一种即插即用的高效解决方案。其次,它便于向LLM传输专有知识(如公司内部数据)和实时更新信息。最后,这种方法允许将生成结果追溯到源证据,从而提高了LLM生成的信息的可解释性。然而,这个方向也存在一些现实的问题。
首先知识验证。在LLM时代,外部知识源可以超越单一文档语料库或特定网站,涵盖整个互联网。然而,互联网上的信息都是野生的,这意味着它们也可能是编造的,甚至是由大模型自己生成的,如何验证从互联网上检索到的知识的真实性,是一个有待解决的开放性和挑战性问题。
其次,检索器/修复器的性能/效率。检索器/修复器的性能对确保消隐效果起着至关重要的作用。未来的工作可能会考虑通过强化学习或其他技术共同优化整个工作流程(回收器→LLM→固定器)。此外,由于现有LLM的生成速度已经是一个很大的负担,因此检索器/修复器的效率也是另一个需要考虑的重要因素。
最后,知识冲突。如前所述,检索到的知识可能与LLMs存储的参数知识相冲突。当知识冲突发生时,LLM可能无法充分利用检索到的知识。如何充分利用文本知识是一个尚未充分探讨的问题,并且当检索增强型LLM必须在长上下文中间获取证据时,其性能会明显下降。
3)利用不确定性
不确定性是推理过程中保护和减少幻觉的重要指标。通常,它指的是模型结果的置信度。不确定性可以帮助用户确定何时信任LLM。只要能准确描述LLM响应的不确定性,用户就能过滤或纠正LLM的高不确定性声明,因为这类声明更容易是捏造的。
一般来说,估算LLM不确定性的方法可分为以下三类。为便于理解,我们还在图5中给出了这些方法的示例。
首先是基于Logit的估计。这是一种基于对数的方法,它需要获取模型的对数,通常通过计算令牌级概率或熵来确定不确定性。
其次是基于口头的估计。直接要求LLM表达其不确定度,例如使用以下提示:”请回答并提供您的置信度分数(从0到100)”。这种方法之所以有效,是因为当地语言学家的语言表达能力和服从指令的能力很强。也可以使用思维链提示来加强这种方法。
基于一致性的估计。这种方法基于这样一个假设:当LLMs犹豫不决并对事实产生幻觉时,他们很可能会对同一问题做出逻辑上不一致的回答。例如:
使用BERTScore、基于QA的指标和n-gram指标进行计算,并将这些方法结合起来能产生最佳结果。
直接利用额外的LLM来判断两个LLM反应在相同语境下是否存在逻辑矛盾,可以采用另一种LLM来修正两个反应中这种自相矛盾的幻觉。
利用现有的程序监督为LLM响应分配一个风险分值,可作为幻觉的指标。
总的来说,利用不确定性来识别和减轻LLM幻觉是当今很有前途的研究方向。估计LLM的不确定性有三种主要方法,每种方法都有其独特的挑战。
首先,基于对数的方法越来越不适用于现代商用LLM,因为这些LLM通常是闭源和黑盒的,导致其输出对数无法访问。
其次,关于基于口头表达的方法,研究人员观察到LLM在表达其信心时往往表现出高度的过度自信。
第三,有效测量不同回答的一致性仍然是基于一致性的方法中尚未解决的问题。
六、LLM幻觉如何减轻的其他方法
除上述方法外,下文还介绍了其他可以减少幻觉的技术,例如:
1、多代理互动
如图6所示,多个LLM(也称为代理)独立提出建议,并就各自的回应进行协作辩论,以达成单一共识。
例如,通过让多个LLM参与辩论以达成共识,可以减轻这种幻觉。一名LLM提出主张(作为EXAMINEE),另一名LLM就这些主张提出问题并检查其真实性(作为EXAMINER),能以相对较低的成本有效减少幻觉。
2、及时工程
现有研究表明,LLM的行为会因用户的提示而发生显著变化。就幻觉而言,用户可能会遇到这样的情况:LLM最初会做出准确回应,但在使用不同提示时,LLM开始产生幻觉。因此,可以设计出更有效的提示来缓解幻觉。
即采用了思维链提示,迫使LLMs在提供最终答案之前生成推理步骤。然而,思维链可能会带来一些新的挑战。幻觉推理步骤的可能性就是其中之一。此外,目前流行的一种做法是在设计”系统提示”(即用于引导LLM行为的特殊信息)时,明确指示LLM不要提供虚假或不可验证的信息。
以下用于”Llama2-Chat”、的系统提示就体现了这一方法:如果您不知道问题的答案,请不要分享虚假信息。
3、分析LLMs的内部状态
LLMs可能会意识到自己的虚假信息,这意味着可以利用他们的内部状态来检测虚假信息。
因此,可以基于语言模型激活的语句准确性预判(SAPLMA (SAPLMA),该方法在LLM的每个隐藏层上添加了一个分类器,以确定真实性。
实验结果表明,当LLM生成虚假语句时,它们可能会”知道”,而SAPLMA可以有效地获取此类信息。
推理-时间观察法(ITI)也是基于类似的假设。他们在推理过程中进一步转移了模型激活与事实相关的头部,并发现这可以减轻幻觉。这些研究表明,”LLMs中的幻觉可能更多是生成技术的结果,而非基本表征”。
4、人在回路(human in loop)
LLM中幻觉的一个潜在原因可能是知识与用户问题之间的错位,这种现象在检索增强生成(RAG)中尤为普遍。
为了解决这个问题,可以引入了MixAlign,利用LLM将用户查询与存储的知识对齐,并进一步鼓励用户澄清这种对齐。通过反复调整用户查询,MixAlign不仅减少了幻觉,还提高了生成内容的质量。
也可以修改LM的结构以减少幻觉。【这个很有趣】例如多分支解码器和不确定性感知解码器。在构建LLM时采用双向自回归架构,从而实现从左到右和从右到左的语言建模,这种设计策略可以有效地利用双向自回归结构,有效地利用双向信息,有助于减少幻觉。
总结
本文对《Siren’s Song in the AI Ocean: A Survey on Hallucination in Large Language Models》这一工作进行了介绍。
通过文章,我们可以发现的是,建立定量评估LLM中幻觉的评估基准已经有了一些工作,但仍有一些问题亟待解决。生成式幻觉基准中的自动评估无法准确反映性能,也无法与人工注释保持一致。这种不准确体现在两个方面:(1)自动度量与人类注释并不完全一致;(2)自动度量的可靠性在来自不同领域或由不同LLM生成的文本中存在差异,导致归纳的鲁棒性降低。虽然分辨式基准可以相对准确地评估模型分辨幻觉的能力,但分辨能力与生成性能之间的关系至今仍不明确。这些问题都需要更深入的探讨。
最近出现了一些关于模型编辑的工作。LLMs中的幻觉可能主要源于错误信息的记忆或缺乏正确的事实知识。为了以最小的计算代价缓解LLM中的这些问题,人们引入了模型编辑的概念,这种方法涉及以既节省数据又节省计算的方式修改模型的行为。目前,模型编辑有两种主流模式。第一种是加入辅助子网络,第二种是直接修改原始模型参数。这种技术可以通过有目的地编辑LLMs存储的事实知识来消除他们的幻觉。然而,这一新兴领域仍面临诸多挑战。这些挑战包括编辑黑盒LLM、上下文模型编辑和多跳模型编辑(Zhong等人,2023年)等。
最后,诱发幻觉的攻击/防御也是一个重点。 如前所述,研究人员和公司都在努力确保LLM生成真实的回复,最终改善用户的整体体验。一些研究表明,LLMs可以通过精心制作的越狱提示等技术进行操纵,以诱发任意的预期反应,其中包括幻觉。因此,诱发幻觉的攻防策略也是一个很有前景的研究方向。
参考文献
1、https://github.com/HillZhang1999/llm-hallucination-survey
2、https://arxiv.org/abs/2309.01219
关于我们
老刘,刘焕勇,NLP开源爱好者与践行者,主页:https://liuhuanyong.github.io。
老刘说NLP,将定期发布语言资源、工程实践、技术总结等内容,欢迎关注。
对于想加入更优质的知识图谱、事件图谱、大模型AIGC实践、相关分享的,可关注公众号,在后台菜单栏中点击会员社区->会员入群加入。