首页 / 模型排行 / 正文
模型排行

模型幻觉率评测全指南:避开统计与标注坑,快速搭建可信评测体系

chuanbook chuanbook
发布于 2026 年 10 月 17 日
阅读 约27分钟
浏览 1
评论 0

1.1 模型幻觉的定义、类型与产生机理概述

我经常被问到同一个问题:“模型幻觉到底怎么定义才算准?”说实话,这个问题比看起来要麻烦。学术界和工业界给出的定义并不完全统一,我自己的理解是:模型输出了看似合理、流畅、甚至语气笃定的内容,但该内容与可验证的事实、给定的源材料或公认常识存在偏离。这里的关键词是“看似合理”,因为幻觉最危险的地方不在于它错,而在于它错得很有说服力。我在实际评测中见过大量案例,模型编造出一个根本不存在的论文引用,格式规范、作者名字合理、期刊名称也像模像样,不逐条核查根本发现不了。

从类型上划分,我习惯把幻觉分成几类来分别对待。事实性幻觉是指模型陈述的内容与客观事实不符,比如把某位历史人物的生卒年份搞错,或者虚构一个不存在的奖项。忠实性幻觉更多出现在摘要、翻译、问答这类有源材料的任务里,模型生成的内容偏离了输入文档的本来含义,甚至引入了原文完全没有的信息。还有一类我称之为“逻辑幻觉”,模型在推理链条中某一步出现了跳跃或错误关联,导致最终结论站不住脚,但每一步单独看又都挺像回事。这三种类型在评测时的判定标准和处理方式差别挺大,混在一起统计容易把问题模糊掉。

关于产生机理,我不想把它说得太玄。从我的观察来看,幻觉的产生跟训练数据的覆盖盲区、模型对长尾知识的记忆不牢、解码策略的随机性都有关系。模型在预训练阶段吸收了海量文本,但知识密度分布极不均匀,热门实体和事件被反复强化,冷门信息则可能只出现过一两次。当用户提问恰好落在稀疏区域时,模型倾向于用语言模型的“平滑能力”去填补空白,编出一个统计学上通顺但事实上错误的答案。还有一个容易被忽略的因素是提示词的诱导性,某些提问方式会显著抬高模型“编造”的概率,这一点在做评测设计时必须纳入考量。

1.2 幻觉率评测的目标、边界与适用场景

我做幻觉率评测这些年,越来越觉得明确“评什么、不评什么”比堆指标更重要。评测的核心目标其实就一个:量化模型在特定任务和特定数据分布下输出不可信内容的概率。但这个目标需要拆解成可操作的子目标,比如衡量模型在开放域问答中的事实准确度、在摘要任务中对源文档的忠实程度、在对话场景中维持事实一致性的能力。不同子目标对应的评测方法和判定标准完全不同,拿一套通用指标去套所有场景,结果往往没有参考价值。

边界问题是我在项目里反复跟团队强调的。幻觉率评测不可能覆盖模型所有可能的输出空间,我们只能在一个有限的样本集合上做推断。这个样本集合的构建方式、任务类型分布、难度分层,直接决定了评测结论能推广到什么范围。我见过一些评测报告,在一个很小的、领域高度集中的数据集上跑出很低的幻觉率,然后宣称模型“事实性很强”,这种结论的适用范围其实非常窄。评测的边界还体现在判定粒度上,是句子级、段落级还是文档级判定,不同的粒度会带来差异明显的幻觉率数值。

适用场景这块,我的经验是评测设计必须跟落地场景对齐。面向医疗、法律、金融这类高风险领域的幻觉率评测,判定标准要严得多,宁可把边界模糊的案例判为幻觉,也不能放过潜在的错误输出。面向创意写作、头脑风暴这类场景,模型“编造”内容有时候反而是被期望的行为,这时候评测的重点应该转向内部一致性和逻辑自洽,而不是硬抠事实准确性。我通常会在评测方案里明确标注适用场景和判定阈值,避免读者把结论误用到不匹配的语境里。

1.3 幻觉率的核心指标与统计口径:幻觉率、事实一致性、覆盖率、拒答率等

指标这块我想说得具体一点,因为统计口径的差异能让同一个模型在同一个数据集上算出差出一倍的幻觉率。最基础的指标当然是幻觉率本身,我的定义是:在参与评测的样本中,被判定为包含至少一处幻觉的样本数占总样本数的比例。这里有个口径选择问题,是按样本计还是按事实陈述计。按样本计比较粗,但实现简单、跨模型可比性好;按事实陈述计更细,能反映幻觉的密度,但标注成本和判定分歧都会上去。我一般建议两个口径都报,让读者自己判断。

事实一致性这个指标在摘要和问答任务里用得很多,它的本质是衡量输出内容与参考事实集合之间的吻合程度。具体算法可以是基于事实三元组的匹配率,也可以是基于自然语言推理模型的蕴含判定。我在实践中发现,纯粹靠自动指标算事实一致性容易高估模型表现,因为模型可能用不同的表述方式表达了正确的事实,但字面匹配对不上。比较稳妥的做法是自动指标加人工抽检校准,把自动指标的偏差摸清楚。

覆盖率指的是模型在面对应该回答的问题时,实际给出有效回答的比例。这个指标单独看意义不大,必须跟幻觉率结合起来看。一个模型覆盖率很高但幻觉率也高,说明它“什么都敢答但答得不准”;覆盖率低但幻觉率低,说明它“不确定就闭嘴”,这两种策略在不同场景下的优劣完全不同。拒答率则是覆盖率的另一面,模型明确表示无法回答或信息不足的比例。我在评测里特别关注拒答的合理性,模型应该在确实不知道的时候拒答,而不是胡乱拒答一堆它其实能答对的问题。

1.4 评测样本设计、标注规范与置信区间

样本设计这件事,我踩过的坑比想象的多。最核心的原则是分层抽样,不能图省事随机抽一批就开跑。我的做法是先按任务类型分层,问答、摘要、对话、代码生成各占一定比例;再按知识热度分层,把热门实体、长尾实体、时间敏感信息分开采样;最后按难度分层,简单事实查询和需要多跳推理的问题要分别覆盖。分层之后每个子集都要保证有足够的样本量,否则算出来的子集幻觉率波动太大,没法做有意义的比较。

标注规范是另一个决定评测质量的关键环节。我给标注团队写规范时,会把“什么算幻觉”“什么不算”“边界案例怎么判”写成带示例的判定手册,每个类型至少配十个正例和十个反例。标注粒度我倾向于句子级判定加片段级标注,标注员需要指出具体哪一句、哪一段存在问题,而不是只给一个整体判断。这样做的好处是后续可以做错误归因分析,也能让不同标注员之间的分歧点更容易定位和讨论。

置信区间的问题经常被忽略,但我认为必须报。幻觉率本质上是一个比例估计,样本量有限的时候点估计的波动可能很大。我通常用Wilson区间或者bootstrap方法算95%置信区间,尤其是在样本量小于几百的时候,区间宽度可能大到让两个模型的差异变得不显著。实际报告里我会把点估计和置信区间一起呈现,读者能直观看到“这个模型的幻觉率是12%,但区间跨了9%到16%”这种信息,避免过度解读微小差异。样本量规划也要反推,如果希望检测到两个模型之间3个百分点的差异,需要的样本量比大多数人想象的大得多。

1.5 模型幻觉率评测的主要挑战与质量控制要点

说起挑战,我脑子里第一个蹦出来的是判定标准的主观性。同一个输出,甲标注员觉得是幻觉,乙标注员觉得是合理推断,这种分歧在边界案例上特别常见。我处理这个问题的方法是建一个争议案例库,把标注分歧集中的样本挑出来,组织讨论形成共识判定,再把这些共识案例作为后续标注的校准锚点。每次标注任务开始前,让所有标注员先过一遍校准集,一致性系数达到阈值之后才进入正式标注。

另一个大挑战是评测集污染。现在很多模型在训练时见过大量公开评测集,在这些集上测出来的幻觉率可能严重偏低,因为模型对答案有记忆。我在选评测数据时会优先考虑那些构建时间晚于模型训练截止日期的样本,或者用动态生成的、非公开的测试集做补充验证。还有一个办法是对评测样本做扰动,改人名、改数字、改表述方式,看模型表现是否稳定,扰动后幻觉率飙升往往意味着模型依赖了表面记忆而非真正的知识理解。

质量控制方面,我坚持几个硬性动作。双人独立标注加第三方仲裁的流程不能省,虽然成本高但能把标注噪声压下来。每批评测要留一定比例的重复样本做一致性检验,Kappa系数低于0.7就要回去重新校准。自动化评测结果必须有人工抽检环节,抽检比例我一般设10%到15%,重点看自动判定为“无幻觉”的样本里有没有漏判。这些流程听起来繁琐,但幻觉率评测的公信力就建立在这些不起眼的控制点上,省了哪一步后面都可能被质疑。

2.1 人工评估方法:专家标注、众包评估与一致性校验

人工评估是所有幻觉率评测方法里最贵的一种,也是最难被替代的一种。我到现在还没见过哪个自动化指标能在开放域事实性判定上完全取代人工。道理不复杂,判断一句话“对不对”需要真实世界的知识储备和语境理解能力,当前的自动评测手段在这两件事上都有明显短板。我通常把人工评估当作基准锚点,用来校准其他方法的偏差方向。

专家标注是我最信任的方式,前提是找对人。领域知识密集型任务,比如医疗问答或者法律条文解读,让没有专业背景的标注员去判幻觉,误判率会高得离谱。我做过一个对比,同一批医学问答样本,临床医生标注的幻觉率和普通标注员的结果差了将近十个百分点,分歧集中在那些“表述不精确但不构成事实错误”的边界案例上。专家贵、慢、排期难约,这些我都认,但在高风险场景下这笔钱省不得。

众包评估是另一种思路。我把任务拆成足够细的原子判定单元,配上清晰的判定手册和大量示例,让众包标注员做“这是否与给定事实一致”的二分类判断。这么做能跑量,单价也压得下来。问题在于众包标注员的质量波动很大,同一个人上午和下午的判定标准都可能漂移。我的应对办法是每个任务包都塞入固定比例的黄金标准题,答错率超过阈值的标注员直接剔除,数据不进入统计。黄金题的比例我一般设百分之十五到二十,听上去浪费,但能保住整批数据的可用性。

一致性校验是人工评估的生命线。我不管用专家还是众包,都会做双人独立标注,算Cohen‘s Kappa或者Krippendorff’s Alpha。系数低于0.7就说明判定标准本身有歧义,得回去改手册、补示例、重新校准。有一回我们做一个多跳推理数据集的幻觉标注,第一轮Kappa只有0.52,复盘发现是标注员对“推理步骤正确但最终答案错误”该不该算幻觉理解不一致。把这条写进规范之后,第二轮拉到了0.81。这种来回折腾很磨人,但不做的话后面所有分析都建在流沙上。

2.2 自动化评测方法:基于标准答案、知识库与规则匹配的度量

自动化评测的诱惑力在于便宜、快、可复现。我刚开始做评测的时候也幻想过整套流程全自动跑通,后来发现至少在幻觉率这件事上,纯自动方案只能覆盖一部分场景。不过该用还得用,关键是想清楚每种自动化方法能测什么、不能测什么。

基于标准答案的度量是最直接的一类。问答任务里我有一个参考答案集合,把模型输出和参考答案做比对,算精确匹配、F1、ROUGE这些指标。这套方法在封闭式问题上表现还行,比如“某公司哪一年成立”这种答案唯一的题目。一到开放式生成就不灵了,模型可能用完全不同的措辞表达了正确答案,字面匹配度很低,但你不能说它产生了幻觉。我见过模型把“光合作用发生在叶绿体”写成“植物细胞里的叶绿体负责把光能转成化学能”,意思没错,但跟标准答案的词汇重叠度不到三成。这种情况自动化指标会误判为幻觉,实际上人家答得挺好。

基于知识库的度量是我比较看好的方向。把模型输出中的实体、关系、数值抽取出来,跟结构化知识库做对齐验证。比如模型说“爱因斯坦1879年出生于乌尔姆”,我拆出(爱因斯坦,出生年份,1879)和(爱因斯坦,出生地,乌尔姆)两个三元组,去Wikidata里查证。这套方法的优势是判定依据明确,可解释性强,能定位到具体哪个事实陈述出了问题。局限在于知识库覆盖不全,长尾实体和最新事件经常查不到,而且模型输出里大量信息没法结构化,自由文本里嵌着的事实关系抽取本身就有误差。

规则匹配更多是用在特定格式的校验上。比如代码生成任务,我可以跑单元测试看代码能不能执行、输出对不对。数学推理任务可以抽最终数值做比对。这些场景里规则匹配的准确率很高,因为对错标准是硬的。但规则匹配的适用范围窄,换个任务就得重写规则,泛化性差。我在项目里的做法是把自动化指标当筛子用,先用它们把明显没问题的样本过滤掉,剩下的疑点样本交给人工或者更强的模型评判方法做二次判定。这样能把人工成本压到原来的三分之一左右,同时不牺牲判定质量。

2.3 模型评判方法:LLM-as-a-Judge 的设计、提示策略与偏差控制

用大模型来评判大模型的输出,这件事我刚接触的时候是持怀疑态度的。自己评自己,能靠谱吗?后来做了几轮对比实验,发现用GPT-4级别的模型做judge,在事实一致性判定上和人类专家的吻合度能到八成以上,比我预期的好不少。当然前提是提示词设计到位、评判维度拆得够细、偏差控制措施跟上了。

我的基本设计思路是把评判任务拆成多个原子判断,不让judge模型做一个笼统的“有没有幻觉”的整体打分。具体做法是先把模型输出拆成独立的事实陈述,逐条问judge“这个陈述是否被给定证据支持”。每条判断要求输出三分类结果:支持、反驳、信息不足。这样做的原因是整体打分容易受输出长度、语言流畅度这些表面因素的干扰,拆成原子判断之后,judge的注意力能集中在事实核查本身。

提示策略上我踩过不少坑。最开始用零样本提示,judge模型倾向于给“支持”标签,假阴性率偏高。后来改成少样本提示,每个类别给三到五个示例,并且把示例按难度排序,从明显正确到边界模糊排下来,judge的判定准确率明显提升。还有一个关键点是要求judge给出判定理由,哪怕只是简短的一句话。有理由的判定比没理由的判定准确率高出一截,我猜是因为生成理由的过程迫使模型真正去比对证据而不是凭感觉给标签。

偏差控制是LLM-as-a-Judge最需要花心思的地方。我观察到的几个系统性偏差包括:位置偏差,judge倾向于给排在前面的选项更高评价;长度偏差,输出越长judge越容易挑出问题,导致长回答的幻觉率被高估;自我偏好偏差,GPT-4做judge时对GPT-4生成的文本打分偏高。应对位置偏差的办法是随机打乱证据和输出的呈现顺序,跑多次取平均。长度偏差可以通过在提示里明确要求“不要因为输出长度调整判定标准”来部分缓解,但没法根除,报告里得注明这个偏差的存在。自我偏好偏差比较麻烦,我的做法是用多个不同家族的模型做judge,取共识结果,单一模型的偏差能在集成中被稀释掉一部分。

2.4 检索增强与事实验证方法:证据检索、归因分析与事实核查

检索增强这条路子,我的理解是把幻觉判定从“模型说了什么”推进到“模型说的东西能不能找到出处”。这个思路特别适合知识密集型任务,因为很多幻觉的本质是模型在缺乏依据的情况下强行生成,如果能强制要求每条陈述都有检索到的证据支撑,幻觉率会显著下降。

具体做法分两步走。第一步是证据检索,把模型输出里的关键陈述抽出来作为查询,去外部知识源里检索相关文档或段落。检索源的选择很关键,我一般混用通用搜索引擎、领域知识库和维基百科快照,保证覆盖面和权威性的平衡。检索回来的内容需要做相关性过滤,把明显不相关的片段剔掉,否则后面做归因分析的时候噪声太大。

第二步是归因分析,判定每条陈述是否能被检索到的证据支持、部分支持还是矛盾。这一步可以用NLI模型做初步筛查,再用规则或者小模型做精细判定。我比较看重的是归因结果的可解释性,每条判定都附带证据片段和匹配理由,人工复核的时候能快速定位问题。这套方法在事实性问答和摘要任务上效果很好,摘要任务里我可以把源文档作为天然的检索源,直接检查摘要里的每句话在原文中是否有对应依据,偏离原文的句子标记为忠实性幻觉。

事实核查是更严格的一层验证。检索增强做的是“有没有证据”,事实核查做的是“证据可不可靠、推理链条完不完整”。我通常在检索增强之后对高风险领域的输出做二次核查,比如医疗建议里的药物剂量、金融报告里的数字引用。这块需要领域专家参与设计核查规则和验证流程,自动化程度比检索增强低一些,但能拦住那些“有出处但出处本身不可靠”的隐蔽幻觉。整套流程跑下来成本不低,我的经验是只在关键任务的关键输出上启用,全量跑经济上不划算。

2.5 场景化与任务导向评测:问答、摘要、代码、多模态等场景的幻觉率测量

我越来越觉得幻觉率评测不能脱离场景谈。一个在开放域问答上幻觉率很低的模型,放到代码生成任务里可能编造根本不存在的库函数,放到多模态任务里可能对着图片胡说八道。任务类型变了,幻觉的形态和判定标准都得跟着变。

问答任务的幻觉评测相对成熟。开放域问答我关注模型是否给出了事实正确的答案,封闭域问答我关注答案是否忠实于给定文档。这两种场景的评测方法差别挺大,开放域靠外部知识库验证,封闭域靠源文档比对。我在设计问答评测集的时候会刻意混入一定比例的无答案问题,测试模型会不会在应该拒答的时候硬编一个答案出来。这个指标在落地场景里特别重要,用户问了一个知识库里根本没有的问题,模型老老实实说不知道比胡编一个强得多。

摘要任务的幻觉评测重点在忠实性。我把摘要拆成句子,逐句回溯源文档,看每个信息点是否有原文支撑。摘要幻觉的常见形态包括引入原文没有的实体、改变数字或日期、把原文的限定条件丢掉导致意思走偏。这几种形态的严重程度不一样,我在评分时会区分硬幻觉和软幻觉,前者是完全捏造,后者是信息扭曲。代码生成任务的幻觉判定有天然优势,代码能不能跑、输出对不对一测便知。我主要关注三类问题:调用了不存在的API、参数类型或数量错误、逻辑实现和需求描述不符。前两类跑一下编译或者静态分析就能筛出来,第三类需要写测试用例做行为验证。

多模态任务的幻觉评测是当前最让我头疼的。图片描述任务里,模型可能描述出图片中不存在的物体或场景细节,这种幻觉的判定需要人工逐句对照图片核查,自动化程度很低。图文问答稍微好一些,可以把问题相关的视觉区域圈出来做局部验证。视频和音频模态的幻觉评测方法还在早期阶段,我目前主要靠人工抽检加关键帧比对,效率和覆盖率都谈不上满意。场景化评测的另一个维度是用户容忍度,同样是编造了一个不存在的引用,在学术写作场景里是严重问题,在创意故事生成里可能完全不算事。我会在评测报告里标注每个场景的判定阈值和容忍度设定,方便读者按自己的落地需求调整。

2.6 大模型幻觉率评测方法有哪些:方法组合、抽样、盲评、复评与结果报告流程

把所有方法摆在一起看,我的核心观点是没有哪一种方法能单独扛起幻觉率评测这件事。人工评估精度高但贵且慢,自动化指标便宜但覆盖窄,LLM-as-a-Judge在中间地带能补位但有偏差,检索增强适合知识密集型任务但对生成质量要求高。实际项目里我都是组合使用,让不同方法互相校验、互相补漏。

组合的基本逻辑是分层过滤。第一层用自动化规则和标准答案匹配跑全量数据,把明显正确和明显错误的样本标出来,这两部分直接进入统计。中间那批不确定的样本进入第二层,用LLM-as-a-Judge做批量判定,同时抽一部分交给人工复核。第三层是人工专家对争议样本和关键样本做精细标注。这个漏斗结构能把人工成本控制在总样本量的百分之十到十五,同时保证最终结果的可靠性。抽样策略上我坚持分层随机,按任务类型、难度、知识领域分层,每层内随机抽,避免方便抽样带来的系统性偏差。

盲评是减少评估者偏见的重要手段。我做人工评估的时候不让标注员知道输出是哪个模型生成的,也不让他们看到其他标注员的判定结果。LLM-as-a-Judge场景里同样需要盲评,证据呈现顺序随机化、模型身份信息脱敏,这些操作能压住不少系统性偏差。复评环节我也固定保留,第一轮标注完成后隔一周抽百分之十的样本重新标注,看标注员自身的一致性。如果复评结果和首评差异超过五个百分点,整批数据打回去重做。

结果报告这块我要求团队写得足够透明。幻觉率的点估计必须带置信区间,评测数据集的基本信息要写清楚,包括样本量、任务分布、数据来源和构建时间。评测方法要说清楚用了哪几种、各自的比例和判定标准。判定不一致率、人工抽检的漏判率这些质量控制指标也得报出来。我见过太多报告只报一个漂亮的幻觉率数字就完了,读者根本没法判断这个数字能不能信、能不能跨模型比较。报告末尾我习惯加一段局限性说明,把这次评测没覆盖到的场景、已知的方法偏差、样本量不足带来的不确定性都摆出来。写这一段不是为了免责,是让读者拿着报告能做出更靠谱的判断。

3.1 主流幻觉率评测基准的分类与代表基准概览

我梳理过市面上能叫得上名字的幻觉评测基准,数量比我预想的多,但真正能拿来直接用的没那么多。按任务形态分,大致能归成几个大类:事实性问答类、摘要忠实性类、对话一致性类、知识密集型推理类、多模态类,还有一些领域专用的窄口径基准。这个分类方式跟我的实际使用习惯有关,因为我选基准的时候第一反应永远是“我要测什么任务”,而不是“这个基准是哪个机构出的”。

事实性问答类的代表基准有TruthfulQA、SimpleQA、FreshQA这些。TruthfulQA偏“对抗性事实”,专门挑那些人类容易答错的问题来考模型,设计思路很刁钻。SimpleQA走的是短答案事实核查路线,答案短、判定硬、争议小,我挺喜欢用它做快速摸底的。FreshQA盯的是时效性知识的幻觉,题目里带时间戳,能测模型对最新信息的掌握程度。摘要类基准里我常用的是SummaC、FRANK,还有后来不少中文团队做的中文摘要忠实性评测集。对话一致性基准这块代表是FActScore、BEGIN,思路是把长回答拆成原子事实逐条验证。多模态领域有HallusionBench、MMHal-Bench,覆盖的模态和任务类型还在快速扩张。

我列这些名字不是为了做百科,是想说一个事:没有哪个基准能单独覆盖你的全部评测需求。我见过团队拿TruthfulQA一个基准跑完就写报告说“我们模型幻觉率低”,这种报告我一般直接翻过去不看。TruthfulQA的题目类型和真实业务场景之间隔着好几条街,它的分数高低和模型在客服问答里会不会胡编订单信息,基本是两回事。选基准之前先想清楚你的业务流程里幻觉会出现在哪个环节,比把排行榜上的基准全跑一遍有用得多。

3.2 事实性问答与知识密集型基准对比

事实性问答基准是我用得最多的一类,因为判定相对容易、成本可控、结果好解释。TruthfulQA的设计很有意思,它收了一堆人类容易产生误解的问题,比如“吃胡萝卜能不能改善夜视能力”这种流传很广但缺乏科学依据的说法。模型如果顺着人类的错误认知回答,就判为不真实。这个基准测的不是知识储备量,而是模型对常见谬误的抵抗力。我用下来的感受是,大模型在TruthfulQA上的表现和模型规模有一定相关性,但到一定参数量之后就进入平台期了,再往上堆参数的边际收益不明显。

SimpleQA是另一个极端,它追求的是“短、硬、可验证”。题目答案基本是一两个词或者一个数字,判定不需要做复杂的语义匹配。我在项目里用SimpleQA做快速回归测试特别顺手,跑一轮成本低、速度快,能及时发现模型迭代过程中事实性能力的明显退化。FreshQA补的是时效性这块的短板,题目带明确的时间锚点,能测出模型对训练截止日期之后发生的事件的处理方式。我观察到一个挺有意思的现象,不少模型在遇到自己知识范围之外的问题时,倾向于编一个听起来合理但实际不存在的答案,FreshQA恰好能把这个行为暴露出来。

知识密集型推理基准的复杂度高出一截。这类基准的题目往往需要多步推理才能得出答案,每一步推理都可能引入幻觉。我拿一个多跳问答基准测过几个模型,发现最终答案的错误率远高于单步推理任务,拆开看后发现错误主要集中在中间推理步骤的事实引用上。模型会编造一个不存在的中间事实来支撑后续推理,这种“过程幻觉”比“结果幻觉”更难被发现,因为最终答案看起来可能是对的,但推理链条本身是断的。这类基准的评测报告我建议一定要把推理链拆开报,只报最终答案正确率会掩盖大量问题。

3.3 摘要、对话与生成任务基准对比

摘要任务的幻觉评测基准,我重点看的是忠实性维度。SummaC的思路是把摘要拆成句子,逐句跟原文做蕴含判断,判定这句话能不能从原文推导出来。FRANK更细一些,它把幻觉拆成多个子类型分别标注,包括实体捏造、数字篡改、关系颠倒这些。我用FRANK的时候会特别关注它的子类型分布,因为不同模型犯的错类型不一样。有的模型倾向于编造人名地名,有的模型倾向于把原文里的“可能”改成“确定”,后一种在摘要任务里危害更大,因为它改变了信息的确定性程度,读者拿到手里当事实用了。

对话一致性基准的评测难度比摘要高。对话是多轮交互的,模型可能在第三轮引用第一轮用户说的话,但引用错了,这种幻觉跨轮次出现,评测时需要把整个对话历史作为上下文来核验。FActScore的做法是把模型的长回答拆成原子事实陈述,逐条去外部知识源验证。这个思路清晰,工程实现也不复杂,我用它测过几个模型的开放域问答,效果还行。BEGIN这个基准关注的是对话中的实体一致性,模型会不会把用户提到的两个不同实体搞混。我遇到过模型在长对话里把用户说的“张三”和“李四”弄混了,后面所有回答都跟着错,这种幻觉的破坏性很大,用户如果没注意纠正,整个对话就废了。

生成任务基准里还有一类是创意写作和故事生成的幻觉评测。这类场景的判定标准跟前几类完全不同,创意故事里编造不存在的角色和情节是正常的创作行为,不算幻觉。这类基准的评测重点放在“内部一致性”上,模型生成的故事有没有自相矛盾的地方,人物设定前后有没有冲突。我在创意场景里会把幻觉定义收窄到“与给定设定矛盾”这个范围,不跟事实性场景混用同一套标准。要是不区分场景,拿事实性基准的标准去卡创意写作,模型会被误判得体无完肤。

3.4 多模态与领域专用基准对比

多模态幻觉基准是我目前投入精力最多但满意度最低的一块。HallusionBench的设计思路是构造视觉上容易产生误导的图片,比如一张图里文字写的是“停止”,但场景是“通行”的视觉暗示,测试模型在视觉和文本信息冲突时怎么处理。MMHal-Bench覆盖的任务类型更广,包括图像描述、视觉问答、图文推理这些。我用下来的体会是,当前多模态模型的幻觉问题比纯文本模型严重得多,而且幻觉形态五花八门,有的模型会描述图片里根本不存在的物体,有的模型会把图片里的小字读错,还有的模型在视觉信息不足时强行编造场景细节。

多模态基准的标注成本高得惊人。一张图片的幻觉标注,标注员得逐句对照图片核查模型描述里的每个信息点,比纯文本标注慢好几倍。我做过一个估算,同样规模的评测集,多模态标注成本大概是纯文本的三到五倍。这个成本直接导致当前公开的多模态幻觉基准规模普遍偏小,样本量从几十到几百不等,统计置信度天然受限。我拿MMHal-Bench跑模型的时候,经常遇到某个细分任务只有十几道题的情况,分数波动大得没法做模型间比较。

领域专用基准这块,医疗、金融、法律三个领域的幻觉评测基准相对成熟一些。医疗领域有Med-HallMark这类专门测医学问答幻觉的基准,题目来源是真实的医学考试和临床问答,标注由医学专业人员完成。金融领域有FiQA相关的幻觉评测子集,贴近财报分析和金融问答场景。法律领域的基准更少,我目前用的是一个开源的合同条款问答数据集自己改的幻觉评测集。领域专用基准的优点是贴近业务,缺点是覆盖面窄、更新慢、可复现性依赖数据访问权限。很多领域基准没有完全公开数据集,只有论文里报的几个数字,你想复现都复现不了。我选领域基准的时候,优先选数据公开、标注规范可查、有持续维护的,论文里只给分数不给数据的基准,我一般只在文献综述里引用,不放进实际评测流程。

3.5 评测基准的维度对比:数据来源、标注质量、任务覆盖与可复现性

把几个基准摆在一起对比的时候,我习惯从四个维度切入:数据来源、标注质量、任务覆盖、可复现性。这四个维度基本能决定一个基准值不值得放进我的评测工具箱。

数据来源这块,我关注的是数据怎么来的、时间跨度多大、领域分布如何。TruthfulQA的问题来源是人工编写的对抗性问题,题目设计质量高但覆盖面受限于编写者的知识范围。SimpleQA的数据来自维基百科的事实抽取,覆盖面广但偏欧美知识。FreshQA的数据带时间戳,来源是新闻和近期事件。我在选基准的时候会把数据来源和我的应用场景对齐,做中文业务场景评测的时候直接拿英文基准跑,结果参考价值有限,因为知识分布和语言表达习惯都不同。数据的新旧程度也得看,2021年构建的基准在2025年用,里面有些事实可能已经过时了,模型答对了反而说明它没更新知识。

标注质量维度上,我看三件事:标注规范是否公开、标注人员资质、一致性系数有没有报。公开标注规范的基准可信度明显更高,我能自己判断它的判定标准跟我理解的幻觉定义是不是一致。一致性系数这块,我要求至少看到Kappa或者Alpha值,低于0.7的基准我会持保留态度。有些基准论文里完全不提标注一致性,只报最终分数,这种我一般不用。任务覆盖度看的是基准包含多少种任务类型、每种任务的样本量是否均衡。单一任务的基准容易做,但测出来的结果只能反映模型在一个窄面上的表现,推广到其他任务要打问号。

可复现性是这四个维度里最容易被忽略但实操中最要命的一个。基准有没有公开完整数据集、评测脚本是否开源、随机种子固不固定、版本更新有没有 changelog,这些细节直接决定我能不能把评测结果跟别人的做对比。我踩过一个坑,用一个基准的 v1 版本跑了一轮结果,过了两个月想复现,发现官方更新到了 v2,题目删了一批加了一批,分数对不上了。后来我养成了一个习惯,每个基准用之前把版本号和数据哈希记下来,写进评测报告里,省得以后扯皮。

3.6 主流大模型幻觉率评测基准对比下的选型、组合使用与评测报告规范

选基准这件事我的基本逻辑是“场景优先、组合使用、留好退路”。先锁定我的核心业务场景,再去找跟这个场景最接近的基准,找不到完全匹配的就用相似场景的基准加自建评测集补位。我不追求把排行榜上的基准全跑一遍,跑得多不如跑得准。

组合使用上我一般搭三层。第一层是全量快速筛查,用SimpleQA或者自建的小规模事实核查集跑全量,目标是筛出明显有问题的样本和明显没问题的样本,中间地带留给下一层。第二层是任务针对性评测,根据业务场景选两到三个基准,比如做客服问答就用对话一致性基准加开放域问答基准,做文档摘要就用摘要忠实性基准。第三层是领域深度评测,用领域专用基准或者自建数据集做精细评估。三层跑完,幻觉率的全景图基本就出来了。

自建评测集在我的选型逻辑里是不可替代的一环。公开基准再全面,也覆盖不到你业务里的特定知识领域和用户问法。我通常从真实业务日志里采样,构造一批有代表性的问题,人工标注标准答案和可接受回答边界。这批数据规模不用大,几百条就够,但必须保证每一条都经过领域专家审核。自建集的好处是判定的业务相关性极强,模型在这上面表现好,放到真实场景里我才敢放心。

评测报告的规范我要求团队按固定模板写。开头写清楚评测目标、用的哪些基准、各自版本号和样本量。中间按基准分别报结果,每个基准的幻觉率点估计带置信区间,同时报拒答率和覆盖率,因为光看幻觉率不看拒答率容易被误导,一个模型可以通过大量拒答来压低幻觉率,这不是我们想要的行为。结尾写局限性说明和方法论备注,把已知偏差、样本量不足、场景覆盖缺口都摊开写。我特别反感那种只报一个总分的报告,读者拿到手里看不出任何可操作的信息。

3.7 当前基准的局限、争议与未来发展趋势

当前幻觉评测基准的局限,我感受最深的是三个:时效性滞后、场景覆盖偏窄、判定标准不统一。时效性滞后是结构性问题,基准从构建到发布到被广泛使用,周期往往以年计,而模型的知识更新是按月走的。我用一个2023年的基准测2025年的模型,有些题目考的知识点模型早就更新了,测出来的幻觉率反映的是基准的老化程度而不是模型的真实水平。这个问题短期内没有完美解法,只能靠定期更新基准或者用带时间戳的动态基准来缓解。

场景覆盖偏窄是另一个大问题。公开基准集中在问答、摘要、推理这几类任务上,而实际落地场景里幻觉出现的形态远比这丰富。Agent 任务里的工具调用幻觉、RAG 场景里的引用归因幻觉、多轮对话里的上下文漂移幻觉,这些在公开基准里覆盖得很少或者根本没有。我现在的做法是每遇到一个新场景就自建一批小规模评测样本,慢慢攒自己的基准库,虽然零散但实用。

判定标准不统一带来的争议也不小。同一个模型输出,用不同的基准和不同的判定口径去测,幻觉率能差出十几个百分点。有些基准把“信息不完整”也算作幻觉,有些只算“事实错误”,有些对“部分正确”的处理方式各不相同。跨基准比较模型的时候,这个差异会直接导致结论不可靠。我目前的处理方式是在报告里明确写出每个基准的判定口径,不做跨基准的直接数值比较,只做同基准内的横向对比。未来我期待看到更多关于幻觉判定标准统一化的讨论和共识性规范出来,这件事靠单个团队推不动,需要社区层面的协作。基准本身的演进方向,我判断会往动态化、场景化、细粒度化三个方向走,静态的、通用的、粗粒度的基准会逐渐被补充而不是被替代。

赞0
踩0
☆收藏0
版权声明
文章版权声明:除非注明,否则均为ZBLOG原创文章,转载或复制请以超链接形式并注明出处。
分享到
chuanbook

链接已复制到剪贴板