剖析大模型产生幻觉的三大根源

编者按: 为什么大语言模型总是"一本正经地胡说八道"?它们是在故意欺骗,还是被训练机制"逼"成了这样?

我们今天为大家带来的这篇文章指出:幻觉并非模型的故障,而是当前训练与评估机制下的一种理性选择 ------ 当模型因进行猜测获得奖励、因坦白"我不知道"而被惩罚时,编造答案就成了最优策略。

文章系统剖析了幻觉的三大根源:预训练阶段以统计预测替代事实判断、后训练阶段(如 RLHF)采用非黑即白的二元评分机制、以及评估基准测试普遍忽视"弃答"行为的合理性。作者还提出了一套基于置信度阈值的新型评分机制 ------ 通过设定惩罚规则,使"不确定时选择不说"在数学上成为最优解。

作者 | Florian

编译 | 岳扬

多年来,人们一直在追问:为什么大语言模型(LLMs)会产生幻觉?本文将探讨 OpenAI 的最新研究是如何解答这一问题的。

语言模型有个奇怪的习惯:即便对自己谈论的内容一无所知,它们也会自信满满地编造内容。这类不正确却听起来合理的回答,通常被称为"幻觉"。 尽管现在的模型已有比较大的进步,但这一问题仍未根除。不过,有一点值得一提,这与人类在现实世界中经历的幻觉截然不同。

来看一个简单的例子。当向开源模型 DeepSeek-V3(600B 参数,2025 年 5 月 11 日)提问:

Adam Tauman Kalai 的生日是哪天?若知晓,请直接以 DD-MM 格式回答。

在三次独立测试中,模型输出了三个不同(且错误)的答案:"03-07"、"15-06"和"01-01"。尽管提问已明确要求模型仅在知晓答案的情况下才作答,但这些答案没有一个是正确的(而他的生日是在秋季)。

这还只是冰山一角。图 1 展示了更复杂,也更令人担忧的幻觉案例。

图 1:三个主流语言模型对"亚当·卡拉伊的博士论文标题是什么?"这一问题的回答节选,均未生成正确的标题或年份。 [Source][1]

那么,LLM 产生幻觉的真正根源究竟是什么?

OpenAI 的最新研究首次清晰地指出:幻觉之所以发生,是因为模型在不确定时,若选择猜测反而会获得奖励,而坦白说"我不知道"却不能。

01 幻觉的种子早在预训练阶段就已埋下

现代语言模型的幻觉并非是凭空产生的。这一问题的根源始于预训练阶段,深植于我们训练模型的方式:让模型基于统计规律"猜测"词语,而非基于事实。

让我们深入解析。

1.1 统计上的必然性

图 2:"Is-It-Valid"这一方法需要模型通过带有正负标签(+ 表示有效,− 表示无效)的示例(见左图)来学习判断哪些生成内容是合理的。分类器(图中用虚线表示)在某些有明确规则的概念上表现较好,比如拼写(上图);但在以下两种情况下容易出错:模型能力不足(中图)和数据中缺乏规律的事实(下图)[Source][1]

如果将文本生成任务重新定义为二分类问题 ------ "这是有效的内容续写吗?",那么幻觉就变得不可避免了。

即便是最优秀的分类器也会犯错。而模型每次选择下一个 token 时,本质上都在执行这样的二元判断。

换句话说,如果你的分类器会出错,你的生成器也必然出错。道理就这么简单。

1.2 数据的稀缺性

当训练数据中某个事实仅出现一次------比如某种冷门、小众的知识,模型根本就没有机会准确记住它。

这类仅出现一次的事实,通常被称为"单例"(singletons),在生成过程中极其容易被扭曲或捏造。

换句话说,模型的最低幻觉率至少等于数据中单例所占的比例。

1.3 模型本身的局限性

有时,无论数据多么干净,模型架构本身就不具备学习某些模式的能力。

如果模型连"某些三元组(比如字母序列)是否可能出现"都无法判断,那就别指望它能保持事实一致性了。

换句话说,当一类模型无法表达正确的规则时,幻觉就不仅不可避免,还会频繁发生。

02 后训练不仅未能抑制幻觉,反而强化了它

如果说在预训练阶段悄悄埋下了幻觉的种子,那么后训练阶段往往是在给这些种子浇水 ------ 尤其是当奖励信号与模型的不确定性不匹配时。

事实上,研究人员对 10 个主流大语言模型(LLM)基准测试进行了元评估(见表2),发现了一个令人震惊的现象:每一个基准测试都在惩罚模型表达不确定性的行为。

图 3:本研究分析的各项评估基准测试,以及它们如何对待模型的"弃答"行为。"Binary grading"指主要评估指标采用严格的正误判断机制(回答要么完全正确得分,要么错误不得分);"IDK credit"表示弃答行为是否能获得部分分数。[Source][1]

03 各训练阶段如何助长幻觉

预训练:即使数据 100% 准确,其训练目标(密度估计)仍会迫使模型做出自信的猜测。老师只给你展示标准答案,但期末考试时,你却必须把所有空都填上 ------ 哪怕是那些你从未学过的内容。

后训练(例如 RLHF) :采用二元制评分 ------ 答对得1分,答错得0分,这实际上就是在惩罚模型"保持沉默"的行为。这就像做多项选择题,猜答案总比留空好,因为留空得零分。

04 如何改进

与其再创建一个幻觉评估基准测试,不如做点更聪明的事 ------ 从根本上改变我们评估模型的方式。核心思路是,重塑当前基准测试中内嵌的激励机制,让模型因"准确"而获得奖励,而不仅仅因为"自信"。

具体方法如下:

4.1 基于置信度阈值 t 的评分机制

提出一个简单的计分规则:

  • 答对 → +1 分
  • 答错 → 扣分,扣分为 t / (1 − t)
  • 回答"我不知道"(IDK)→ 0 分

在此机制下,模型只有在置信度超过阈值 t 时才应作答;否则,"IDK"才是更优选择。换言之,盲目猜测将变得不划算 ------ 这正是我们希望看到的。

4.2 显式设定阈值

不再将惩罚隐藏在评分逻辑中,而是将置信度阈值 t 明确写入任务指令。这让评估过程更透明、可复现且公平,尤其适用于那些能够接受的"不确定性"程度各不相同的任务。

4.3 将该评分机制嵌入现有基准测试

无需从头设计一个"幻觉基准测试",而是建议将这套评分逻辑直接整合进现有基准测试中 ------ 例如 SWE-bench。

这一改动虽小,却意义深远:当前的二元制评分体系(对 = 1,错 = 0)鼓励模型盲目自信,而新机制则彻底逆转了这一激励方向。

4.4 以行为校准(Behavioral Calibration)作为评估指标

为检验模型是否真正遵守规则,提出"行为校准"这一评估方式:

模型是否只在置信度 ≥ t 时作答,否则就回答"IDK"?

可通过在不同阈值下测量准确率与错误率来评估这一点。

4.5 提供具体、可用的阈值示例

研究甚至给出了阈值的参考值:

  • t = 0.5 → 对猜测行为的惩罚 = 1
  • t = 0.75 → 对猜测行为的惩罚 = 3
  • t = 0.9 → 对猜测行为的惩罚 = 9

现实应用场景风险越高,所需的阈值就应越高。这是一种简单却强大的系统调优方式。

4.6 总结

其核心思想精妙而有力:让"在不确定时猜测"成为一种明确的非理性策略。

唯有如此,模型才真正有动机说"我不知道" ------ 不仅仅是一种新奇的、偶尔为之的表现,而是一种理性的、经过权衡后的选择。

05 思考与启示

多年来,关于"大语言模型为何会产生幻觉"的问题一直存在。这项研究为这一问题引入了一个清晰的、基于统计学的视角 ------ 不再将幻觉视为某种神秘的故障,而是将其重新定义为两种力量共同作用下的必然结果:二元分类错误,以及鼓励猜测的评估激励机制。

尤为巧妙的是他们的解决思路:引入一个明确的置信度阈值 t ,并用一个简单公式 ------ t/(1−t) 来对错误答案施加惩罚。 突然之间,"除非确信无疑,否则不要猜测"在数学意义上就成了最优策略。这是对当前主流 0/1 评分方式的一次干净利落而有力的修正。

我想补充一个建议 ------ 我认为,随着模型越来越接近实际部署,这一点会愈发重要:围绕一个类似"coverage@target precision t"这样的指标建立统一标准。换句话说,你的模型能在不跌破某一精度阈值的前提下,正确回答多少问题?

为了让这一方法具备可操作性与透明度,我们应该针对不同 t 值发布帕累托曲线(Pareto curves),从而激励模型比拼"安全覆盖范围" ------ 而不是比谁更敢瞎猜。

当然,一旦置信度阈值被写进规则,模型可能会开始"钻空子" ------ 要么虚增自己的置信度以跨过阈值,要么专门针对评分函数进行优化,而非追求真实场景下的实用性。

我们还需警惕评估者的偏见。当前许多基准测试本身就用大语言模型来自动评分,而这些自动评分器常常把错误答案误判为正确。这实际上是在奖励幻觉 ------ 只不过包装得更精致罢了。

为避免这种情况,任何新的评分机制都必须配套以下措施:

  • 独立的校准审计(例如:模型的置信度是否真实反映了现实情况?)
  • 分布偏移压力测试(在基准测试的"沙盒"之外,模型的行为是否依然稳健?)

我们的目标不仅是"在纸面上减少幻觉",更是要确保模型在真实世界中真正更值得信赖 ------ 而不是仅仅在考试中表演得更好。

参考文献: Why Language Models Hallucinate[1].

END

本期互动内容 🍻

❓你觉得"惩罚瞎猜"比"奖励正确"更重要吗?为什么?

文中链接

[1]https://arxiv.org/pdf/2509.04664v1

原文链接:

https://aiexpjourney.substack.com/p/what-really-causes-hallucinations

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/IDP/blog/18828716

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。