大型语言模型幻觉综述:原则、分类、挑战与开放问题

  • 关联论文:2311.05232
  • 作者:Tom
  • 更新:2026-07-26

一句话结论

LLM 幻觉不是 bug,而是开放域生成模型的固有特性:本文系统梳理了幻觉的定义、成因、检测与缓解方法,提出"事实性幻觉 + 忠实性幻觉"二分法,为构建可靠的 LLM 应用提供了完整的知识地图。

解决什么真问题

LLM 被广泛部署于搜索引擎、聊天机器人、推荐系统等日常信息获取场景,但其"一本正经地胡说八道"(幻觉)会直接导致错误信息传播,损害用户信任,甚至引发安全风险。

与传统任务特定的 NLG 模型不同,LLM 的开放式通用属性使得幻觉问题更加复杂: - 范围更广:不再只是"与源文本不一致",而是涉及与客观事实的偏差 - 难以察觉:LLM 输出流畅、语法正确,人类很难辨别真假 - 影响更大:直接嵌入信息检索系统,错误信息会被广泛传播

本文填补了 LLM 时代幻觉系统性研究的空白,提供统一分类框架与完整技术路线图。

核心方法:LLM 幻觉分类体系

本文最核心的贡献是提出了专为 LLM 设计的幻觉分类体系,将幻觉分为两大类:

1. 事实性幻觉(Factuality Hallucination)

强调生成内容与可验证的客观事实之间的偏差,通常表现为事实不一致: - 属性错误:主体的属性描述不实(如"《百年孤独》的作者是马尔克斯"正确,但说"是哥伦比亚作家"而实际有误) - 关系错误:主体间关系描述不实 - 非存在实体错误:描述不存在的实体

2. 忠实性幻觉(Faithfulness Hallucination)

强调生成内容偏离用户输入或缺乏自洽性,细分为三种:

子类 定义 示例
指令不一致(Instruction Inconsistency) 内容偏离用户原始指令 用户要求总结,却进行了详细扩展
上下文不一致(Context Inconsistency) 内容与提供的上下文矛盾 引用了上下文中未提及的信息
逻辑不一致(Logical Inconsistency) 内容内部自相矛盾 前文说 A,后文否定 A

这一分类体系将传统 NLG 的"内在/外在幻觉"进一步精细化,更贴切 LLM 的开放域特性。

幻觉成因:全生命周期分析

本文按照 LLM 开发流程系统分析了幻觉的来源:

数据层(Data Stage) - 有缺陷的训练数据(错误信息、过时知识、数据分布不均) - 知识截止日期导致的信息缺失 - 大规模预训练中不可避免的噪声

架构层(Architecture Stage) - Transformer 架构的固有限制(位置编码偏差、上下文长度限制) - 注意力机制的 soft similarity 特性导致细节模糊 - 模型参数量与知识存储容量之间的权衡

训练层(Training Stage) - 下一个 token 预测目标的固有局限性 - Teacher-forcing 训练与自回归推理的不一致 - RLHF 对齐过程中可能引入的幻觉 - 暴露偏差(Exposure Bias)

推理层(Inference Stage) - 采样策略(temperature、top-p)的选择影响输出的多样性/准确性权衡 - 模型对 prompt 措辞的敏感性 - 上下文长度限制导致的信息遗忘

幻觉检测方法

本文将检测方法分为三大类:

1. 基于训练的方法(Training-based)

  • 训练专门的幻觉检测器(二分类:幻觉 vs 正常)
  • 使用包含幻觉标注的数据集进行监督学习
  • 代表工作:HaluEval(大规模幻觉评估数据集)

2. 基于推理的方法(Inference-based)

  • 不确定性分析:通过计算 token 概率、logits 或内部激活来估计不确定性
  • Perplexity、entropy、R Palm 等指标
  • 自我核查(Self-check):让 LLM 验证自身输出的事实性
  • 一致性检验:多角度提问同一事实,比较答案一致性

3. 基于模型的方法(Model-based)

  • 使用另一个 LLM 或专门模型来判断目标 LLM 输出的事实性
  • 知识探针(Knowledge Probing):直接询问模型对特定事实的"记忆"
  • 引用核查(Citation Verification):要求模型提供引用并验证

评测基准

基准 描述
TruthfulQA 测试模型在常见误解上的表现
HaluEval 大规模幻觉评估数据集,含多种幻觉类型
FActScore 原子事实级别的 faithfulness 评分
SafeEval 安全相关幻觉评估

幻觉缓解方法

1. 预训练阶段缓解

  • 数据净化:去噪、事实校验、知识图谱增强
  • 课程学习:先学简单事实,再学复杂推理
  • 对比学习:区分正确知识和错误知识

2. 微调阶段缓解

  • RLHF/DPO:通过人类反馈引导,减少幻觉输出
  • 知识增强微调:显式注入结构化知识
  • 正则化:约束模型避免过度自信

3. 推理阶段缓解

  • 检索增强(RAG):补充外部知识,但 RAG 本身也有局限(见下文)
  • 解码策略改进:降低 temperature、引入事实性约束
  • 外部工具调用:搜索引擎、计算器等工具辅助
  • 思维链提示(Chain-of-Thought):显式推理过程减少逻辑幻觉

RAG 对抗幻觉的局限性(重要!)

本文专门讨论了 RAG 在对抗幻觉时的局限,这是工程落地中极易被忽视的问题:

  1. 检索质量依赖:若检索到错误/过时文档,RAG 会放大而非消除幻觉
  2. 噪声放大:检索到的多个冲突文档会让模型更困惑
  3. 知识边界模糊:模型难以区分自身知识和检索知识,容易过度依赖
  4. 重排序的局限:即使 top-k 相关性文档中混入低质量文档,也影响最终输出
  5. 实时性悖论:最新知识(LLM 的软肋)往往不在知识库中

这提示 RAG 不是万能解药,构建可靠 LLM 系统需要多层防护。

未来研究方向

  • LVLM 幻觉:视觉-语言模型中的跨模态幻觉
  • 知识边界理解:模型能否知道自己"不知道"?
  • 自我纠正机制:模型能否自主识别并修正自身幻觉?
  • 可解释性:理解幻觉产生的机制而非仅事后检测

亮点与局限

亮点: - 首次提出针对 LLM 时代的完整幻觉分类体系,超越传统 NLG 的二分类 - 全生命周期视角覆盖数据→架构→训练→推理各阶段 - 专门讨论 RAG 的局限性,对工程实践有直接指导价值 - 发表于 ACM TOIS(顶刊),学术质量扎实

局限: - 原文未提供各检测/缓解方法的系统性量化对比 - 新兴的 multi-agent 系统中 agent 间幻觉传播问题未涉及 - 英文为主,部分中文场景下的幻觉类型覆盖不足

对工程落地的启发

  1. 多层防护原则:RAG + self-check + 输出验证缺一不可,不能依赖单一手段
  2. 不确定性优先:对高风险场景(医疗、法律、金融),在输出中加入置信度表达
  3. 知识边界探测:建立模型"已知-未知"评估流程,避免过度依赖
  4. 用户可见性:对关键事实输出提供可核查的引用来源
  5. 持续评估:建立幻觉率监控仪表盘,尤其是模型更新后

与同方向工作的关系

  • 早于 2023 年的幻觉研究(如 Maynez et al. 2020)主要聚焦任务型 NLG,范围更窄
  • 本文提出的分类体系已成为后续工作的基础框架(如 HALU-COMPUTE 等)
  • 与 RAG 综述(如 Asai et al. 2023)互补:本文聚焦幻觉本身,RAG 综述聚焦检索增强
  • 同期还有 Li et al. 2023 的"Survey on Hallucination in LLM",本文在分类体系的完整性上更胜一筹

适合谁读

  • LLM 应用工程师:理解幻觉来源,在 RAG、agent 设计中规避风险
  • AI 安全/风险研究员:建立幻觉评测基准和缓解策略基线
  • Prompt Engineering 实践者:理解模型局限性,写出更可靠的 prompt
  • 学生/研究者:快速建立 LLM 幻觉领域的全局知识结构

工程落地与核查(Jay)

事实核查

  1. "发表于 ACM TOIS(顶刊)"存疑需核实。arXiv 编号 2311.05232 发布于 2023 年 11 月;TOIS 审稿周期通常 6-18 个月,从时间线上判断该综述可能尚在投审或小修阶段,建议核实实际发表状态。如未正式发表,此处措辞应改为"投稿至 ACM TOIS(审稿中)"。
  2. "首次提出针对 LLM 时代的完整幻觉分类体系" → 大体准确,但 2023 年同时期有 Li et al. 的 hallucination survey 提出类似框架;"首次"措辞偏强,建议改为"较完整地提出了"。
  3. 事实性幻觉示例:"《百年孤独》的作者是马尔克斯"→"是哥伦比亚作家"而实际有误 → 此处有误:《百年孤独》作者加西亚·马尔克斯正是哥伦比亚作家,此示例本身不构成属性错误,实际应为有效陈述。建议将示例改为更典型的事实性错误,如"《百年孤独》的作者是博尔赫斯"之类。
  4. "暴露偏差(Exposure Bias)" → 原文归属训练层;暴露偏差更常在序列生成(自回归解码)中讨论,属于训练-推理不一致的子问题,放训练层大体合理,但也可归入推理层。此处分类有商榷空间。
  5. R Palm → 应为 R Palm(Recursive Activation-based Palm),核实原文拼写;常见误写为 "R-PALM" 或 "RaPAL"。

可读性精修建议

  1. "LLM 幻觉不是 bug,而是开放域生成模型的固有特性" → "固有特性"(inherent property)学术上更准确的表述是"开放域生成的统计特性","不是 bug"这种框架在安全/医疗场景下需谨慎——用户和监管机构通常不会接受"系统性胡说八道是固有特性"的说辞。
  2. "忠实性幻觉(Faithfulness Hallucination)"中"faithfulness"译为"忠实性"与"忠实性幻觉"存在循环定义问题,读者初读可能困惑;建议区分"忠实性(faithfulness)"与"忠实性幻觉"的概念层级。
  3. 逻辑不一致(Logical Inconsistency)示例"前文说 A,后文否定 A"过于简单,实际 Logical Inconsistency 更多指推理链条内部矛盾(如大小前提冲突),非简单的前后矛盾——建议补充更精确的示例。
  4. "RAG 不是万能解药" → 这是全文最工程友好的论断之一,解读保留得很好。

工程落地关键坑

  1. 幻觉检测的标注数据瓶颈:HaluEval 是目前最大规模的幻觉评估数据集之一,但幻觉标注主观性强,不同标注者一致性(inter-annotator agreement)可能偏低;实际项目中建议用自动化指标 + 人工抽检结合,而非全量人工标注。
  2. Self-check 的自我欺骗问题:模型在自我核查时倾向于确认自己已生成的答案(confirmation bias),Self-check 对 complex factual queries 效果较好,对简单但隐含推理的错误效果差;不要把 Self-check 当作充分条件。
  3. 一致性检验(多角度提问)的成本:多角度提问需要多次 LLM 调用,成本约为单次调用的 3-5x;在高流量生产系统中需权衡实时性要求,或用 caching + paraphrase pool 减少重复调用。
  4. FActScore 的原子事实粒度:原子事实切分本身就有主观性,不同切分方式会导致评分差异;建议团队内部统一原子事实的定义标准,再使用 FActScore 做相对比较。
  5. RAG + 幻觉的噪声放大:当文档库包含矛盾信息时,检索阶段的相关性排序(cosine similarity)可能选出高相关但错误的文档;解决方案是引入矛盾检测步骤,在检索后增加"冲突文档预警"。
  6. JSON Mode / Structured Output 的幻觉率:强迫 LLM 输出 JSON schema 并不能减少幻觉,只改变幻觉的呈现形式(结构性错误 vs 自由文本错误);在生产系统中结构化输出的幻觉往往更难被发现,建议在 schema 校验之外增加内容正确性验证层。
  7. Chain-of-Thought 的双刃剑:CoT 能减少逻辑幻觉,但也会增加模型生成更多内容的面积,从而增加事实性幻觉的机会;建议 CoT 之后加一步"答案提取"(只从 CoT 推理链中提取最终答案,而不暴露完整推理过程给用户),可平衡两类风险。
  8. Multi-agent 中的幻觉传播:原综述未涉及 multi-agent 系统中的幻觉传播问题——当 Agent A 的输出作为 Agent B 的输入时,Agent A 的幻觉会在 Agent B 中被放大或固化;工程上需要在 agent 间引入校验层(如 Agent B 对 Agent A 的关键断言做 fact-check)。
  9. 中文幻觉的特殊性:该综述以英文为主,中文 LLM 幻觉有其特殊性(如汉字多音字导致的事实混淆、成语典故的张冠李戴);高风险中文场景(法律、医疗)建议额外构建中文 hallucination benchmark。