大语言模型幻觉的成因、影响与解决方法
2024年12月25日
一家公司的AI客户随意承诺了一项从未存在的退款政策,导致公司为这一虚构承诺承担责任。加拿大航空公司聊天机器人的这一事件清晰展示了"AI幻觉"现象,即AI可以生成看似自信但完全虚构的答案。这类错误——从事实不准确、偏见到推理失误——统称为"幻觉"。
简而言之,大语言模型(LLM)的工作原理类似高级"自动完成"工具,通过基于训练数据中的模式预测序列中的下一个词来生成内容。这个过程就像在不理解主题的情况下"填空"。
由于LLM缺乏真正的推理能力来检验其输出,它们仅依靠词汇概率模式而非真正的理解。
在kapa.ai,我们与Docker、CircleCI、Reddit和Monday.com等100多个技术团队合作,将LLM部署到生产环境中,因此我们想分享管理幻觉问题的经验,首先从技术角度深入剖析幻觉的本质。

1. 为什么LLM幻觉问题如此重要?
随着人工智能(AI)模型成为信息检索和决策的核心,对这些技术的信任至关重要。AI聊天机器人曾产生多个著名的误导性陈述,导致信任和声誉问题:
-
错误信息:谷歌的Bard曾在宣传视频中错误声称詹姆斯·韦伯太空望远镜拍摄了第一张系外行星图像。实际上,这是欧洲南方天文台的甚大望远镜拍摄的。
-
伦理担忧:微软的AI聊天机器人生成了不当回应,如表达情感并赋予自己动机,引起用户不适并引发关于AI行为的伦理问题。
-
法律影响:一位使用ChatGPT进行法律研究的律师引用了虚构的案例和引语,导致罚款、声誉损害风险并浪费司法资源。
这些例子凸显了AI幻觉如何为组织带来声誉和信任危机。
模型架构限制,(B)概率生成的固有约束,以及(C)训练数据缺口。
A. 设计和架构约束:
-
理论局限性:LLM内部基于Transformer的注意力机制使模型能够专注于输入中的相关部分。在Transformer模型中,固定的注意力窗口限制了模型能保留的输入上下文长度,导致序列过长时早期内容被"丢弃"。这一约束通常导致连贯性崩溃,增加长篇输出中出现幻觉或不相关内容的可能性。
-
顺序标记生成:LLM一次只生成一个标记。每个新标记仅依赖于先前生成的标记,且无法修改早期输出。这种设计限制了实时错误修正,使初始错误可能演变为自信但错误的内容。
B. 输出是一句概率的:
-
生成模型的内在局限:生成式AI模型可能产生表面上看似合理,但实际上缺乏真正主题理解的回应。例如,一家超市的AI膳食规划器将氯气配方(有毒)推荐为"解渴提神的完美无酒精饮料"——这表明,即使在有效数据上训练,AI也可能在不理解上下文的情况下生成危险内容。
-
模糊输入处理:面对模糊或含糊的提示,LLM会尝试"填补空白",导致推测性且有时不正确的回应。
C. 训练数据缺失:
-
曝光偏差:训练过程中,模型依靠人类标注者提供的"真实"数据作为预测下一个词的基础。然而,在实际推理阶段,它们必须依赖自己先前生成的合成数据。这形成了一个反馈循环,早期过程中的轻微错误会随时间放大,经常导致系统偏离连贯性和准确性。
-
训练数据覆盖不足:尽管在庞大数据集上训练,模型通常无法充分覆盖不太常见或小众信息。因此,当模型面对这些领域的问题时,不可避免地会产生包含幻觉的回应。代表性不足的模式或对常见信息的过拟合影响了泛化能力,特别是对于超出常规范围的输入。
3. 如何缓解AI幻觉?
虽然LLM中的幻觉问题无法完全避免,但可以通过三层防御策略显著减少:(A)输入层控制优化查询和上下文,(B)设计层实施增强模型架构和训练,以及(C)输出层验证和筛选回应。

每一层都作为关键检查点,共同提高AI输出的可靠性和准确性。让我们简要了解这三层中各种技术的基本原理:
A. 输入层缓解策略
设计并部署在查询到达模型前进行处理的机制。这些机制评估查询的模糊性、相关性和复杂度,确保查询经过优化以提升模型表现。
-
查询处理:评估查询是否包含足够上下文或需要澄清。例如,通过剔除无关噪音,优化查询以提高相关性。根据查询复杂度触发不同模型行为,如使用简单模型进行简化,或在高度不确定时生成澄清问题。
-
上下文大小优化:减少输入规模,使更多关键上下文能有效纳入模型处理范围而不损失质量:使用自信息过滤保留关键上下文。
-
上下文注入:这种技术在用户主要查询前重新定义并"注入"上下文模板或结构化提示,帮助模型更好理解查询内容。通过使用特定角色标签、内容分隔符和对话标记构建提示,上下文注入可以帮助模型更好理解复杂提示,使回应更贴近用户需求,而非产生不支持或纯推测的输出。
减少幻觉的一种方法可能是"学习苹果的做法",简单地要求模型"不要产生幻觉"。
B. 设计层缓解策略
设计层专注于通过架构改进和更优训练方法增强模型处理和生成信息的能力。这些策略作用于模型核心,生成更可靠的输出。
-
思维链提示:思维链(CoT)引导模型以顺序、逻辑方式"思考"问题,而非立即给出最终答案,模拟人类推理过程并提高输出准确性和连贯性。CoT方法鼓励模型,特别是那些参数量庞大的模型通常在1000亿或更多参数范围,生成逐步答案以模仿人类思维过程。较小模型无法处理CoT所依赖的多步依赖关系,因此比标准提示方法产生的准确率更低。OpenAI研究员最近的一条推文强调了转向o1模型如何通过产生更均匀的信息密度改进思维链,更像模型的"内部独白"而非简单模仿预训练数据。
-
检索增强生成(RAG):RAG是LLM的扩展,具备检索机制,可从外部数据库获取相关、及时的信息,减少幻觉并将输出锚定在事实背景中。研究人员描述了RAG的三种范式:
-
RAG最简单形式是朴素RAG,直接将排名靠前的文档输入到LLM中。
-
高级RAG在此基础上引入额外的前处理和后处理步骤,包括查询扩展、子查询生成、验证链和文档重排序,进一步提高检索内容的相关性。我们在另一篇文章中详细介绍了推荐的高级RAG技术。
-
模块化RAG将传统RAG系统转变为灵活、可重配置的框架,类似乐高积木,具有适应性检索和预测模块,仅在面对不确定性时有选择地检索新数据。这种更灵活的配置使支持多步复杂推理的迭代查询更加便捷。配合记忆池等功能,RAG可以存储对话上下文信息,保持会话应用的连贯性。RAG还可通过层次索引和元数据标记等可定制组件进一步优化,提高检索精度。层次结构如知识图谱能够表示实体间关系,更好地匹配查询意图。通过Small2Big分块或句子级检索等技术,可以进一步优化相关性。
-
RAG三种范式比较(Gao等,2024)
- 微调:适用于有充足任务特定训练数据和标准化任务的场景。在特定领域或任务数据上定制模型,提高其在专业领域内的准确性,因为通用预训练数据往往不够精确。微调不会完全覆盖原始预训练权重,而是对其进行更新。这使模型能够吸收新信息而不丢失基础知识。这种平衡帮助模型保持一般理解能力,避免丢失重要的预存知识。
C. 输出层缓解策略
输入和设计层防止幻觉发生,而输出层则通过过滤和验证生成内容作为最终防线。这些验证方法确保只有准确、相关的信息才能到达终端用户:
-
基于规则的过滤:使用基于规则的系统或算法过滤不正确或不相关回应。这类系统根据经过验证的数据库检查模型输出中的回应,这些数据库产生幻觉的可能性极低。
-
输出重排序:基于相关性和事实一致性对多个输出进行排序,确保只有最准确的回应才能到达用户。
-
事实核查和验证:使用如搜索增强事实评估器(SAFE)或OpenAI开发的WebGPT等先进事实核查框架。这一过程包括将长篇回应分解为独立的事实陈述,然后通过在线搜索将每个陈述与最新来源进行交叉验证,从而判断每个声明是否有网络上可查证的信息支持。
-
增强上下文意识:鼓励模型在缺乏充分上下文或确定性时避免生成答案,有助于减少推测性或不正确内容的产生。
4. 未来展望
当前关于提高AI可靠性的研究主要集中在创新缓解技术、更深入理解LLM内部运作机制,或开发能够真正"理解"训练数据的新型AI模型架构:
-
编码真实性:最新研究表明,LLM编码了比先前认识到的更多真实性信息,某些标记集中了这类信息,有助于改善错误检测。但这种编码复杂且依赖特定数据集,因此泛化能力有限。值得注意的是,模型可能在内部已编码正确答案,尽管最终输出存在错误,这为有针对性的缓解策略指明了方向。
-
检测方法:另一项最新研究强调了基于熵的方法检测LLM幻觉的价值,提供了通过评估语义层面的不确定性来识别幻觉的方法。这种方法在各类任务和新数据集上表现良好,使用户能够预判何时需要对LLM输出保持谨慎态度。
-
自我改进:通过自我评估和自我更新模块,LLM可以在表示层面提高回应一致性,特别是借助自一致性和自我完善等方法。这些方法有望减轻幻觉并提高不同推理任务中的内部连贯性。
5. 结论
**LLM中的幻觉源于神经网络限制和生成式模型架构的固有特性。**虽然无法完全消除,但了解幻觉成因为有效缓解策略奠定了基础。
选择性上下文过滤、检索增强生成、思维链提示和任务特定建模等技术显著降低了幻觉风险,提高了LLM输出的可靠性和可信度。随着这一领域不断发展,这些策略可能在开发既准确又具备上下文感知能力的AI系统中发挥核心作用,推动LLM在各领域的实际应用。
无论您选择构建开源解决方案还是采用像kapa.ai这样的管理工具,缓解AI幻觉的原则和策略基本保持一致。在kapa,我们直接应对这些挑战,确保提供更可靠、准确的输出。
如果您想了解Kapa.ai如何将知识库转变为智能助手,欢迎申请产品演示。
阅读原文:点击这里