论文:https://openai.com/index/why-language-models-hallucinate/
《Why Language Models Hallucinate》深入探究了语言模型产生幻觉(即生成错误或无依据内容)的原因,可从预训练、后训练(微调等)以及评测体系三个核心维度总结:
预训练阶段
语言模型的幻觉起源于预训练过程。预训练的目标是让模型学习文本在训练数据里的概率分布规律,但生成文本的任务本身比判断文本对错更难。即使使用完全无错误的数据训练,由于“生成任务难度高于判断任务”的本质,模型在预训练阶段就会出现误差。例如,对于无规律的事实(如个人生日)或模型能力不足的任务(如复杂计数),模型难以精准生成正确内容,自然产生幻觉。
后训练阶段(微调等)
后训练本应修正预训练的问题,减少幻觉,但实际效果不佳。关键原因是当前主流的模型评测体系存在缺陷,几乎都采用“非对即错”的二元评分,且不奖励“表达不确定性(如回答‘不知道’)”的行为。这种规则下,模型“猜测答案”比“承认不知道”更易获得高分,导致微调不仅没抑制幻觉,甚至可能使其加剧。
解决方向
要减少语言模型的幻觉,需从评测体系入手。对主流评测指标进行简单修改,明确告知模型“在多大把握下应回答,答错、答对及回答‘不知道’的得分规则”,让“诚实表达不确定性”比“盲目猜测”更有收益。例如,设置置信度阈值,当模型把握不足时,回答“不知道”不会丢分,答错则扣分,以此引导模型更谨慎地生成内容,为打造更精准、具备丰富语用能力的语言模型开辟道路。
1 核心研究背景与问题定义
一、核心内容总结
(一)幻觉问题的定义与现状
幻觉的本质:语言模型会生成“过度自信、看似合理却错误”的内容,这种错误模式被称为“幻觉”。需注意的是,它与人类因感知偏差产生的幻觉完全不同,是模型在信息处理过程中特有的错误输出。
问题的普遍性:即便在最先进的语言模型中,幻觉仍未被解决(如OpenAI 2025a相关研究提及)。文中用两个典型案例佐证:
针对“Adam Tauman Kalai的生日(仅知晓时以DD-MM格式回复)”的提示,某开源大模型三次输出错误日期(03-07、15-06、01-01),且正确日期实际在秋季;
针对“Adam Kalai博士论文标题”的查询,ChatGPT、DeepSeek、Llama三款主流模型均生成错误信息,包括错误的标题、毕业院校(如哈佛、MIT,实际为CMU)和毕业年份(如2005、2007,实际为2001),充分体现幻觉的误导性。
幻觉的分类:结合现有研究(Maynez et al., 2020; Ji et al., 2023),将幻觉分为两类:
内在幻觉:与用户提示直接矛盾的内容。例如询问“DEEPSEEK中有几个字母D”,DeepSeek-V3、Meta AI、Claude 3.7 Sonnet等模型多次输出2、3甚至6、7等错误答案;
外在幻觉:与训练数据或外部现实矛盾的内容,如模型编造不存在的学术经历、事实数据等。
(二)研究的理论框架与前提
核心概念界定:为量化分析幻觉,文中定义了三个关键集合:
合理字符串集合X:模型生成的、符合语言逻辑的内容(排除无意义乱码);
有效内容集合V:X中符合事实或逻辑的部分;
错误内容集合E:X中不符合事实或逻辑的部分;
而“幻觉”特指E中“看似合理的虚假信息”,是错误的特殊类型。
研究的核心视角:借助计算学习理论(Kearns and Vazirani, 1994)分析幻觉,且不依赖特定模型架构(如下一词预测、Transformer),仅聚焦现代语言模型训练的两大阶段——预训练(pretraining)和后训练(post-training),确保分析的通用性。
关键前提假设:
即便训练数据完全无错误,模型训练的优化目标仍会导致错误生成;若训练数据含错误(现实中普遍存在),错误率会更高;
分析覆盖推理型、检索增强型等各类语言模型,且将“提示词(prompt)”纳入框架——模型需针对具体提示词生成回复,这更贴近实际使用场景。
(三)幻觉成因的初步拆解:预训练与后训练
1. 预训练:错误生成的统计根源
预训练的核心任务:让基础模型学习大规模文本语料的语言分布;
错误生成的必然性:即便训练数据无错,模型仍会生成错误。原因在于:
生成有效内容比判断内容是否有效更难——生成过程需对每个候选回复判断“是否有效”,而文中将这一过程转化为“Is-It-Valid(IIV)二分类问题”(即判断某内容是否为有效输出);
数学关联:通过IIV二分类推导得出,生成错误率 ≳ 2×IIV误分类率,意味着生成任务的错误概率至少是二分类判断错误概率的两倍,从统计层面证明预训练阶段错误(含幻觉)的必然性;
预训练错误的关键影响因素:包括数据无规律(如个人生日这类无简洁模式的事实)、模型能力不足(如用线性模型拟合非线性数据)、数据分布差异等,文中后续3.3节会展开分析。
2. 后训练:幻觉持续的社会技术原因
后训练的初衷:优化基础模型,减少幻觉;
幻觉持续的核心矛盾:现有评估体系鼓励“猜测”而非“表达不确定性”。文中用“学生考试”类比:学生不确定时会猜答案(因答对得分、不答得0分),语言模型的评估也采用类似二元评分(如准确率、通过率),不奖励“我不知道(IDK)”等不确定性回复,反而奖励看似合理的猜测;
模型的“应试倾向”:若存在“对齐模型A”(能正确表达不确定性、无幻觉)和“猜测模型B”(不确定时必猜测),在现有评分体系下,模型B的表现会优于A——因猜测有机会得分,IDK则直接得0分。这种“惩罚不确定性”的导向,让模型即便经过后训练,仍会保留幻觉倾向;
现有解决方案的不足:以往研究多追求“完美的幻觉评估指标”,但文中指出,主流评估体系(如GPQA、MMLU-Pro等)仍以二元评分为主,少量幻觉评估指标无法对抗大量主流评估的导向,必须调整主流评估体系才能根治幻觉。
(四)研究的核心贡献
理论层面:建立“监督学习(IIV二分类)与无监督学习(语言模型生成)”的新型关联,将幻觉从“神秘现象”转化为可量化的统计问题,为幻觉研究提供严谨数学框架;
原因剖析层面:完整覆盖幻觉“从预训练产生到后训练持续”的全流程,既解释了预训练的统计驱动因素,又点出后训练阶段“评估体系导向”这一社会技术因素;
实践层面:提出“修改主流评估体系”的解决思路(如明确置信度阈值、允许IDK得分),为行业抑制幻觉提供可落地的方案,而非仅停留在理论层面。
二、关键概念与逻辑的通俗解释
(一)“IIV二分类”与“生成错误率”的关系
可类比为“判断菜品是否合格”与“亲自做合格菜品”的难度差异:
IIV二分类好比“美食评委判断一道菜是否合格”,只需对比标准给出“是/否”结论;
语言模型生成好比“厨师做合格菜品”,过程中需不断判断“这步操作是否符合标准”“食材搭配是否合理”,每一步的判断错误都可能导致最终菜品不合格。
文中的数学关系(生成错误率≳2×IIV误分类率),本质是说“做合格菜品的难度至少是判断菜品是否合格的两倍”,因此生成任务更易出错。
(二)“预训练错误必然性”与“无错模型”的矛盾
文中提到“始终输出IDK”或“仅复现训练语料”的模型无错误,但这两类模型无实际价值:
“始终输出IDK”的模型无法满足用户的信息需求(如用户问“地球半径”,模型仅回复IDK);
“仅复现训练语料”的模型无法泛化到新场景(如训练语料中无“2025年某新技术”,模型无法生成相关内容);
而真正有价值的语言模型需“泛化到新场景、生成有意义内容”,因此预训练阶段的错误(含幻觉)是“追求泛化能力”的必然代价。
(三)“后训练评估导向”为何是幻觉的“帮凶”
可类比为“考试评分规则对学生答题策略的影响”:
若考试规则为“答对得1分、不答得0分、答错扣1分”,学生不确定时会选择“不答”;
若规则为“答对得1分、不答得0分、答错不扣分”,学生不确定时会选择“猜答案”——因猜中得分,猜错无损失;
当前语言模型的评估规则类似后者(二元评分,答错不额外惩罚、不答得0分),因此模型会倾向于“猜答案”(即生成看似合理的幻觉内容),而非“表达不确定性”(输出IDK)。
2 语言模型幻觉领域的现有研究成果
一、分维度梳理现有研究与本文定位
(一)幻觉成因:已有研究覆盖多因素,但缺乏统一统计框架
现有研究已识别出多种导致幻觉的具体因素,Sun等人(2025)曾汇总这些因素,核心可归为三类:
模型与生成过程因素:如模型过度自信(Yin等人,2023)、解码时的随机性(Lee等人,2022)、“幻觉滚雪球”(生成的初始小错误引发后续更多错误,Zhang等人,2023)、暴露偏差(训练时“看全句”与生成时“逐词预测”的差异导致错误,Bengio等人,2015);
数据与训练因素:如长尾训练样本(少数样本训练不充分,Sun等人,2023)、虚假相关性(模型学错数据关联,如将“某人名”与“错误生日”绑定,Li等人,2022)、误导性对齐训练(后训练时对齐目标偏差,Wei等人,2023);
任务与交互因素:如反转诅咒(模型学了“A是B”却无法推导“B是A”,Berglund等人,2024)、上下文劫持(模型被输入的特定上下文误导,Jeong,2024)。
这些研究虽全面,但多聚焦“单一因素”,缺乏像本文这样“将幻觉转化为统计问题(如IIV二分类)”的统一框架,难以从根本上解释“为何幻觉在不同场景下普遍存在”。
(二)理论研究:两类核心方向,本文填补关键空白
现有与幻觉相关的理论研究主要分两类,本文均对其进行了补充或拓展:
与本文关联最紧密的“缺失质量估计”研究(Kalai与Vempala,2024)该研究的核心贡献是将“古德-图灵缺失质量估计”(用于计算“未见过的样本占比”,Good,1953)与幻觉关联,为本文“幻觉率下界”(如“仅出现一次的训练事实占比决定最低幻觉率”)提供了启发。但它存在明显局限:未考虑“不确定性表达(如IDK)”“提示词(prompt)”“后训练调整”,也未建立与监督学习的关联——而这些正是本文的核心研究内容,因此本文提出的“转化框架”将其包含为“特殊情况”,实现了理论的扩展。
“一致性与广度权衡”及“交互式学习”研究
Kalavasis等人(2025)、Kleinberg与Mullainathan(2024)的研究:提出“模型泛化时,要么幻觉(牺牲一致性),要么模式崩塌(无法生成多样内容,牺牲广度)”的固有权衡,揭示了幻觉的“必然性困境”,但未给出破解该困境的具体路径;
Hanneke等人(2018)的交互式学习:通过“询问人类判断有效性”来减少幻觉,统计效率高(需数据少),但计算效率低(依赖人工,难规模化)。本文的理论框架(如IIV二分类转化)则为“在统计层面解释权衡关系”提供了新视角,且后续提出的“修改评估体系”思路,也为破解“一致性-广度权衡”提供了可落地的方向。
(三)后训练缓解技术:多种方法有效,但存在“短期有效、长期反弹”问题
现有研究已开发出多种通过后训练降低幻觉的技术,核心包括三类:
反馈类技术:如基于人类反馈的强化学习(RLHF,Ouyang等人,2022)、基于AI反馈的强化学习(RLAIF,Bai等人,2022)——通过人类或AI对“好/坏输出”打分,优化模型;直接偏好优化(DPO,Rafailov等人,2023)——直接让模型学习“人类偏好的输出”,无需复杂的强化学习流程。这些技术已被证明能减少阴谋论、常见误解等幻觉;
微调类技术:Gekhman等人(2024)发现,针对新信息进行简单微调,初期能降低幻觉率,但后续会“反弹”,说明微调难以从根本上解决幻觉;
信号利用技术:研究发现,自然语言查询的特征(如问题类型)、模型内部激活状态(如某层神经元输出),都包含“输出是否准确”“模型是否不确定”的信号(Kadavath等人,2022);此外,模型对“语义相关问题”的回答不一致(如先答“某人生日3月”,再答“某人生日5月”),也可用于检测和缓解幻觉(Manakul等人,2023;Xue等人,2025;Agrawal等人,2024)。
这些技术虽有效,但多聚焦“如何优化模型”,而本文则补充了“评估体系优化”的视角——指出“现有评估惩罚不确定性”是幻觉持续的关键,需从“模型优化”和“评估调整”双管齐下,这是现有技术研究未充分覆盖的。
(四)评估与表达优化:幻觉评估工具难推广,不确定性表达需更细致
现有研究在“如何衡量幻觉”和“如何让模型更好表达不确定性”上也有探索,但存在明显短板:
评估工具:近期已出现综合的幻觉基准测试与排行榜(如Bang等人2025年的HalluLens、Hong等人2024年的幻觉排行榜),但推广困难——2025年斯坦福《AI指数报告》(Maslej等人,2025)指出,这些评估工具“难以在AI社区获得认可”,核心原因是现有主流评估(如准确率)仍以“惩罚不确定性”为主,少量幻觉评估难以对抗主流导向,这也印证了本文“需修改主流评估体系”的观点;
不确定性表达:现有研究已提出“超越二元化(确定/不确定)”的表达方法,如用“可能”“大概率”等模糊词汇传递不同程度的不确定性(Mielke等人,2022;Lin等人,2022a;Damani等人,2025);同时,语用学(研究“语境如何影响语义”)的重要性日益凸显——例如模型需根据用户场景调整不确定性表达的详略(Ma等人,2025)。这些研究为“让模型更合理表达不确定性”提供了方向,与本文“鼓励IDK等不确定性输出”的思路一致,可作为后续实践的补充。
3 预训练误差
一、先搞懂3个基础概念:预训练在做什么?
要理解“预训练误差”,得先明白预训练的核心目标和“误差”的定义——这是后续所有分析的前提:
预训练的本质:学“语言分布”预训练不是让模型“背答案”,而是让模型学“文本在训练数据里的概率规律”。比如训练数据里“爱因斯坦生日是03-14”出现很多次,模型就会觉得“这句话概率高”;而“爱因斯坦生日是05-20”没出现过,概率就低。这个过程叫“密度估计”,目标是让模型的输出分布(记为p^)尽量贴近训练数据的真实分布(记为p)。
“无误差模型”都是“废柴”有人会问:“能不能做一个完全不犯错的预训练模型?”答案是“能,但没用”。比如:
模型永远说“我不知道(IDK)”:确实不编瞎话,但连“地球是圆的”都答不出,完全没用;
模型只复述训练数据:比如训练数据里有“苹果是水果”,它就只会说这句话,问“香蕉是什么”就懵了——不符合“学分布、能泛化”的目标。
什么是“误差”和“有效样本”?文章把模型可能输出的“合理文本”(不是胡言乱语,比如“abc123”这种无意义内容)分成两类:
有效样本(V):事实对、逻辑通的文本,比如“Adam的论文2001年完成于CMU”;
误差样本(E):含幻觉的假文本,比如“Adam的论文2005年完成于哈佛”;
模型的“生成误差率(err)”,就是它输出误差样本的概率——比如10次回答里有3次编瞎话,err就是30%。
二、核心逻辑:生成文本比“判断文本对错”难多了
这一章最关键的突破,是把“模型生成幻觉”这个问题,转化成了一个更简单的任务:判断一句话是不是对的(Is-It-Valid,简称IIV任务)。通过这个转化,就能清楚看到“生成误差”的必然性。
1. IIV任务:给模型当“裁判”
想象一个场景:给模型一堆句子,让它判断“这句话是对的(V,打+)还是错的(E,打-)”——这就是IIV任务。这个任务的规则很简单:
给模型的“裁判素材”是混合的:50%是训练数据里的正确句子(V),50%是随机编的错误句子(E);
模型怎么判断?就用它预训练学到的概率:如果一句话的概率p^(x)高于“错误句子的平均概率(1/|E|)”,就判对(+),否则判错(-)。
2. 关键发现:生成误差 ≥ 2×判断错误
文章通过数学证明了一个结论:模型生成错误文本的概率(err),至少是它在IIV任务里判断错的概率(err_{iiv})的2倍。
为什么这很重要?因为“判断对错”本身就做不到100%准——比如训练数据里没提过“Adam的生日”,模型看到“Adam生日是03-07”,既没法确定对,也没法确定错,很可能判断错。而“生成文本”比“判断对错”难:判断错1次,生成时可能错2次。
举个例子:如果模型在IIV任务里判断错了20%(err_{iiv}=20%),那它生成幻觉的概率至少是40%——这就解释了为什么模型会编假生日:不是它故意的,是“生成比判断难”的任务本质决定的。
三、真实场景:带“问题”的提示(Prompt)怎么影响误差?
前面说的是“模型随便生成文本”,但实际用的时候,我们会给模型提具体问题(比如“Adam的生日是哪天?”)——这就是“带提示(Prompt)的场景”。第三章把前面的逻辑扩展到了这个场景,更贴近我们的使用体验:
带提示的样本:问题+回答比如“问题(c):Adam的生日是哪天?回答(r):03-07”,合起来是一个样本(c,r)。模型要学的是“给定问题c,输出正确回答r的概率(p^(r|c))”。
误差率怎么算?比如问100次“Adam的生日”,其中30次模型编了假日期,那针对这个问题的误差率就是30%。整体误差率是所有问题的误差率加权平均(权重是问题在训练里出现的频率)。
结论不变:生成还是比判断难就算加了提示,前面的核心逻辑依然成立:模型针对“问题c”生成错误回答的概率,还是至少是它“判断‘回答r对不对’”错误率的2倍。比如模型判断“Adam生日03-07对不对”时错了25%,那它回答“Adam生日”时编瞎话的概率至少是50%。
四、3个常见场景:预训练误差(幻觉)怎么来的?
第三章用具体例子,拆解了预训练阶段最容易产生幻觉的3种情况——看完你就知道,模型不是“故意撒谎”,是这些场景让它没办法:
场景1:“没规律的事实”——比如个人生日、冷门论文标题这类信息的特点是“没逻辑、没法归纳”:比如“Adam的生日是10-20”和“张三的生日是05-15”之间没有任何规律,模型只能靠“训练数据里有没有见过”来判断。文章里有个关键指标叫“单例率(sr)”:训练数据里“某个问题只出现1次”的比例。比如“Adam的生日”在训练数据里只提过1次,sr就对应这个比例。文章证明:模型针对这类问题的幻觉率,至少和单例率一样高——如果20%的生日问题是“单例”,那模型至少20%的生日回答是编的。就像文档里的例子:问DeepSeek-V3“Adam的生日”,它输出3个错日期,因为这个问题在训练里是“单例”,模型没学好,只能瞎猜。
场景2:“模型能力不够”——比如不会数字母、搞不清上下文有些任务不是“没数据”,是模型“学不会”。比如:
问“DEEPSEEK里有几个D?”:DeepSeek-V3模型输出2或3,但正确答案是1——因为它不会“逐字母数”,而另一个模型DeepSeek-R1会“拼写拆解(D-E-E-P-S-E-E-K)”,就能答对;
问“她丢了它,完全不知所措”的后半句:老模型(比如三元语法模型)可能输出“his mind”,因为它只能看前两个词,没法关联“她”和“her”的对应关系。文章说:如果模型连“判断一句话对不对”都做不好(比如判断“DEEPSEEK有2个D”时错了50%),那它生成错误答案的概率至少是100%——也就是肯定会错。
场景3:“数据有问题或任务太难”——比如数据里有假信息、任务算不出来还有两种情况会让误差变高:
数据里有假的(GIGO:垃圾进,垃圾出):如果训练数据里混了“Adam的论文2005年完成”的假信息,模型就会学进去,以后回答时就会复述这个错误;
任务太难算:比如让模型“解密一段随机加密的文字”——这是数学上算不出来的任务,模型只能编一个错误的解密结果。
五、总结:预训练误差(幻觉)的本质是什么?
看完第三章,你会明白:语言模型预训练时产生幻觉,不是“模型坏了”,也不是“工程师没调好”,而是两个客观规律的必然结果:
生成任务比判断任务难:模型连“判断一句话对不对”都做不到100%准,生成时自然更容易错;
预训练的目标是“学分布”,不是“背真理”:模型学的是“哪句话在训练数据里更常见”,不是“哪句话是绝对真理”——遇到没见过的信息(比如单例事实),它只能按“概率高低”猜,猜错了就是幻觉。
这一章的价值,是把“幻觉”从一个“神秘现象”变成了“可解释的统计问题”——它不是模型的“缺点”,而是预训练任务本质决定的“必然产物”。这也为后面章节铺垫:既然预训练必然产生幻觉,那微调阶段怎么缓解?这就是第四章要讲的内容了。
这两张图是校准曲线(Calibration Curve),用于展示语言模型“预测置信度P{answer}”与“实际正确率P{correct}”的匹配程度,核心反映模型的“校准性”——即模型对自身回答的“自信程度”是否和“实际答对的概率”一致。
1. 左图:预训练模型(pre-train)的校准曲线
横轴:模型对回答的“预测置信度”P{answer},范围0到1(0表示完全没把握,1表示绝对确定);
纵轴:在该置信度区间内,模型回答的“实际正确率”P{correct};
虚线:“理想校准线”——若模型完全校准,曲线应与虚线重合(即置信度为0.5时,实际正确率也为0.5;置信度为0.8时,实际正确率也为0.8);
ECE(Expected Calibration Error,期望校准误差):数值越小,校准性越好。左图ECE=0.007,非常接近0,说明预训练模型的校准性极好——模型“觉得自己答对的把握”和“实际答对的概率”几乎一致。
2. 右图:PPO微调后模型(ppo)的校准曲线
同样,横轴是预测置信度,纵轴是实际正确率;
虚线依旧是理想校准线,但右图曲线与虚线偏离更大;
ECE=0.074,远高于左图的0.007,说明PPO微调后模型的校准性大幅下降——模型“自认为答对的把握”和“实际答对的概率”不匹配(比如模型觉得有80%把握答对,但实际可能只有50%正确率)。
3. 核心结论
对比两张图可得出:PPO微调会损害模型的校准性。预训练模型能“诚实评估自己的回答是否靠谱”,而PPO微调后,模型容易“过度自信”或“错误估计自己的正确率”,这会间接导致幻觉(比如模型对错误回答过度自信,从而输出假信息)。
4 明明微调的目标是让模型“少编瞎话”,为什么幻觉还是消不掉
一、先明确:微调本应做什么?
在看“为什么微调没效果”之前,得先知道微调的初衷——它是预训练后的“修正环节”,核心目标是:
把预训练时“像 autocomplete 一样补全文本”的模型,改成“不输出没把握的假话”的模型(比如该说“不知道”时就不说瞎话,除非明确要写小说)。
但文章指出:现在的微调陷入了“吃力不讨好”的困境——不是技术不行,是当前主流的模型评测方式,一直在“鼓励模型 hallucinate”,相当于“一边让模型少撒谎,一边给撒谎的模型打高分”。
二、核心问题:评测体系在“奖励猜测,惩罚诚实”
这一章最关键的发现是:当前90%以上的主流评测(比如MMLU、SWE-bench)都用“非对即错”的二元评分,完全不奖励“表达不确定性”的回答——这种规则下,模型“猜答案”比“说不知道”更划算,自然会持续产生幻觉。
1. 二元评分的“陷阱”:不猜就亏了
举个例子你就懂了:
如果给模型出一道题“Adam的生日是哪天?”,评分规则是:
答对得1分,答错得0分,说“不知道(IDK)”也得0分;
那模型会怎么选?哪怕它完全没把握,也会随便猜一个日期(比如03-07)——因为“猜”至少有机会得1分,“说不知道”肯定得0分,怎么算都不亏。
文章把这种现象类比成“学生考试”:学生遇到不会的题,蒙一个答案可能得分,空着肯定不得分,所以会瞎蒙;语言模型就像永远在考试的学生,评测规则逼它“必须猜,不能空”。
2. 实证:主流评测都在“惩罚诚实”
文章专门分析了10个最热门的模型评测(比如GPQA、MMLU-Pro、SWE-bench等,详见文档Table 2),结果很一致:
9个评测是“二元评分”:要么对(1分),要么错(0分),IDK和错答一样得0分;
只有1个评测(WildBench)给IDK一点分,但也比“有幻觉的回答”分低——比如IDK得3-4分,而“编一个看似合理的假答案”能得5-6分,反而鼓励模型撒谎。
更关键的是:这些评测都和“模型排行榜”挂钩——想冲榜的模型,必须优化这些“奖励猜测”的指标。比如模型A“诚实说不知道,不 hallucinate”,模型B“永远猜,偶尔对”,在二元评分下,模型B的分数肯定比A高,自然会被优先选择。
三、为什么“加个‘反幻觉评测’”没用?
有人可能会问:“既然主流评测有问题,那再搞一个专门测‘反幻觉’的评测不就行了?”
文章明确说:没用。原因很简单:
当前主流评测(如MMLU、SWE-bench)的影响力太大,几乎所有公司和研究者都盯着这些排行榜——哪怕你加10个“反幻觉评测”,只要冲榜还得靠“二元评分的评测”,模型就依然会优先学“怎么猜答案”,而不是“怎么诚实”。
比如模型A在“反幻觉评测”里得分第一,但在MMLU上得分低,它依然会被认为是“差模型”;反之,模型B在MMLU上得分高,哪怕“反幻觉评测”得分低,也会被优先使用。这种情况下,“反幻觉评测”只能是“边缘补充”,没法改变模型的核心行为。
四、解决方案:改主流评测,让“诚实有回报”
既然问题出在“评测规则”,文章就给出了针对性的解决思路——不是搞新评测,而是修改现有主流评测的评分规则,明确告诉模型“什么时候该猜,什么时候该说不知道”,让“诚实”变得比“猜测”更划算。
1. 核心方法:给评测加“置信度目标”
简单说就是:在出题时就明确告诉模型“你有多大把握才该回答”,比如在问题后面加一句:
“只有你有90%以上把握时才回答,答错扣9分,答对得1分,说不知道得0分。”
这样一来,模型会自己算“预期得分”:
如果把握只有50%,回答的预期得分是(50%×1)+(50%×(-9))= -4分,不如说不知道(0分);
只有把握超过90%,回答的预期得分才会正数,模型才会选择回答。
文章里提到几个常用的“置信度阈值(t)”:
t=0.5:答错扣1分(猜对和猜错的风险一样,适合简单题);
t=0.75:答错扣2分(更鼓励谨慎);
t=0.9:答错扣9分(适合严肃场景,比如医疗、法律)。
这种规则下,模型“说不知道”不再是“亏分选项”,而是“合理选择”,自然会减少没把握的猜测(也就是幻觉)。
2. 关键细节:两个“反常识”的修改建议
文章还强调了两个容易被忽略的细节,让方案更落地:
第一:“置信度目标要写在题目里”——不能只偷偷告诉模型开发者,要直接在prompt里明确(比如上面的例子)。否则模型不知道“什么时候该谨慎”,还是会乱猜;
第二:“改现有评测,不是加新评测”——比如给SWE-bench(软件编程评测)加规则:“没把握写对代码时,输出‘无法完成’得0分,写错代码扣2分,写对得1分”。这样冲榜的模型会主动学“什么时候该放弃”,而不是编错误代码。
五、延伸:什么是“行为校准”?
文章还提出一个新概念——“行为校准(Behavioral Calibration)”,用来判断模型是否真的“懂什么时候该诚实”。
简单说就是:看模型在不同“置信度阈值”下的表现——比如:
当要求“90%把握才回答”时,模型回答的正确率是否真的≥90%?
当要求“50%把握就回答”时,模型回答的正确率是否接近50%?
如果模型能做到“要求多少把握,就有多少正确率”,就说明它“行为校准”了——这比单纯“测幻觉率”更有用,因为它能确保模型不会“明明没把握,却装作很确定”(比如编假答案时还说“肯定是这样”)。
六、总结:微调后幻觉不消的本质
看完第四章,你会明白:微调后模型仍有幻觉,不是“技术没突破”,而是“评测规则在反向引导”——就像老师判卷时“空题0分,蒙错0分,蒙对10分”,学生肯定会蒙题,不会空着。
这一章的价值,是把“幻觉问题”从“模型技术问题”拉回到“行业规则问题”——要解决幻觉,不能只盯着模型改参数,更要改主流评测的“评分逻辑”,让“诚实回答”比“猜测”更有竞争力。只有这样,微调才能真正起到“修正模型行为”的作用,而不是“越调越会编瞎话”。