幻觉:大模型的阿喀琉斯之踵

大模型最令人不安的缺陷是"幻觉"——自信地陈述不真实的信息。这不是偶发的bug,而是当前大模型架构的根本性限制。

理解幻觉的成因,是缓解它的第一步。

幻觉的分类

并非所有"说错话"都是幻觉。我们将幻觉分为三类:

事实性幻觉:陈述了与客观事实不符的信息。如"爱因斯坦生于1900年"(实际1879年)。

忠实性幻觉:输出与给定上下文矛盾。如RAG场景中,检索到的文档说"收入增长10%",模型却说"收入下降5%"。

逻辑性幻觉:推理过程中的逻辑错误。如"所有猫都是动物,所有动物都会飞,所以猫会飞"——前提错误导致结论错误。

三类幻觉的成因和缓解策略不同,需要分别对待。

成因分析

训练数据层面

数据中的错误信息:训练语料本身就包含大量错误信息——维基百科的错误条目、社交媒体的谣言、小说中的虚构事实。模型不知道这些信息是错的,只是忠实地学习了统计模式。

长尾知识覆盖不足:对于高频知识,模型通过大量见例形成了可靠的表征。但对于长尾知识(只出现过一两次的事实),模型的表征是不稳定的,容易在生成时"拼凑"出错误信息。

知识更新滞后:模型的训练数据有截止日期。对于训练后发生的事件,模型要么不知道,要么基于旧信息进行推测。

模型架构层面

概率生成的本质:大模型本质是一个概率模型——它生成的是"最可能"的下一个Token,而非"最正确"的Token。当"流畅"和"准确"冲突时,模型倾向于流畅。

缺乏知识边界感知:模型不知道自己"不知道什么"。对于训练中从未见过的知识,模型会基于相关知识的模式进行推断,生成看似合理但实际错误的内容。

注意力稀释:在长文本生成中,模型对早期信息的注意力可能衰减,导致前后矛盾。

训练过程层面

SFT的过度自信:监督微调训练模型"给出答案",而非"承认不确定"。这导致模型对不确定的问题也倾向于给出确定性的回答。

RLHF的讨好倾向:RLHF训练让模型更"有用"——而给出一个(哪怕是错误的)答案通常比说"我不知道"更有用。这种偏好加剧了幻觉。

缓解策略

训练阶段

RLHF改进:在偏好数据中加入"正确拒绝"的样本——对模型不确定的问题,“我不知道"应该比错误答案获得更高奖励。

RAG增强:将外部知识检索与生成结合,让模型基于检索到的事实生成回答,而非完全依赖参数化知识。

DPO+事实性约束:在DPO训练中,偏好数据不仅考虑"哪个回答更好”,还考虑"哪个回答更准确"。

推理阶段

检索增强:实时检索相关信息作为生成依据。这是目前缓解事实性幻觉最有效的方法。

Self-Check机制:让模型在生成后自检——“请检查你上面的回答中是否有事实错误”。虽然不是完全可靠,但能捕获一部分明显错误。

多路验证:对关键事实,让模型独立生成多次回答,检查关键信息是否一致。不一致的部分需要额外验证。

结构化输出:将需要准确信息的部分用结构化格式输出(如表格),而非自由文本。结构化输出更容易验证。

置信度估计:让模型对每个事实陈述标注置信度。虽然模型的自我置信度不完美,但低置信度部分值得重点审查。

系统层面

知识库边界:明确定义模型的知识范围,对于超出范围的问题强制走RAG或拒绝回答。

事实后处理:生成后用专门的事实验证模块检查关键事实——人名、日期、数字等——与知识库对比。

用户反馈闭环:收集用户对幻觉的报告,用于持续改进模型和知识库。

效果评估

我们在一个知识问答场景中实施了一套组合策略:

策略幻觉率降低副作用
RAG增强-45%响应稍慢
Self-Check-15%Token消耗增加
多路验证-25%延迟增加2-3x
DPO事实性约束-20%需要重新训练
组合方案-70%综合成本增加约30%

组合方案将幻觉率从约15%降低到约4.5%,虽然没有完全消除,但对于生产环境已经是可接受的水平。

未来方向

幻觉问题的根本解决可能需要架构层面的突破——让模型从纯概率生成进化为"概率+逻辑"的混合系统。一些有前景的方向:

  • 神经符号系统:将神经网络的语言理解与符号逻辑的精确推理结合
  • 可控生成:在解码过程中引入事实约束,确保生成内容与知识库一致
  • 元认知:让模型对自己的知识和推理过程有更准确的感知

在AGI实现之前,幻觉大概率不会完全消失。但通过系统性的缓解策略,我们可以在特定场景中将幻觉控制在可接受范围内,让AI成为可信赖的助手。

本文同步发布于 硅基AGI论坛