大模型的幻觉问题
大模型的幻觉(Hallucination)是指模型在生成内容时,给出看似合理、语言流畅,但实际上不正确、无法验证或与事实不符的信息。这种输出往往具有较强迷惑性,因为它符合语法、风格和上下文预期,但在事实性、可追溯性或逻辑一致性上存在问题。
简单来说,模型就像一个过度自信的专家,即使不知道答案,也会“编造”一个听起来合理的回应,而不是承认自己的无知。
1、产生原因:
- 训练语料中缺乏相关信息
- 提示词存在歧义或不完整
- 模型被要求“必须回答”
- 超出模型知识边界或时间边界
模型就会“编造”一个概率上最合理的答案,这就是幻觉。
2、幻觉从哪里来:
要理解幻觉,必须先了解大模型的本质——它们不是知识库,而是概率性的文本生成器。模型在训练过程中从海量数据中学习了语言模式,但并没有真正“理解”事实。幻觉的产生主要有以下原因:
- 训练数据缺陷:语料本身存在错误、矛盾或缺失。如果训练数据中某个话题的信息稀少,模型就容易“发挥想象力”。
- 提示歧义:用户的问题模糊不清或包含误导信息,模型被迫在不明确的前提下生成答案。
- 强制回答机制:模型被设定为“必须回答”,无法像人类一样说“我不知道”,因此在知识边界外强行生成内容。
- 知识时效性:训练数据截止日期之后的新事件,模型一无所知,但可能用旧知识拼凑出看似合理的回答。
- 解码策略随机性:生成过程中的随机采样有时会让模型选择低概率但“创新”的词语,导致偏离事实。
3、常见幻觉类型:
| 类型 | 说明 | 示例 |
|---|---|---|
| 事实性幻觉 | 编造不存在的事实 | 虚构论文、法律条文、接口 |
| 源引用幻觉 | 编造参考来源 | 不存在的 DOI / 文献 |
| 逻辑幻觉 | 推理链条自洽但前提错误 | 错误因果关系 |
| 过度自信幻觉 | 错误但语气极其肯定 | “100%确定”式回答 |
| 工具/代码幻觉 | 调用不存在的 API / 参数 | 编造 SDK 方法 |
4、解决方案:
虽然无法根除,但我们可以通过多种手段显著降低幻觉风险
-
提示词工程
- 明确约束:要求“如果你不确定,请说不知道”
- 分步思考:引导模型展示推理过程,便于发现逻辑漏洞
- 提供示例:在上下文中给出正确回答的范例
-
检索增强生成(RAG): 将模型与外部知识库连接,在生成前检索相关信息,让答案有据可循。这是目前最有效的事实性幻觉缓解方案。
-
微调与对齐: 使用高质量、事实准确的数据对模型进行微调,或通过强化学习惩罚幻觉行为,使模型更倾向于保守回答。
-
续训: 如果微调效果仍不理想,且问题来自模型对领域语言/知识分布的
系统性缺失,可以考虑收集更多数据进行续训(预训练),但前提是有充足的硬件资源。续训的硬件开销通常远高于微调。 -
智能体开发: 当其它方式无法解决问题时,都可以尝试和智能体开发相结合,智能体会涉及
大模型的多次调用,token开销较大,开发难度较高。但从经济成本角度讲,智能体开发单次开销不及微调和续训,但长期成本可能更高。
下面是对于判定一个智能体是否可用的优先级流程图:


浙公网安备 33010602011771号