为什么语言模型会产生幻觉
这篇文章探讨了语言模型产生“幻觉”(即自信地生成虚假信息)的根本原因及其解决方法。
语言模型产生幻觉的主要原因并非技术缺陷,而是其训练和评估方式存在问题。当前的标准评估体系类似于“应试教育”,只奖励“准确性”,从而激励模型在不确定时进行猜测,而不是承认“我不知道”。
主要原因分析
Section titled “主要原因分析”- 错误的激励机制:在评估中,模型回答“我不知道”会得零分,而猜测则有一定概率答对。因此,为了在排行榜上获得更高分数,模型被训练得更倾向于猜测,这虽然可能提高准确率,但也大大增加了产生幻觉(错误答案)的风险。
- 预训练的本质:模型在预训练阶段通过预测下一个词来学习语言模式。对于语法、拼写等有规律可循的知识,模型能学得很好。但对于零散、低频的事实(如某人的生日),由于缺乏固定模式,模型只能进行概率上的猜测,这是幻觉的最初来源。
文章提出的核心解决方案是改革评估体系:
- 改变评分规则:不能只看重准确率。应该更严厉地惩罚“自信的错误答案”,同时为模型承认不确定性(如回答“我不知道”)给予部分分数。
- 全面更新评估标准:这种新的评分方式需要被应用到所有主流、核心的评估基准中,而不仅仅是作为少数几个专门的“幻觉评估”存在,这样才能从根本上改变模型的“行为模式”。
结论与澄清的误解
Section titled “结论与澄清的误解”- 幻觉并非不可避免,模型可以学会“保持谦逊”。
- 解决幻觉问题不一定需要更大的模型,有时小模型更容易知道自己的知识边界。
- 单纯追求100%的准确率无法根除幻觉,因为现实中很多问题本就无解。
- 解决问题的关键在于改革所有核心评估指标,使其不再奖励猜测行为。
在OpenAI,我们正努力使AI系统更加有用和可靠。尽管语言模型的能力越来越强,但有一个挑战仍然顽固地难以完全解决:幻觉。我们所说的幻觉,是指模型自信地生成一个不真实答案的情况。我们的新研究论文认为,语言模型之所以产生幻觉,是因为标准的训练和评估程序奖励猜测,而不是承认不确定性。
ChatGPT也会产生幻觉。GPT-5的幻觉要少得多尤其是在推理时,但它们仍然会发生。幻觉仍然是所有大型语言模型的一个根本性挑战,但我们正在努力进一步减少它们。
什么是幻觉?
Section titled “什么是幻觉?”幻觉是语言模型生成的看似合理但错误的陈述。它们可能以令人惊讶的方式出现,即使是对于看起来很简单的问题。例如,当我们向一个广泛使用的聊天机器人询问Adam Tauman Kalai(本文作者之一)的博士论文题目时,它自信地给出了三个不同的答案——没有一个是正确的。当我们询问他的生日时,它给出了三个不同的日期,同样都是错误的。
幻觉之所以持续存在,部分原因是当前的评估方法设定了错误的激励机制。虽然评估本身不直接导致幻觉,但大多数评估衡量模型性能的方式鼓励猜测,而不是诚实地面对不确定性。
可以把它想象成一个多项选择题测试。如果你不知道答案但胡乱猜一个,你可能会幸运地答对。留空则保证得零分。同样地,当模型仅根据准确率(即它们完全答对问题的百分比)进行评分时,它们被鼓励去猜测,而不是说“我不知道”。
再举个例子,假设一个语言模型被问及某人的生日但它不知道。如果它猜测“9月10日”,它有1/365的机会是正确的。说“我不知道”则保证得零分。在成千上万个测试问题上,猜测的模型在排行榜上的表现最终会比一个承认不确定性的谨慎模型要好。
对于有单一“正确答案”的问题,可以考虑三类回应:准确的回应、错误和模型不冒险猜测的拒绝回答。拒绝回答是谦逊的一部分,这是OpenAI的核心价值观之一。大多数排行榜优先考虑并根据准确率对模型进行排名,但错误比拒绝回答更糟糕。我们的模型规范指出,表示不确定性或请求澄清比提供可能不正确的自信信息要好。
| 指标 | gpt-5-thinking-mini | OpenAI o4-mini |
|---|---|---|
| 拒绝回答率 (未给出具体答案) | 52% | 1% |
| 准确率 (正确答案,越高越好) | 22% | 24% |
| 错误率 (错误答案,越低越好) | 26% | 75% |
| 总计 | 100% | 100% |
在准确率方面,较早的OpenAI o4-mini模型表现稍好。然而,其错误率(即幻觉率)要高得多。在不确定时进行策略性猜测可以提高准确率,但会增加错误和幻觉。
在对数十个评估结果进行平均时,大多数基准测试只选取准确率指标,但这导致了对与错的错误二分法。在像SimpleQA这样的简单评估中,一些模型实现了接近100%的准确率,从而消除了幻觉。然而,在更具挑战性的评估和实际使用中,准确率的上限低于100%,因为有些问题的答案由于各种原因无法确定,例如信息不可用、小模型的思考能力有限或需要澄清的模糊之处。
尽管如此,仅关注准确率的排行榜主导了榜单和模型卡片,激励开发者构建倾向于猜测而不是有所保留的模型。这就是为什么即使模型变得越来越先进,它们仍然会产生幻觉,自信地给出错误答案而不是承认不确定性的原因之一。
一种更好的评估评分方式
Section titled “一种更好的评估评分方式”有一个直接的解决方法。对自信的错误给予比不确定性更大的惩罚,并对适当表达不确定性给予部分分数。这个想法并不新鲜。一些标准化考试长期以来一直使用对错误答案进行负分标记或对留空问题给予部分分数的方式来抑制盲目猜测。一些研究小组也探索了考虑不确定性和校准的评估方法。
我们的观点不同。仅仅在旁边增加一些新的、能感知不确定性的测试是不够的。广泛使用的、基于准确率的评估需要更新,以便其评分方式不鼓励猜测。如果主要的排行榜继续奖励幸运的猜测,模型将继续学习猜测。修复排行榜可以扩大幻觉减少技术的采用,包括新开发的技术和先前研究中的技术。
幻觉如何源于下一个词的预测
Section titled “幻觉如何源于下一个词的预测”我们已经讨论了为什么幻觉如此难以消除,但这些高度具体的事实不准确性最初是从哪里来的呢?毕竟,大型预训练模型很少表现出其他类型的错误,如拼写错误和括号不匹配。区别在于数据中存在什么样的模式。
语言模型首先通过预训练学习,这是一个预测大量文本中下一个词的过程。与传统的机器学习问题不同,每个陈述都没有“真/假”的标签。模型只看到流畅语言的正面例子,并且必须近似整体分布。
当没有任何被标记为无效的例子时,要区分有效和无效的陈述就加倍困难。但即使有标签,一些错误也是不可避免的。为了理解原因,可以考虑一个更简单的类比。在图像识别中,如果数百万张猫和狗的照片被标记为“猫”或“狗”,算法可以学会可靠地对它们进行分类。但想象一下,改为用宠物的生日来标记每张宠物照片。由于生日基本上是随机的,无论算法多么先进,这项任务总是会产生错误。
同样的原则也适用于预训练。拼写和括号遵循一致的模式,所以那里的错误会随着规模的扩大而消失。但是像宠物生日这样的任意低频事实,无法仅从模式中预测,因此会导致幻觉。我们的分析解释了哪些类型的幻觉应该会从下一个词的预测中产生。理想情况下,预训练之后的进一步阶段应该消除它们,但由于上一节描述的原因,这并不完全成功。
结论与澄清的误解
Section titled “结论与澄清的误解”我们希望我们论文中的统计视角能够澄清幻觉的本质,并反驳一些常见的误解:
- 主张: 幻觉将通过提高准确性来消除,因为一个100%准确的模型从不产生幻觉。
发现:准确率永远不会达到100%,因为无论模型大小、搜索和推理能力如何,一些现实世界的问题本质上是无法回答的。 - 主张:幻觉是不可避免的。
发现: 并非如此,因为语言模型在不确定时可以拒绝回答。 - 主张: 避免幻觉需要一定程度的智能,而这种智能只有更大的模型才能实现。
发现: 对小模型来说,了解其局限性可能更容易。例如,当被要求回答一个毛利语问题时,一个不懂毛利语的小模型可以简单地说“我不知道”,而一个懂一些毛利语的模型则必须确定其置信度。正如论文中所讨论的,要做到“校准”所需的计算量远小于做到准确。 - 主张:幻觉是现代语言模型中一个神秘的故障。
发现:我们理解幻觉产生并受评估奖励的统计机制。 - 主张:要衡量幻觉,我们只需要一个好的幻觉评估。
发现:幻觉评估已经发布。然而,一个好的幻觉评估在数百个惩罚谦逊、奖励猜测的传统基于准确率的评估面前效果甚微。相反,所有主要的评估指标都需要重新设计,以奖励不确定性的表达。
我们最新的模型具有更低的幻觉率,我们将继续努力进一步降低我们语言模型输出的自信错误的发生率。
原文: Why language models hallucinate
如果鼓励 LLM 老实回答不知道,是否会限制 LLM 的想象力、创新力?@bdtgzj