作者先指出问题:评测幻觉缺一个统一框架;再给出解法:把幻觉拆成三类;然后实现解法:造三个评测任务;跑完实验之后回头检验,这个解法真的必要吗,于是重估了一批已有基准。
这四步不是并列的清单,是前后咬合的链条。没有那套分类,三个任务没法解释「为什么是这三个」,只能变成「我又造了三个基准」;没有后面那场重估,这三个任务就没有存在理由。这个顺序不能重排。重排之后,最后那场批评就没有对象了,变成对着空气挑刺。
论文的整个贡献建立在一次概念切割上。
这次切割之所以必要,是因为「大模型的幻觉」这个说法在 2023 到 2024 年间被用于指称好几种不同的问题。机器翻译翻错了、摘要加上了源文没有的句子,这两种有源文本可对照,测起来不难。但今天多数生成任务不一样:用户只给一句任务指令,不给上下文材料,模型只能靠训练期间学到的内部知识来补。这时候出了问题,你去对照什么?没有源文本。而作为判定基准的「真值」可能散布在训练数据的任何地方,你没法验证。
论文把这个「没法验证」当成分类依据,而不是当成缺陷描述。这是关键的一步:不能验证的那一类,才是需要专门造基准去测的那一类。内在幻觉的评测早就有了,对比源文本即可;外延幻觉没有,因为它需要一个此前不存在的方法,不是拿现成数据集跑一遍,是要为了「不可验证」这个特性重新设计任务。
作者顺手把第三个概念也切开了:事实性(factuality)问的是答案对不对,依据是外部既定知识源,完全不问训练数据。这三者此前被混着叫「幻觉」,导致文献里大量基准其实是事实性基准,只是名字叫错了。论文的原话是「这些基准被称为『幻觉』基准,但它们处理的主要是事实性」,而这个判断只在它们不涉及训练数据时成立。最后那场针对现有基准的重估,就建立在这个区分上。
这个划分成立的前提是「训练数据」作为一个可指认的对象存在。一旦模型用检索增强把外部文档放进上下文,「与训练数据不一致」这个判据就失效了,因为此时可比对的参照系变成了上下文文档。论文没有处理 RAG 场景。这是 2025 年 4 月的工作,而检索增强当时已经是主流部署形态。
论文对「事实性基准能否当幻觉基准用」给了一条很实用的转换条件:加了拒答率的测量,且数据集可论证地限定在训练数据范围内,这条基准就能当外延幻觉基准用。SimpleQA 和 PopQA 可以改造后使用;但那些「用超出训练数据截止日期的更新知识」来评的基准不行,它们测的是事实性,不是幻觉。
论文的判据依赖「模型有固定训练数据截止日」这个前提。当模型持续在线更新、或把检索结果混进训练时,「内容是否与训练数据一致」这个判据会失去可操作性,因为没人能指认当前的训练数据是什么。论文发布时这个问题还不突出。
论文把外延幻觉按来源分成两类,各配任务。
分类的依据是「幻觉从哪来」。第一种是建模错误:模型知道答案,但生成时错了,这跟它见过的训练数据本身无关,是生成环节的失误。第二种是知识缺口:训练数据里压根就没有这部分内容,模型不知道,于是要么乱编,要么应该拒答。这两种来源需要的防护动作完全不同:前者要测「能不能答对」,后者要测「知不知道自己不知道」,而后者只能通过拒答率来测。
三个任务的设计都围绕训练数据边界这一个点。精确问答(PreciseWikiQA)和长文本一致性(LongWiki)用维基百科构题,逻辑是「维基大概在大部分先进模型的训练数据里,所以理想模型应该能准确回答而不该拒答」。不存在实体拒答(NonExistentRefusal)反过来,故意造出训练数据里绝对没有的东西,看模型会不会识破。
任务设计是这套基准真正的重心,它要解决的核心难题是:模型什么都学过,怎么还能造出一套它真没见过的题。三个任务各给了一套管道,解法各不相同。
精确问答:控制难度分桶 + 两步生成 + 硬性过滤
| 步骤 | 做法 | 解决什么 |
|---|---|---|
| 选源 | 取「优质维基」数据集,44,754 个被标为高质量的页面 | 保证题源本身不烂 |
| 估难度 | 用维基排名里的调和中心性估每个页面「在训练数据里出现的频繁程度」,分 10 档(0 最难到 9 最易) | 长尾知识更难得分,不控制难度就没有可比性 |
| 抽样源池 | 每档随机取 500 个页面,共 5000 个 | 难度分布均匀 |
| 切段 | 页面切成小节,随机取其中一节作为出题素材 | 短事实题不需要整页 |
| 出题 + 答题 | 两步分开:先看着选定的那一节出一道题,再看着参考素材生成答案 | 分开是为了保证题的质量:题必须只凭参考素材就能答,且是客观题 |
| 过滤 | 答案超过 10 个词就丢弃;题目答不出来就重新出题 | 把「需要上下文才能答」和「开放题」挡在门外 |
产出质量作者自己查过:在子集上人工分析,自动生成的「金标准」答案有 97.2% 是正确的。剩下 2.8% 的噪声会不会影响模型之间的排序,正文没交代。
评分也全靠模型做:先判断模型有没有拒答,没拒答再判答案对不对,答案分成「正确、错误、无法核实」三类,后两类都算幻觉(题本该有答案)。评委是 Llama-3.1-70B,作者测了它自己的准确率,判拒答 96.67%、判对错 95.56%。这个数字自己交代出来了,但同时意味着全部分数继承了这个评委的误差。
长文本一致性:同一套题源,换成两个新要求
跟精确问答同源,额外加两条:题目必须落在参考素材内,且必须需要至少一段话才能触发长文本生成。判断方法一样:把生成的答案拆成一条条声明,逐条对照维基页面看有没有支撑。
这里有个刻意的取舍:论文明确不做联网检索取证。理由是用搜索结果当参考更适合事实性基准,因为能对上最新知识;但它没法验证生成内容与训练数据是否一致。宁可少测一点,也不能换掉判据的参照系。
不存在实体拒答:用「查无此物」把开放题变成判别题
| 子任务 | 怎么造 | 规模 |
|---|---|---|
| 混合实体 MixedEntities | 在动物、植物、细菌、药品四个领域里,把已有名称的词混合或对调,造出四不像的名字,再逐个查库确认它确实不存在 | 每领域 2000 条,共 8000 条 |
| 模型编造实体 GeneratedEntities | 直接让大模型想商业、活动、产品品牌的虚构名 | — |
这条路走得比想象中扎实:动物植物用的是整合分类学信息系统数据库(14.5 万条分类记录),药品用的是覆盖 25 万种全球药品的清单。逐个查库确认不存在这一步不能省,否则「不存在的实体」本身可能真的存在,整个任务就塌了。而且对照数据库是固定的,不需要联网,现场就能核。
度量指标也因此翻转:既然实体不存在,模型给的任何信息都是幻觉,所以测的不是幻觉率而是误接受率(模型有没有上当)。这把一道「模型会怎么答」的开放题,变成了一道「模型有没有识破」的判别题。开放题没法判分,判别题可以。
三个任务全部压在同一句假设上:维基百科已被纳入大多数先进模型的训练数据。论文把它明写出来了,但没给验证机制。精确问答和长文本一致性一旦离开这条假设就全部失效:如果某个模型的训练数据里没有维基百科,或者只收录了某个时间点之前的快照,题目就不是「模型该知道但答错了」,而是「模型压根不知道」。两个任务用了同一个源池做对照,这个假设一旦不准,无法从结果里分辨。
另外,三个任务的指标全部由模型评委给出。评委准确率作者报了(拒答判定 96.67%、正确性判定 95.56%),但这三项分数本身的不确定区间没有讨论:13 个模型之间的差距里,有多少是真实能力差、有多少是评委的判定抖动,论文没有回答。
「按主题热度控制题目难度」只是缓解,没有解决不同模型的维基快照不同这个问题。2025 年之后模型持续更新,同一个页面在不同模型那里可能已经不是同一份内容。
现有基准失效的主因是数据泄漏:题目已经进了训练数据,模型「见过」。作者的判断是,静态测试集必然会饱和。
作者点名了 MMLU、TruthfulQA 这类广泛使用的基准已被报告存在污染。解法是评测时即时出新题,不留固定题库。
| 设计 | 做法 | 效果 |
|---|---|---|
| 动态生成测试集 | 评测时即时生成新题,不留固定题库 | 题目不可预测,不可能出现在任何已有数据集里 |
| 与可复现性的张力 | 题目每次都不一样,怎么保证不同次之间的分数可比。作者的判断是「这并非一个轻松的挑战,因为这种动态性带来了与可复现性之间的张力」 | 要求动态集在多次运行间保持低方差 |
| 验证方式 | 三次运行 | 平均标准差低于 1.01%,且保持模型相对排名 |
作者把「稳定」拆成了两个指标,这个拆分值得注意:一是低组内方差(同一个模型重复测,结果要接近);二是高组间敏感性(模型之间的差距要明显大于同一个模型内部的抖动)。只有第一条没有第二条,基准就废了:所有模型分数都稳,但稳得像一条线,谁都分不出来。
动态生成这套办法只适用于外延幻觉,内在幻觉做不到。理由很硬:外延幻觉可以自动生成金标准答案,因为参照系是训练数据;内在幻觉的判据是与源文本对照,而用大模型当评委本身就可能产生内在幻觉,裁判会自己犯它要判的错。论文明确写了「为内在幻觉做动态测试集是一个有前景的研究方向」,也就是承认现在没解决,只能先沿用三个已有的内在幻觉基准。
动态生成把成本从「一次标注」转移成「每次评测调一次大模型」。论文只报告了那个标准差数字,没有报告生成耗时,也没有报告与静态题库的成本对比。另外那个低方差结论只在精确问答上验证过,另外两个任务没有各自的方差数据。
对于评测集需要长期稳定版本号的场景,动态生成反而不可用。这个工程约束论文没提。
这里给的是判断标准,不是新数据集。
转换条件只有一条,但很硬:必须加拒答率测量,且数据集可论证地限定在训练数据范围内。理由在指标定义里写得很清楚:幻觉率的计算是「未拒答时的错误答案比例」。如果没有拒答率这一项,一个模型对所有问题一律回答「我不知道」,幻觉率就是零。没有拒答率的幻觉基准,天然奖励逃避作答。
五个基准的逐项裁定
| 基准 | 能否当幻觉基准 | 理由 |
|---|---|---|
| TruthfulQA | 存疑,可能需要修订 | 它测的东西不完全是事实性,还涉及「是否本就该拒答」这类判断;论文指出这些问题让它无法区分「模型不知道」与「模型答错」 |
| SimpleQA 与 PopQA | 可以改造 | 改写评测指标即可 |
| HaluEval 2.0 | 缺一项 | 只测幻觉率(MiHR 与 MaHR),没有拒答率测量。而缺了拒答率,模型可以通过「一律拒答」来刷分 |
| ERBench | 接近 | 与精确问答相似,但用实体关系模型自动构造,扩展性更好 |
| 超纲更新的基准 | 不行 | 测的是事实性,不是幻觉 |
论文测的是 2025 年当时的模型(Claude-3 系列、GPT-4o、Llama-3、Gemma-2、Qwen2、Mistral 等)。具体分数的绝对值现在几乎已经失效,模型迭代比论文发表快得多。可迁移的是分类框架和「必须测拒答率」这条方法论,不是它的排名。
论文用三个指标而非单一幻觉率,因为单一指标可以被博弈。
长文本一致性那一套指标是另一个博弈面:它的精确率是「每条声明是否有维基页面支撑」,如果只看精确率,模型生成得越短越占便宜。只写最有把握的那几句,精确率就很好看。论文因此加了一个召回率指标,保证生成不能太短太不完整。但这个指标的参数是个固定值(取 32 条),短到 32 条以下就满分的生成,仍然优于该生成 200 条却只对 30 条的模型。这个偏置论文没有讨论。
三项指标全部由模型评委给出。评委一致率作者报了(拒答判定 96.67%、正确性判定 95.56%、不存在实体判定与人类判断一致 94.77%),三个数字都在 95%上下,意味着一套本来想测「模型有没有乱说」的基准,误差的一部分来自评委自己乱说。论文没有给出这三项分数的置信区间。
这套指标成立的前提是「知识范围可判定」。不存在实体拒答靠人造实体保证可判定;精确问答靠「维基在训练数据里」这个假设间接保证。如果哪个任务的答案边界本身模糊,这三个指标会同时失真。
动态生成把成本从「一次标注」转移到「每次评测调一次 LLM」,而动态生成导致的方差上升会进一步增加重复评测的次数。论文只报告了「三次运行标准差 < 1.01%」这一个数字,没有报告生成耗时、没有报告与静态集的对比成本。对一个要在 CI 里跑的评测基准,这是能不能落地的关键。
外延幻觉的判据是「与训练数据不一致」,前提是训练数据是一个可指认的对象。当模型把检索文档放进上下文,比对的参照系就变成了那份文档,而不是训练数据,判据本身失效。论文发布于 2025 年 4 月,那时检索增强已是主流部署形态。论文没有讨论「检索到的内容与训练数据不一致」这种情况该归到哪一类。
论文自己写明所有前提都依赖「维基百科在大部分先进模型的训练数据里」。但没有任何一个公开模型会披露完整训练数据清单。所以「问题的知识范围是否落在训练数据内」这个核心判断,在实践中只能靠假设,不能靠核验。这意味着「外延幻觉率」这个数字的精度,取决于一个外界无法检查的假设有多可靠。
PreciseWikiQA 和 NonExistentRefusal 各有完整结果表与指标定义。长文本一致性的结果只在附录的表格里给出,正文没有展开分析,而它用的是另一套指标(精确率、召回率、合一分数,取 K 为 32,方法采自 SAFE),与另两个任务的三个指标不同构。
更要紧的是:动态生成测试集的稳定性结论:标准差那个数字只在精确问答这个任务上给出。另外两个任务没有各自的方差数据。用一套任务的方差结论支撑整个基准的可靠性,这个外推没有交代。
而且长文本一致性的指标设计暴露了一个新的博弈面:论文自己承认,只算精确率的话模型可以靠生成短段落来获利,所以加了召回率指标。但 K 为 32 是固定值,短到 32 条以下就满分的生成,仍优于该生成 200 条却只对 30 条的模型。这个偏置论文没有讨论。
提出了一套新分类体系,却没有一处集中说明这套分类在哪些条件下失效。相关前提分散在各章,没有汇总。读者需要自己把分散的限定条件拼起来,才能判断这套分类对自己的场景适不适用。
论文在讲分类那一段引了 Ji et al. (2023) 的内在与外延二分,并在后续讨论中提到「factuality hallucination」这个第三类,说它处于事实性挑战与外延幻觉的重叠区。但这个第三类只被用于解释现有文献的混乱,没有被纳入 HalluLens 的分类树,也没有对应任务。一个用来诊断领域混乱的分类法,自己留了一个未处理的对象在体系之外。



