今天在看机器之心的公众号上看到一篇文章《OpenAI 罕见发论文:我们找到了 AI 幻觉的罪魁祸首》。
在这篇文章中介绍 OpenAI 最近发的一篇论文,名字叫做《Why Language Models Hallucinate》(为什么语言模型有幻觉)。
我很好奇,就点进去看了一下。很有意思。原因说起来,很简单。就是 「标准的训练和评估程序更倾向于对猜测进行奖励,而不是在模型勇于承认不确定时给予奖励」。
在 OpenAI 的这篇论文中,主要想要克服的“幻觉”是「模型不诚实地生成自己都不相信的答案的情况」。
这句话是我自己看完论文后,自己总结的。
在 OpenAI 的这篇论文中,主要说了两点。
大模型的预训练逻辑决定——大模型对于问题的回答, 并非 “记忆数据”,而是通过统计规律 “学习语言生成模式”。
语言模型的预训练本质是 “自回归预测任务”:给定一段文本的前 N 个词(如 “地球的半径约为”),模型需要从训练数据中学到的 “统计规律” 里,预测第 N+1 个词最可能是什么(如 “6371 千米”)。在大模型微调阶段,当前主流评估的 “二元评分体系”(正确得 1 分、空白 /“不知道” 得 0 分)则在微调阶段强化了幻觉,使模型陷入 “为刷分而盲目猜测” 的循环。导致对 “猜测” 的奖励远胜于 “承认不确定性”。
简单来说:“标准的训练和评估程序更倾向于对猜测进行奖励,而不是在模型勇于承认不确定时给予奖励。”
在大模型的微调(如 RLHF、DPO)阶段,本应减少幻觉,但主流评估体系的 “二元评分” 反而强化了猜测行为,形成 “惩罚不确定性的流行病”。
二元评分:对模型输出的结果,进行对或者错的二元评判。采用 “正确得 1 分、空白 / 不知道 得 0 分”,模型 “盲目猜测” 的期望得分高于 “承认不知道”。
那么如何改进呢?
简单来说:让模型 “合理表达不确定” 获得奖励,而非惩罚。
对模型的输出结果评估,简单来说就是引进置信度目标(置信度,也就是结果的可信度)。这里的可信度并非外部的可信度,而是来自于模型自己对于输出的结果的可信程度。可以简单理解,只有当大模型自己对于输出结果的置信度 大于 某个置信度目标值,才对正确结果做回答,否则可以说 I Don’t Know。当然这种有很多的技术性的细节。但是最终目标是让大模型变得更加诚实。
当然关于幻觉体现是多方面的,而这篇论文关于幻觉的讨论和解决方案也只是其中一个侧面(侧重于 I Don’t Kown)。但是即使是这样,我自己在使用的体验上,依然觉得 GPT5 的可靠性要高于其他模型很多。