Why Language Models Hallucinate
Paper: arXiv:2509.04664 PDF: arXiv PDF Official article: OpenAI: Why language models hallucinate Code search:
代码搜索未找到开源实现。已检索 arXiv 页面、"Why Language Models Hallucinate" GitHub、"2509.04664" GitHub、"Why Language Models Hallucinate" code、gh search code与gh search repos;命中的GED-DO/Lithium-Validation是基于该论文的第三方验证框架,不是论文官方实现或可复现实验代码。
1. Motivation (研究动机)
这篇论文要解释的不是“模型为什么偶尔会犯错”这个泛泛问题,而是一个更具体的现象:在用户明确希望模型只在知道时作答的场景里,先进语言模型仍会生成具体、流畅、看似可信但事实错误的陈述。作者把这类输出称为 hallucination 的重要特例,并把问题拆成两个阶段:第一,预训练为什么会自然地产生“看起来像事实的错误”;第二,后训练和评测为什么没有把这些错误充分压下去,甚至会持续奖励猜测行为。
论文开头用 Adam Tauman Kalai 本人的博士论文题目与生日作为例子。不同模型在未联网时会给出互相矛盾的博士论文题目、学校、年份;另一个开源模型在作者生日问题上三次输出了不同日期,而真实答案只应被粗略地定位在秋季。这个例子强调了两个点:一是 hallucination 往往不是语法或格式错误,而是高流畅度的具体事实错误;二是模型并非只是“不知道”,而是在不知道时选择了一个可评分的、具体的候选答案。
既有幻觉研究常把重点放在“做一个更好的 hallucination eval”“让模型更大、更会推理”“改进事实核查或 RAG”上。本文认为这些都不够,因为主流训练与评测链条本身会把 guessing 伪装成能力:在 accuracy、pass rate、exact match、unit-test pass 这类二元指标里,I don't know 与错误答案同为 0 分,而随机猜测至少有非零概率得分。只要排行榜主要按这类分数排序,开发者就会倾向于优化“像考试一样作答”的模型,而不是优化“知道边界时承认不确定”的模型。
作者因此把 hallucination 重新表述为一个统计学习问题。预训练阶段,语言模型只看见大量“正例”文本,并通过 next-token likelihood 学习分布;它没有天然获得一套“哪些 plausible 语句是 false”的负例标签。若某些事实本身缺乏可学习规律,例如低频任意事实、生日、个人履历细节,模型即使在无噪声语料上训练,也会因为概率建模与校准压力而把一部分错误字符串放进高概率区域。后训练阶段,本应把 base model 调整成更安全的回答者,但如果主要评测仍然惩罚 abstention,那么“承认不知道”的策略会在 leaderboard 上被劣化。
这篇论文的重要性在于,它把 hallucination 从神秘的工程 bug 转成可推导的 incentive + statistics 问题。若该解释成立,减少 hallucination 的关键不只是添加新的专用幻觉测试,而是修改现有主流 benchmark 的 scoring:让错误比不确定更贵,让模型在低置信度时有制度化的收益去 abstain、hedge、ask clarification 或给出更弱的表述。换句话说,论文的目标不是提出一个新的模型架构,而是给出“为什么当前训练/评测生态会稳定地产生幻觉”的理论机制,并指出需要从评测激励层面修复。
2. Idea (核心思想)
核心洞察可以压缩成三句话:预训练 hallucination 可以被还原为 Is-It-Valid 二分类错误;若一个模型无法可靠区分 plausible falsehood 与 valid statement,那么它在生成时也会把一部分 falsehood 采样出来。后训练阶段的问题则是,二元评分把 abstention 当作 0 分,使得任何非零置信度的猜测都可能在期望分上优于 IDK。因此,幻觉不是单一“模型不够聪明”的症状,而是“统计上难以学到的事实 + 评测上奖励猜测”的组合结果。
与常见思路相比,本文的差异在于它并不把解决方案主要放在新 detector、新 RAG 管线或更大模型上。那些方法可能降低一部分错误,但只要主榜仍按 accuracy-only 或 pass/fail 排名,低置信度作答仍会被奖励。本文提出的更根本修改是 confidence-aware evaluation:在评测题目或系统消息中显式写明置信度阈值,例如只在置信度超过 时作答,错误扣 分,正确得 1 分,不知道得 0 分。这样模型才有稳定激励在低置信度时不猜。
本文的理论结构分为两条链。第一条链从 pretraining 出发:定义有效字符串集合 、错误字符串集合 、plausible 字符串集合 ,把语言模型的概率 通过阈值转成 IIV 分类器,然后用二分类误差下界推出生成错误下界。第二条链从 post-training/eval 出发:定义二元 grader 与 abstention 集合 ,证明在这种评分下最优响应不会是 abstention,再用主流 benchmark 的 meta-evaluation 说明当前 leaderboard 的激励确实偏向猜测。
3. Method (方法)
3.1 总体框架:从生成错误到 Is-It-Valid 分类
Figure 1 解读:左侧把生成问题转成“这个候选输出是否有效”的二分类任务。有效输出来自真实训练分布,错误输出来自 plausible but invalid 的集合;模型若能生成可靠答案,隐含地也必须能把候选字符串分成 valid 与 error。右侧展示二分类错误的三类来源:可分模式(如拼写)容易学好;模型类不合适时会产生 poor-model error;事实没有简洁模式时,即使模型足够强也会面对任意事实的 epistemic uncertainty。作者借此说明 hallucination 并不神秘,它继承了监督学习中已知的误差来源。
形式化地,在无 prompt 的简化设定里,设 是所有 valid examples, 是错误 examples, 是 plausible strings。训练分布 只支持 ,即 ;base model 给出 。生成错误率可以理解为模型分布落入错误集合的概率: IIV 分类任务则把 valid 样本标成 ,把从 均匀抽取的错误样本标成 ,形成 50/50 的二分类数据。关键构造是把语言模型变成分类器:若 ,就判为 valid,否则判为 error。这个阈值的直觉是:若错误集合很大,均匀随机错误的单点概率约为 ;模型给某个候选字符串的概率高于这个错误基线,就相当于把它当成较可信的 valid 输出。
论文给出的无 prompt corollary 是: 其中 是上述 IIV 分类器的误分类率,,。带 prompt 的主定理把每个 prompt 的有效响应集合 与错误响应集合 纳入,得到: 其中 。这个不等式的含义是,只要 IIV 任务本身难、valid choices 相对少、错误候选集合很大且校准偏差 不大,生成错误就有下界。对 hallucination 来说, 可以取“包含一个或多个 plausible falsehood 的生成”,于是二分类错误会转化为具体的幻觉输出。
直觉上,生成比判别更难。一个模型若要生成“Adam Kalai 的博士论文题目”这种事实,需要在海量 plausible titles 中选中唯一或极少数 valid answers;若它连给定候选标题是否有效都无法判别,那么在生成时就更不可能稳定避开错误标题。IIV reduction 的价值不是给出一个可直接训练的分类器,而是提供错误来源的显微镜:哪些事实在二分类里不可分,哪些 hallucination 在生成里就不可避免地出现。
3.2 为什么交叉熵与校准会让错误显现
论文进一步解释 为什么通常不会很大。对 base model 来说,预训练目标是最小化 negative log-likelihood / cross entropy。作者考虑对模型概率做一个简单 rescaling:,并观察在 处 loss 对 的导数。若 很大,就存在某个缩放方向能降低 loss,因此局部最优附近的模型会倾向于让这种阈值层面的校准误差变小。
这与 hallucination 的关系很微妙。校准并不等于不出错;一个 calibrated base model 仍会给许多低频任意事实分配非零概率。对于生日这类 365 选一且训练证据稀缺的问题,模型可以“平均而言校准”,但一旦被迫输出单个具体日期,就会把概率质量转化成一个具体错误。也就是说,pretraining 的 likelihood 目标会推动模型学习分布,而不是学习“在无法区分时拒答”的策略。


Figure 2 解读:这组图重印自 GPT-4 Technical Report 的 calibration histogram。左图表示 pretrained model 在多选题上的校准较好;右图表示 reinforcement learning / post-training 后校准形态发生变化。本文用它支持一个区分:base model 的 likelihood training 可以带来某种概率校准,但 post-training 为了对齐人类偏好与 benchmark performance,可能把模型推向更像“考试选手”的行为。校准、准确率与低幻觉率三者不是同一目标。
3.3 任意事实:singleton rate 给出的 hallucination 下界
作者用 arbitrary facts 模型刻画“没有简洁规律的事实”。设每个 prompt 有一个随机答案 ,答案在 prompt 之间相互独立。训练集中某些 prompt 只出现一次且不是 IDK,这些 singleton 表示训练数据里仍有大量“只见过一次或未见过”的事实质量。论文定义 singleton rate:若 是训练集中 exactly once 出现且非 abstention 的 prompt 集合,训练样本数为 ,则 这个量来自 Good-Turing missing mass 思想:样本里只出现一次的项目比例可以估计仍未充分覆盖的概率质量。直观地,如果一个事实在语料中只出现一次,那么模型很难区分它是稳定事实、偶然上下文还是噪声;若未来出现大量类似任意事实,模型会在这些区域持续猜测。
Theorem 2 给出 arbitrary facts 模型中的双边结果。任意算法用 个训练样本输出 ,则以至少 99% 概率有: 同时存在一个有效算法输出 calibrated (),使得以至少 99% 概率: 这说明 arbitrary-fact hallucination 的主导项是 singleton rate,而不是模型规模本身。若训练数据仍有大量低频事实,且错误候选很多,那么“更好地拟合分布”并不会自动产生“知道自己不知道”的生成策略。更大的模型可能更会表达事实,但也可能在更多难题上形成看似合理的具体猜测。
3.4 Poor-model error、计算困难、分布偏移与 GIGO
任意事实只是一个误差来源。论文还讨论 poor model:模型族或当前模型无法表示正确规律,即使目标函数有规律也会错。Theorem 3 研究 pure multiple-choice 情况:每个 prompt 只有一个 valid answer,令 为选项数,则 这里 表示给定模型类下 IIV 分类的最优误差。作者用 trigram language model 举例:只看前两个词的模型无法区分 “She lost it and was completely out of …” 应接 “her mind” 还是 “his mind”。在两个 prompt 均匀分布的二选一情形下,trigram 的生成错误率至少为 。这类错误不是任意事实,而是表示能力或上下文窗口不足导致的结构性错误。
Letter-counting 例子也被归入 poor-model/representation issue。现代 tokenizer 可能把 DEEPSEEK 切成较粗的 token,而不是逐字符表示;如果模型没有显式推理或外部工具,就可能在数 D 的任务上失败。reasoning model 可以通过逐字符展开缓解这种表示缺陷,但这并不推翻主论点:不同 hallucination/错误来源对应不同统计因素,不能都归结为“模型不够大”。
此外,论文列出三类额外因素。第一是 computational hardness:有些查询在计算复杂性上不可解或不可高效求解,例如要求解密某个密文;合理行为应是 IDK。第二是 distribution shift:训练分布和测试 prompt 不一致,例如 trick question 或 OOD 表述。第三是 GIGO(garbage in, garbage out):训练数据中存在误解、阴谋论或错误知识时,模型会学习并复现这些模式。后训练能减少一部分 GIGO 错误,但不一定能解决任意事实和评测激励问题。
3.5 后训练与评测:二元评分为什么奖励猜测
在 post-training 部分,作者不再只问“错误从何而来”,而是问“为什么模型不直接说不知道”。设 prompt 为 ,plausible responses 为 ,abstention responses 为 ,grader 。若 grader 是二元的,即分数只有 或 ,并且所有 abstention 都得 ,那么测试者在不知道正确答案但知道评分规则时,最优策略不会是 abstention。
Observation 1 写成公式是:对任意 prompt 和测试者关于正确 grader 的后验分布 , 证明很直接:若 IDK 得 0,而至少有某个 plausible answer 在后验下有正概率得 1,那么猜那个 answer 的期望分就大于 IDK。这个结果把“考试模式”形式化了。它不依赖模型是否有 RAG、是否经过 RLHF、是否会推理;只要主评分规则把不确定与错误同罚,模型就有激励输出它的 best guess。
论文建议把 confidence target 显式写进评测指令。例如:仅当置信度 时回答;正确答案得 1 分,错误扣 分,I don't know 得 0 分。自然阈值包括 (错误扣 1)、(错误扣 2)、(错误扣 9)。当 时退化成二元 accuracy-only grading,相当于告诉模型“即使不确定也猜”。显式阈值使模型可以学习 behavioral calibration:不是必须输出一个概率数字,而是只在回答本身达到目标置信度时给出具体内容。
3.6 伪代码:论文机制的可执行化理解
论文没有发布官方代码,以下伪代码不是源代码复现,而是把论文的两个核心机制转成可执行流程,便于理解 proof object 与 evaluation redesign。
# Pretraining-side reduction: language model -> Is-It-Valid classifier
# Inputs:
# V_c: valid responses per prompt c
# E_c: plausible error responses per prompt c
# p_hat(r | c): base model probability
# K = min_c |E_c|
# Output:
# lower bound relating generation error to IIV error
def iiv_classifier(c, r, p_hat, K):
threshold = 1.0 / K
return "+" if p_hat.prob(r, given=c) > threshold else "-"
def estimate_iiv_error(samples, p_hat, K):
# samples are balanced valid/error candidates labeled + or -
mistakes = 0
for c, r, label in samples:
pred = iiv_classifier(c, r, p_hat, K)
mistakes += int(pred != label)
return mistakes / len(samples)
def generation_error_lower_bound(err_iiv, max_valid, min_error, delta):
return 2 * err_iiv - (max_valid / min_error) - delta# Post-training-side incentive: binary grader selects guessing over abstention
# Inputs:
# responses: plausible answers plus abstentions
# abstentions: e.g. {"I don't know", "not enough information"}
# posterior_expected_score(r): model/test-taker belief about binary grader
# Output:
# best response under current leaderboard scoring
def choose_binary_eval_response(responses, abstentions, posterior_expected_score):
# abstentions all receive score 0 by definition of the binary rubric here
scored = [(r, posterior_expected_score(r)) for r in responses]
best_r, best_score = max(scored, key=lambda x: x[1])
if best_score > 0:
return best_r # a concrete guess beats IDK
return next(iter(abstentions))
def choose_confidence_target_response(candidate, confidence, t):
# correct +1, wrong -t/(1-t), IDK 0
if confidence > t:
return candidate
return "I don't know"3.7 代码搜索与 source-code mapping 状态
| Search target | Evidence | Decision |
|---|---|---|
| arXiv abstract page | 页面未提供 GitHub、Code、Project 链接 | 无官方代码入口 |
| Web search: title / arXiv id / code | 命中论文、OpenAI article、新闻/摘要页面;未命中官方 repo | 无可用实现 |
gh search code "2509.04664" | 命中 arXiv metadata / paper digest 类文件,非实现 | 不作为 code reference |
gh search repos "Why Language Models Hallucinate" | 命中 GED-DO/Lithium-Validation,描述为基于论文的第三方 validation framework | 不是论文官方实现 |
| Source-code mapping table | 论文是理论与评测激励分析;无训练脚本、模型定义、实验配置 | 本笔记不设置 github_ref,不写 paper-to-code mapping |
4. Experimental Setup (实验设置)
本文不是模型训练论文,因此没有新的训练数据集、训练脚本、学习率、batch size、GPU 数、checkpoint 或 ablation 实验。它的“实验设置”主要由三部分组成:理论设定、示例/图表证据、主流 benchmark 的 meta-evaluation。
理论设定方面,pretraining 分析假设训练数据只包含 valid examples,即 ,然后人为构造 IIV 二分类任务:valid examples 标为 ,从 error set 均匀抽取的 plausible errors 标为 。在带 prompt 的一般情形中,每个 prompt 有 valid responses 、error responses 、abstention/IDK 以及 prompt distribution 。主要指标包括 generation error 、IIV misclassification 、校准偏差 、singleton rate 和模型类最优分类误差 。
示例证据方面,Table 1 使用 2025-05-09 访问的 ChatGPT / GPT-4o、DeepSeek app、Llama-4-Scout-17B-16E-Instruct 对 “What was the title of Adam Kalai’s dissertation?” 的回答片段。三者都没有联网,且都没有生成正确题目或年份。论文另提到 2025-05-11 访问 DeepSeek-V3 时,在作者生日问题上三次输出了不同的错误日期。Figure 2 使用 OpenAI 2023 GPT-4 Technical Report 的 calibration histograms,作为 pretraining 与 RL/post-training 校准差异的示例,而非本文新训练的结果。
评测设置方面,作者分析的是主流 leaderboard 中的主要 scoring rules,而不是重新跑模型。Table 2 覆盖的 benchmark 包括 GPQA、MMLU-Pro、IFEval、Omni-MATH、WildBench、BBH、MATH Level-5 split、MuSR、SWE-bench、HLE。列项包括 scoring method、是否二元评分、IDK 是否有 credit。大多数 benchmark 的 primary metric 是 multiple-choice accuracy、exact/equivalence grading、programmatic verification 或 unit-test pass,因此对 abstention 没有 credit。
可对比的“baseline”不是某个模型,而是三类评测制度:第一,accuracy-only / pass-fail 二元评测,这是论文批评的默认制度;第二,单独增加 hallucination eval,这是作者认为不足以抵消主榜激励的制度;第三,explicit confidence target / error penalty,这是作者建议的修正制度。OpenAI 官方文章还给出 SimpleQA 示例:gpt-5-thinking-mini 的 abstention / accuracy / error rate 为 52% / 22% / 26%,OpenAI o4-mini 为 1% / 24% / 75%。若只看 accuracy,o4-mini 略高;若把 error rate 当作 hallucination,则前者显著更可靠。这个示例与论文主张一致:accuracy 不能单独代表可信度。
本文没有硬件与超参数,因为没有训练新模型;也没有可复现代码仓库。因此记录实验配置时应避免虚构训练细节。真正可复现的是:阅读 arXiv source/PDF、验证图表来自源文件、复核表格列出的 benchmark scoring、复核 GitHub/code search 没有官方实现。
5. Experimental Results (实验结果)
5.1 理论结果:pretraining 错误不是神秘 bug
主要理论结论是生成错误与 IIV 分类错误之间存在下界联系。无 prompt 版本给出 ;带 prompt 的 Theorem 1 给出 。该结果说明:如果某类 plausible falsehood 与 truth 在统计上难以区分,那么只要模型被要求生成而不是拒答,错误就会以生成概率的形式出现。
Theorem 2 进一步把 arbitrary fact hallucination 和 singleton rate 联系起来。下界的主项是 ,即训练集中只出现一次的 prompt 比例;修正项包括 、 和 。这解释了为什么生日、个人履历、罕见实体属性等事实容易出错:不是所有这类事实都有可泛化规律,且许多只在语料中低频出现。更大的数据和模型会降低某些误差,但只要 missing mass 仍存在,低频 arbitrary facts 就会留下幻觉空间。
Theorem 3 则说明 poor-model error 也能转化成生成错误。在 pure multiple-choice 中,如果模型类对 IIV 的最佳误差是 ,生成错误率至少是 。trigram 例子把这一点具体化:短上下文模型无法用前两个词区分性别代词,二选一时错误率至少 。这个结果把早期 n-gram 的语法/搭配错误与现代 LLM 的某些表示错误放到同一理论框架下。
5.2 后训练结果:主流 benchmark 的 scoring 大多惩罚不确定性
Observation 1 是 post-training 部分的核心结果:在 binary grader 且 abstention 得 0 的设定下,最优响应不会是 abstention。这个结论看似简单,却直接解释了为什么 RLHF、instruction tuning 或 leaderboard optimization 难以自动消灭幻觉。只要外部目标函数把“错误”和“不知道”都归为 0 分,模型就会学习到“猜测有上行收益,拒答没有”的策略。
Table 2 的 meta-evaluation 支持这个判断。GPQA 和 MMLU-Pro 使用 multiple-choice accuracy,IDK 没有 credit;IFEval 使用程序化 instruction verification,聚合多个二元 rubric;Omni-MATH 和 HLE 大量使用 equivalence grading;BBH、MATH Level-5、MuSR 主要按 multiple-choice 或 exact match;SWE-bench 以 patch 是否通过 unit tests 计分。WildBench 虽非严格二元,但其 1-10 rubric 可能让 IDK 低于“包含事实错误但有一定帮助”的回答,因此也可能奖励猜测。
这导致一个重要结论:仅增加一个高质量 hallucination eval 不足以改变整体行为。若模型卡和排行榜最终报告的是几十或几百个 accuracy-like 指标的平均表现,开发者仍会面对“承认不知道会掉分”的选择。论文称这是 socio-technical problem:技术上可以设计更合适的评分,但是否采用取决于社区、leaderboard、模型卡和采购方共同改变评价制度。
5.3 显式置信度目标的效果与含义
论文的具体建议是把 confidence target 写入评测,而不是只在后台计算一个 hallucination score。若题目说明“只有置信度超过 才回答;错扣 ,对得 1,不知道 0”,那么模型或测试者的最优策略就从“任意正概率都猜”变成“只有置信度超过阈值才答”。例如 时,错误扣 2 分;一个只有 60% 把握的答案期望分为 ,低于 IDK 的 0,因此应拒答。
这种机制的优点是客观、可审计、容易嵌入现有 benchmark。它不要求模型输出“我有 73.2% 置信度”这种不自然语言,而是要求行为上满足 calibration:不同 下的回答集合应呈现合理的 accuracy/error tradeoff。OpenAI 官方文章中的 SimpleQA 表格正好说明这种 tradeoff:更谨慎模型 accuracy 可能略低,但 error rate 大幅降低;若业务风险更看重错误成本,单看 accuracy 会选错模型。
5.4 局限性与未覆盖问题
作者明确承认其形式化是简化的。第一,分析只考虑 plausible strings ,基本忽略 nonsense strings。对现代 LLM 来说这可以接受,因为高质量模型很少输出无意义字符,但它仍然不是所有生成错误的完整模型。第二,correct / error / IDK 是 false trichotomy:现实回答可以部分正确、过度具体、遗漏限定条件、带 hedge、提问澄清或给出多候选。论文选择这个三分法,是为了给主流 benchmark 一个可操作的最小修正,而不是声称语言实践只有三类。
第三,confidence target 不能替代事实核查、RAG、工具调用、uncertainty estimation 或更好的训练数据。它解决的是 scoring incentive,而不是所有知识缺口。例如 GIGO 错误仍需要数据清理与事实纠偏;计算困难任务仍可能需要工具;分布偏移需要 robust evaluation。第四,论文没有给出新模型训练实验,也没有开源实现,因此它更像理论与评测制度论文,而非可直接复现的算法 pipeline。
5.5 总体结论
本文最有价值的结论是把 hallucination 分成“起源”和“存活”两个问题。起源来自 pretraining 的统计结构:对低频任意事实、poor representation、OOD、计算困难或错误训练数据,生成模型自然会产生错误概率。存活来自 post-training 与评测制度:accuracy-only benchmark 把模型放进永远考试的状态,猜测在期望分上优于不确定。
因此,降低 hallucination 的路线不应只问“怎样让模型更准确”,还要问“评分制度是否允许模型不知道”。如果主流 leaderboard 把错误与 abstention 区分开,把错误成本显式写入题目,并给予合适的不确定性 credit,那么已有的校准、拒答、检索、工具调用与安全训练方法才会被主目标函数真正鼓励。本文对 LLM theory 的贡献不在于复杂模型结构,而在于给 hallucination 提供了一个可证明、可解释、可落地到 benchmark design 的统计激励框架。