背景
如果你问大模型:”明朝第一位皇帝是谁?”它会自信地回答:”朱元璋。”
但如果你问:”朱元璋的第三任妻子叫什么名字?”它可能回答:”马皇后。”——等等,马皇后是朱元璋的正妻,不是第三任妻子。模型编了一个看似合理、实则错误的答案。
这就是大模型的幻觉(Hallucination):一本正经地胡说八道。
面试时如果只回答”因为它是个概率模型”,会被追问:概率模型怎么了?概率模型就一定会编东西吗?
今天我们从五个层面拆解这个问题,每一层都能让你的理解更有深度。
第一层:训练目标 ≠ 说真话
这是最根本的一层。大模型的训练目标,从一开始就不是”说真话”,而是”预测下一个最可能的 token”。
听起来差不多?差别很大。
训练信号的本质
模型在训练过程中,从未接受过这样的监督信号:
1 | 这句话是事实 ✓ |
它只知道:在这段文本里,前面出现了这些词,下一个词最可能是什么?
1 | 输入: "明朝开国皇帝是" |
模型学的是语言的统计规律,不是世界的真实知识。
流畅 ≠ 正确
从训练目标来看,模型追求的是流畅连贯,不是事实正确。
大多数情况下,流畅连贯的文本恰好也是真实的。所以大部分场景下,模型看起来在说真话。
但一旦”说得通”和”说得对”发生冲突:
1 | 问题: "林黛玉倒拔鲁智深的故事发生在哪一回?" |
为什么?因为”林黛玉倒拔鲁智深”本身是个荒谬的问题,但模型会硬着头皮让它”说得通”——生成一个符合语言规律的回答,而不是指出这个问题本身是错的。
第二层:不知道自己不知道什么
人类面对不确定的问题,会有”自知之明”:
1 | 问: "量子力学中薛定谔方程的第三种推导方式是什么?" |
但大模型没有这个能力。
训练时的”强制回答”约束
模型训练时被要求必须生成一段通顺的回答,而不是可以选择”我不知道”。
训练数据里很少有这种模式:
1 | 问题: XXX(超出知识范围) |
即使有,比例也极低。模型学到的是:有问题 → 必有回答。
硬着头皮编
所以,哪怕模型对问题毫无头绪,也会生成一段看似合理的内容:
1 | 问: "《三体》中章北海的第四个孩子叫什么?" |
越是不确定的问题,模型越可能编造——因为它没有”我不确定”这个选项。
第三层:知识是”压缩”的,不是”精确存储”的
大模型不是把所有知识像数据库一样一字不差存下来。
知识的存储方式
模型把海量文本压缩成参数里的统计模式。这个过程类似于:
| 方式 | 特点 |
|---|---|
| 数据库存储 | 精确、可检索、一字不差 |
| 模型参数存储 | 模糊、统计性、细节易混淆 |
就像人记东西,只会记个大概,细节会模糊、会混淆。
压缩带来的问题
模型学到的是模糊的关联、大概的规律,而不是精确的事实:
1 | 模型可能学到的: |
一旦需要精准细节(具体日期、数据、人名),就容易张冠李戴、脑补编造。
第四层:训练数据本身有”坑”
模型的知识全部来自训练数据。但互联网数据本身充满问题。
数据质量问题
| 问题类型 | 例子 |
|---|---|
| 错误信息 | 谣言、虚假新闻 |
| 偏见信息 | 带倾向性的观点 |
| 过时信息 | 2023年的新闻,2026年问就不对了 |
| 随意编造 | 网友随口胡说的内容 |
这些都是模型的”教材”。模型分不清对错,只会把学到的”错误规律”当真话说。
垃圾进,垃圾出
1 | 训练数据中有: "诸葛亮发明了原子弹"(某个网友编的段子) |
这不是模型”蠢”,而是训练数据本身就有问题。
第五层:生成时的”概率采样”容易跑偏
大模型生成答案,不是逻辑推理,而是按概率”猜”下一个词。
一步步”猜”的问题
每一步都选”最可能的词”,但一步错,步步错:
1 | 第1步: 选对了 → 上下文正常 |
小偏差会累积成大错误,尤其是遇到模糊、冷门、矛盾的问题时。
概率分布越乱,越容易跑偏
1 | 常见问题: 概率分布集中 → 选对的概率高 |
五层原因的叠加效应
幻觉不是单一原因造成的,而是五层叠加:
1 | 第1层: 训练目标追求流畅而非正确 |
如何缓解幻觉?
了解了原因,才能针对性地解决。
用户层面的技巧
| 技巧 | 作用 |
|---|---|
| 追问细节 | 让模型暴露不确定的地方 |
| 要求引用来源 | 逼迫模型承认”不知道来源” |
| 设置温度参数为 0 | 减少随机性,让模型更保守 |
| 明确告知”如果不知道就说不知道” | 给模型一个”放弃”的选项 |
技术层面的方案
| 方案 | 原理 |
|---|---|
| RAG(检索增强生成) | 先检索真实资料,再基于资料回答 |
| 知识图谱 grounding | 把回答锚定到可验证的知识节点 |
| 多模型交叉验证 | 让多个模型回答同一问题,对比差异 |
| 置信度输出 | 让模型输出对答案的置信程度 |
| 事实核查模块 | 对模型的回答做二次验证 |
这些方案各有优劣,但核心思路都是:引入外部真实信息,弥补模型内部的缺陷。
总结
大模型”一本正经胡说八道”,不是它故意骗你,也不是它笨,而是底层设计、训练目标、知识存储、数据质量、生成机制五层原因叠加的必然结果。
用一个公式概括:
1 | 幻觉 = 训练目标偏差 + 无自知之明 + 知识压缩 + 数据污染 + 概率跑偏 |
理解了这一点,你就会明白:大模型是一个流畅的语言生成器,不是精准的事实数据库。
用模型时,把它当作一个能快速整理思路、启发想法的助手,而不是权威的知识来源。关键事实,还是要自己核实。
参考资源: