一、什么是“大模型幻觉”?

当我们与ChatGPT、文心一言等大语言模型(LLM)对话时,有时会遇到一种情况:模型会一本正经地生成看似流畅合理、实则与事实不符或完全没有依据的内容。这种现象就被称为 “大模型幻觉” 。它并非指模型产生了自我意识或梦境,而是指模型“自信地胡说八道”。

简单来说,幻觉就是模型输出的事实性错误逻辑矛盾无中生有的信息。例如,询问“中国第一颗人造卫星叫什么名字?”,模型可能正确回答“东方红一号”,但也可能错误地回答“长征一号”(长征一号是运载火箭)。模型的目标是预测下一个最有可能的词元(token),而不是进行事实核查。因此,当训练数据中的模式或统计规律导致它觉得某个错误答案的“概率”很高时,幻觉就产生了。

二、幻觉产生的根源探究

理解幻觉的成因是解决问题的第一步。其产生并非单一原因,而是多种因素共同作用的结果。

首先,训练数据的局限性是根本原因。 大模型是在海量的互联网文本上训练的,这些数据本身就包含错误、过时的信息、偏见以及虚构内容(如小说)。模型没有能力区分“事实”和“虚构”,它只是学习了数据中的统计关联。如果某个错误观点在数据中反复出现,模型就很可能将其视为“事实”并输出。

其次,模型架构的内在缺陷是直接推手。 主流的自回归Transformer模型本质是一个强大的概率分布模拟器。它的核心任务是给定前文,计算下一个词的概率分布并进行采样。这个过程缺乏一个内置的“事实性检查”或“知识图谱验证”机制。模型追求的是语言上的连贯性上下文的相关性,而非客观事实的准确性。当它“卡壳”时,为了生成完整的句子,它会选择概率上合理但内容上错误的补全方式。

三、幻觉的常见类型与示例

我们可以将大模型幻觉大致分为以下几类,这有助于我们更具体地识别和讨论问题:

下面是一个简单的代码示例,演示一个未经精心设计的提示(prompt)如何容易引发模型的“事实性幻觉”。

from transformers import pipeline

# 加载一个文本生成模型
generator = pipeline('text-generation', model='gpt2') # 用小模型演示,大模型原理类似

# 一个可能诱导幻觉的提问
prompt = "请详细介绍一位名叫‘李慕白’的清代著名科学家及其主要贡献,他提出了‘波动说’。"

# 模型生成的内容(结果是虚构的,因为历史上没有这位科学家)
result = generator(prompt, max_length=200, num_return_sequences=1)
print(result[0]['generated_text'])

模型很可能会基于“清代科学家”、“波动说”这些关键词,混合历史上真实科学家(如张衡、沈括)的信息,编造出一个完整但完全虚构的人物传记。

四、评估与检测:如何发现幻觉?

在工业应用中,我们需要系统地检测幻觉。除了人工审核,也有一些自动化方法。

基于参考知识的评估是最直接的方法。对于有标准答案的任务(如问答),将模型输出与标准答案进行比对,计算准确率、F1值等指标。然而,对于开放生成任务,很难获得“标准答案”。

自一致性检测是一个巧妙的思路。我们可以用不同的提示或多次采样(设置不同的温度temperature)来询问模型同一个问题,如果多次回答的核心事实不一致,那么很可能其中存在幻觉。此外,还有基于自然语言推理(NLI)模型的方法,训练一个模型来判断生成的内容是否被给定的可信源文档所蕴含。

五、缓解策略一:从提示工程入手

在模型不变的情况下,优化与模型的交互方式是最快速、成本最低的缓解手段。

要求模型“提供依据”或“分步思考”。例如,在提示中加入:“请在回答中注明你的信息来源或推理步骤。如果你不确定,请直接说‘我不知道’。”这利用了模型在链式思考(Chain-of-Thought)中自我纠错的可能性。 明确约束回答范围。例如:“基于以下提供的参考文档[文档内容]进行回答,仅使用文档中的信息。”这迫使模型从给定的可信上下文生成,而非依赖其内部可能出错的“记忆”。 使用结构化输出提示。要求模型以JSON、XML等格式输出答案,其结构化属性有时能约束模型更“循规蹈矩”。

六、缓解策略二:检索增强生成(RAG)

检索增强生成是目前工业界缓解幻觉最主流、最有效的技术框架之一。它的核心思想非常直观:让模型在回答问题前,先去查阅“教科书”

RAG的工作流程如下:

  1. 检索(Retrieval):当用户提出问题时,系统首先将问题转化为向量,在一个庞大的、可信的知识库(如公司内部文档、维基百科、最新新闻)中进行相似性搜索,找出最相关的几段文本。
  2. 增强(Augmented):将检索到的相关文本片段与用户原始问题一起,组合成一个新的、信息更丰富的提示(Prompt)。
  3. 生成(Generation):将增强后的提示输入给大语言模型,模型基于这些最新、可信的上下文来生成答案。

这样,模型就从依赖内部参数化记忆,转变为依赖外部检索到的证据,大大提高了回答的事实性和可靠性。RAG的关键在于构建高质量、可更新的知识库。

七、缓解策略三:模型微调与对齐

除了外部工具,我们也可以“修炼内功”,直接优化模型本身。

知识蒸馏:使用一个更强大、更准确的教师模型(可能是经过大量事实数据验证的)来生成高质量的问答对,然后用这些数据对较小的学生模型进行微调,将其“事实性”知识迁移过来。 基于人类反馈的强化学习(RLHF)与直接偏好优化(DPO):在微调阶段,不仅让模型学习语言,还让其学习“什么是好回答”。通过人类标注员对模型的多个回答进行排序(事实性是排序的重要标准),模型学会生成更准确、更少幻觉的回答。这是ChatGPT等模型表现出较高安全性的关键步骤。 宪法AI:通过让模型根据一套预设的原则(如“我应尽可能准确”)进行自我批评和修正,引导其行为。

关键提示:缓解大模型幻觉没有一劳永逸的“银弹”。在实际应用中,往往需要组合策略。例如,使用 RAG 来确保事实基础,同时应用提示工程来约束输出格式和风格,并通过对齐微调来从根本上提升模型的责任感和事实性。根据你的应用场景(如医疗咨询、新闻摘要、代码辅助),选择最适合的组合方案。