如何消除大型语言模型(LLM)中的幻觉现象
大型语言模型(Large Language Models,简称LLM)已逐渐成为自然语言处理领域的重要基石。它们能够生成连贯、有逻辑的文本,甚至在某些情况下展现出令人惊叹的创造力。然而,LLM的“幻觉”(hallucinations)(LLM 幻觉:现象剖析、影响与应对策略)问题一直是AI开发者们面临的巨大挑战。幻觉现象指的是模型输出的内容显得无根据、不一致或荒谬,这不仅影响了模型的实用性,也对其在教育、科研等领域的应用造成了严重阻碍。今天我们一起聊一下如何来消除幻觉。

一、LLM幻觉现象的类型
(一)上下文内幻觉
上下文内幻觉(基于验证链(Chain of Verification)的大语言模型幻觉问题解决方案)指模型的输出与给定的上下文不一致,模型可能遗忘前文细节并重新编造。例如,用户计划 AI 黑客马拉松预期 100 位客人,在多轮对话后模型却提及 250 位客人,这种遗忘和编造导致了上下文内幻觉。其产生原因主要在于模型对上下文信息的处理和记忆能力存在缺陷,在处理长文本或多轮对话时,难以有效整合和保留关键信息。
(二)外部幻觉
外部幻觉是指模型输出与一般知识相违背,如编造不存在的科学论文链接。这通常源于模型训练数据的局限性和不准确性,模型无法获取全面和精确的知识,导致在生成内容时偏离事实。
二、LLM幻觉现象的产生原因
LLM幻觉现象的产生原因复杂多样,但主要可以归结为以下几点:
-
训练数据的不完整性:LLM的训练依赖于大量的文本数据,但这些数据往往无法覆盖所有可能的知识点和情境。因此,在面对未知或未充分训练过的输入时,模型可能会产生错误的输出。
-
模型的泛化能力有限:尽管LLM在训练数据上表现良好,但它们在面对与训练数据差异较大的输入时,其泛化能力可能会受到限制。这种限制可能导致模型在生成文本时出现与上下文或普遍知识不一致的内容。
-
注意力机制的缺陷:LLM的注意力机制允许模型在处理输入时关注到不同的部分。然而,当注意力机制出现故障时,模型可能会错误地关注到与当前任务无关的信息,从而产生幻觉。
三、消除LLM幻觉现象的技术
针对LLM的幻觉现象,研究者们已经提出了一系列消除技术。这些技术大致可以分为两类:利用外部工具和深入模型内部进行改进。
-
利用外部工具
-
检索增强生成(Retrieval Augmented Generation, RAG):RAG (面向企业RAG(Retrieval Augmented Generation)系统的多维检索框架)是解决 LLM 幻觉问题的重要工具,其核心思想是将相关知识整合到模型的生成过程中。具体操作是将所有重要知识收集到可检索的数据库中,在模型生成回答时,通过检索相关文档来提供准确的上下文信息,从而减少外部幻觉的发生。例如,当用户询问关于公司产品的问题时,RAG 可从数据库中检索相关产品文档,为模型提供准确的知识来源,使回答更具可信度。然而,RAG 并非完美,即使有其辅助,LLM 仍可能产生幻觉。
-
引用强制:一种有效的方法是让 LLM 引用其回答的来源,并检查这些来源是否与答案真正匹配。例如,“Improving Retrieval Augmented Language Model with Self-Reasoning” 提出了一个三阶段过程:首先检索文档列表并让 LLM 解释其相关性,丢弃不相关文档,若无可参考文档则基于一般知识回答;然后让 LLM 选择相关文档的关键片段并解释其对回答问题的作用;最后整合片段并让 LLM 提供分析和简短答案。通过这种方式,可增加答案的可验证性,减少无根据的输出。
-
交叉验证:“RARR: Researching and Revising What Language Models Say, Using Language Models” 采用了答案质疑的策略。具体步骤为:RAG(RAG综述:探索检索增强生成技术的多样性与代码实践) 生成初步答案后,针对答案中的主张生成多个问题;检索器获取与每个问题相关的文档;一致性模型检查答案与检索到的文档是否一致;若存在不一致,使用 LLM 编辑答案以减少分歧。这种方法通过多轮验证和修正,提高了答案的准确性,降低了幻觉的可能性。
-
不确定性估计:LLM 通过从预测分布中采样生成下一个词,该分布的不确定性可作为检测幻觉的重要线索。对于事实性问题,通常只有一个正确答案,不确定性应较低。若不确定性较高,可能意味着模型处于困惑状态并可能产生幻觉(RELAI验证代理:开创LLM幻觉检测新思路)。可使用熵来衡量预测概率分布的不确定性。若整个答案的聚合熵过高,则可能存在幻觉。对于不输出概率或无法获取概率数据的 LLM,可采用替代方法,如生成多个不同温度的答案,
-
-
深入模型内部进行改进
-
研究检索头:在大多数 LLM 的核心注意力机制中,存在多个并行的 “注意力头”。研究发现,某些检索头在从长上下文中获取信息时起着关键作用。在回答问题时,这些检索头会对答案相关的词分配高注意力分数。当模型成功检索信息时,所有或大多数检索头会指向上下文中的相同词;若出现检索不完整(遗漏部分信息),检索头会表现出混乱,指向不同词;而在幻觉产生时,检索头会 “看向” 输入的开头。例如,在某些实验中,对 Llama - 2 - 7B、Mistral - 7B - v0.2、Yi - 6B 和 Qwen1.5 - 14B 等模型的研究观察到了这些现象。
-
回溯透镜:“Lookback Lens: Detecting and Mitigating Contextual Hallucinations in Large Language Models Using Only Attention Maps” 提出了一种新的视角,通过计算 “回溯分数” 来检测幻觉。该方法考察整个注意力模式,认为在幻觉场景中,注意力会倾向于之前生成的词而非上下文。回溯分数的计算基于注意力指向原始上下文和之前生成词的平均分数之比。作者构建了包含回溯分数的数据集,并训练线性模型来预测生成的词是否为幻觉。此外,该方法还可用于构建减少幻觉的解码管道,通过生成多个候选词块,选择回溯分数最高的进行后续生成。
-
探针技术:探测是理解 LLM 内部机制的常用技术,涉及在内部表示上训练简单分类器。对于问答任务,建议在确切答案的词上进行探测,因为研究发现这些词的内部表示包含用于幻觉检测的相关信息。通过在不同层和词上进行探测实验,发现探测能够较好地区分不同类型的幻觉行为,且在特定层和确切答案词上的探测效果最佳。
-
尽管LLM的幻觉现象是一个棘手的问题,但当前的研究已经取得了一些令人鼓舞的进展。通过利用外部工具和深入模型内部进行改进,我们可以逐步减少甚至消除LLM中的幻觉现象。然而,需要注意的是,这些技术往往需要大量的LLM调用和计算资源,因此在实际应用中需要权衡幻觉消除的需求和经济可行性。
更多推荐

所有评论(0)