OpenAI新论文:Why Language Models Hallucinate

发布于:2025-09-08 ⋅ 阅读:(12) ⋅ 点赞:(0)

幻觉(hallucination)是指模型自信地输出不真实的事实。OpenAI 的论文从统计学视角把幻觉分解为两类根源:

  1. 预训练阶段的统计限制 —— 基于“下一个词预测”的训练无法可靠地从语言模式中推断出那些在训练语料中稀有或本质上任意的事实;
  2. 后续评估/奖励的激励机制 —— 现有的 benchmark 和评分方式偏好“猜测得到正确答案”,而不是奖励模型在不确定时选择“我不知道”或请求澄清。

简单来说就是:标准的训练和评估程序更倾向于对猜测进行奖励,而不是在模型勇于承认不确定时给予奖励。

因此,除了继续改进模型本身,更关键也更有杠杆作用的做法是改变评测与奖励机制,让“诚实地承认不确定”在分数体系中得到合理的待遇,从而倒逼模型在产品里表现得更可信。

一、一个让人哭笑不得的示例

幻觉并不是语法或拼写错误,而是真正编造事实。论文列举了实际例子:当询问不同聊天机器人关于学者 Adam Tauman Kalai 的博士论文题目或生日时,它们可能自信地给出三个互不相同且都错误的答案——每个答案都听起来合理,但都不是真的。

(示例图片来源:用户提供)
示例:不同模型给出不同但都不正确的论文题名
示例:关于生日的多个错误答案

这类错误在产品环境中会严重损害用户信任,尤其当应用场景对事实准确性高度敏感(法律、医疗、金融)时,后果尤为严重。

二、为什么会出现幻觉?

2.1 预训练的统计学限制:下一个词预测不是“真值学习”

大规模语言模型的预训练任务通常是预测下一个词(或在某些变体上对掩码词建模)。这种训练目标使模型学会语言的分布式统计规律:哪些词在给定上下文下更可能出现。重要的但常被忽视的一点是——训练数据没有“真/假”标签,模型并不直接被训练成一个事实判别器。

因此,对于那些在语料中极其稀有或只出现一次(singleton)的事实,模型没有足够的统计证据去“确定”真相。论文把这类稀有事实的比率(singleton rate)形式化,并证明这会给幻觉率带来下界——即便模型容量再大、推理越强,这类由数据稀疏引起的错误也不会完全消失。通俗一点:模型能学会拼写和语法的规律,但无法凭语言模式可靠地“发明”一个真实但在数据里根本没法学到的事实(例如确切的某人生日或不常见的论文题目)。

比喻:如果你只给机器看了大量宠物照片并标注“猫/狗”,它能学会分类;但如果你要求机器从照片推断“宠物的生日起源”,这是几乎随机的,统计无从决定,错误必然存在。

2.2 评测与奖励机制的“坏激励”:鼓励猜测而非谦逊

更重要的一个发现是:许多主流评测(benchmark)和训练微调流程(例如用准确率作为主要指标、RLHF 中人类偏好数据的收集方式)偏好猜测。原因很直接:在多数多项选择或问答评分体系中,猜一个答案有机会得分(即便概率很小),而选择“我不知道”一般得不到分数或被视为 0。这就像考试中把填空题设为“要么对要么错,空着肯定零分”——长期看,猜测策略在排行榜上更能取得好成绩。

OpenAI 在论文中指出:这种评测导向会在后训练阶段放大模型在不确定情况下“自信猜测”的行为,使得即使模型变得更先进,幻觉问题仍然顽固存在。

三、论文要点

  • IIV 归约(Is-It-Valid):论文把“生成是否有效/真实”的问题形式化为二元分类问题,并用统计量给出生成错误率与 IIV 误判率之间的联系,从而把幻觉解释为可量化的统计现象。
  • singleton rate 与幻觉下界:训练语料中只出现一次或极少次数的事实会导致基础幻觉率的下界。换言之,数据稀疏性决定了一部分不可避免的幻觉率。
  • 评测设计的杠杆效应:如果 benchmark 只看准确率,会无意中奖励“策略性猜测”;相反,引入置信阈值、对错误更严厉惩罚、或对弃权/恰当表示不确定的行为给予部分加分,会改变模型被优化的方向。
  • 误区澄清:论文驳斥了一些常见误解,例如“只要准确率够高就不会幻觉”或“幻觉是完全不可避免且只会被更大型号所解决”。真实情况更微妙:准确率永远无法达到 100%,而小模型在某些情形下可能更容易承认不知道,因为它们根本不会学到半吊子的事实。

四、为什么“做更大模型”不是灵丹妙药?

直观上人们认为提高模型规模、改进推理或增加检索能力就能根治幻觉,但论文提醒我们两个关键点:

  1. 信息是否存在于训练集:若某个事实在训练数据中极度稀有或根本不存在,再强的模型也无法“凭空”推断真相。
  2. 模型行为受评测目标驱动:即便模型具备更强的推理能力,若训练/微调环节仍然以准确率为王,模型仍会学到“在不确定时猜测能提高排行榜分数”的策略。

因此,除非同时改变训练与评测范式,单纯靠规模提升很难从根本上根除幻觉。

五、可落地的缓解方向

A. 评测与训练层面的关键杠杆

  1. 修改 benchmark 的评分规则

    • 对“自信错误(confident error)”施以更重的惩罚;对合适的弃权(明确表示“不知道”或请求澄清)给予部分加分或不扣分。
    • 实施方式示例:只有当模型置信度 ≥ t 时计为“回答”,否则视为弃权;对不同 t 计算准确率/错误率曲线并纳入模型报告。
  2. 把“行为校准(behavioral calibration)”纳入常规指标

    • 报表除了准确率外,还报告“在各置信阈值下的答题率、错误率与弃权率”。将“恰当弃权率”写入模型卡。
  3. 在人类反馈(RLHF / DPO)中明确奖励退缩/澄清行为

    • 在收集偏好数据时,让 annotator 对“诚实地说不知道或请求澄清”给予正向评分,把“自信但错误”的回答标为差,从而引导策略学习。
  4. 数据策略:减少 singleton 事件

    • 有针对性地补采、去重、链接知识库,增加低频事实的覆盖率;把 singleton rate 作为数据质量指标纳入监控。

B. 产品与系统层面

  1. 默认退缩/澄清优先

    • 产品端遇到低置信事实类查询,默认返回“我不确定/我需要查证”或先进行检索并展示证据。
  2. 强制证据与来源显示

    • 对事实性陈述要求显示来源或检索到的证据片段,增加可审计性。
  3. RAG + 校准化 LM 的混合策略

    • 只有在检索到高质量证据时才直接回答;否则退回“需要查询”。
  4. 监控与数据回流

    • 记录“低置信回答被用户纠正/标注为错误”的事件,将这些样本优先用于数据修正与微调。

六、实操实验建议

如果你想在内部验证论文结论或快速看到效果,下面是三个建议实验:

  1. 置信阈值实验(confidence thresholding)

    • 对模型每次输出采集置信度(如 softmax 最大值或经温度校准后的概率),设置 t={0.5,0.7,0.9}。分别计算在每个 t 下的答题率(置信≥t 才计)、错误率与弃权率,绘制答题率 vs 错误率曲线。观察“猜测型”与“退缩型”策略的 trade-off。
  2. 估算 singleton rate

    • 在训练语料或产品日志上统计事实性实体/属性对只出现一次的比例(例如实体—事实串只见一次)。把该比率与模型在对应事实类的错误率做相关分析,验证两者关联性。
  3. A/B:奖励改动效果(小规模 RLHF)

    • 设计两套偏好数据:一套按传统准确率偏好;一套把“诚实弃权/请求澄清”打高分。分别微调两个策略(或在 RLHF reward 上做不同权重),比较在线环境中的幻觉率与用户满意度差异。

七、结语:从“更聪明”到“更可信”

OpenAI 的这篇论文把幻觉问题从“黑盒的工程难题”提升到可以被统计学和评测设计分析的层面。关键启示是:我们如何衡量模型,会直接影响模型学到什么行为。如果评分体系继续奖励“猜对一次的运气”,我们就会得到“自信的错误”;如果评分体系同时奖励“恰当的弃权与证据”,模型将学会更谨慎、更值得信任。

面对现实的产品需求,短期最可行且影响大的动作,是在评测与人类反馈环节改奖励,同时在产品侧默认“退缩优先 + 证据优先”的交互设计。长期看,我们还需要在数据采集、知识库建设与开放标准上做更多工作,才能把幻觉问题持续压低并提高 AI 系统的可验证性与可用性。

论文地址

论文标题:Why Language Models Hallucinate
论文地址:https://cdn.openai.com/pdf/d04913be-3f6f-4d2b-b283-ff432ef4aaa5/why-language-models-hallucinate.pdf


网站公告

今日签到

点亮在社区的每一天
去签到