《大模型幻觉研究(上):数据质量和分布如何导致幻觉》
《大模型幻觉研究(中):如何检测幻觉》(本文)
《大模型幻觉研究(下):如何缓解幻觉》(拖延中)
1 序言
我们在使用『信息+LLM』做各类报告生成的时候,发现生成的内容中有40%~50%捏造的、或未遵循Prompt指令的。惊讶之余,研究这种情况,发现这是 LLM 固有的『幻觉』问题。
在遇到很多模型幻觉导致产品上产出结果不如预期的 case,每每讨论原因和方案的时候,收到的答案都是:因模型缺知识,需要 RAG 来解决。
得到这类答案后,直觉上还是存在很多问题没有回答:
- 如果仅仅是因缺知识,那么这类问题不应该在各个场景反复提及讨论。
- 是不是还有其他原因没有发现、或者根本原因没有找到,导致方案无法彻底解决问题?
- 亦或是方案有很多挑战无法落地,导致无法解决幻觉问题?
- 为什么要等到上线后用户反馈才能发现幻觉,没有靠谱的检测和评估方案?
带着这些疑问,我用了2个多月总共研究了20+论文、做了大量测试验证,最终完成了大模型幻觉相关的3篇文章。这是第二篇:
本文的主要内容结构如下:
方案章节内容主要由方案适用场景(优缺点、使用限制等)、方案的实现组成的。

2 幻觉的检测方案
参考第一篇文章:
我们将大模型幻觉分为2大类:事实性幻觉和忠实性幻觉。
- 事实性幻觉的检测:检测大型语言模型的通过内部信息生成的输出是否符合现实世界的事实。
- 忠实性幻觉的检测,检测模型输出与所提供上下文信息是否一致。
无论哪类幻觉,基本上都是因为因训练数据缺失、数据质量差、训练欠拟合、推理的概率性 等导致。检测幻觉的主要方案如下:
幻觉分类和检测方案:| 幻觉分类 | 子分类 | 3类检测方案 |
|---|---|---|
| 事实性幻觉 | 事实不一致 | 1. 基于外部知识的检测(RAG) 2. 基于LLM内置知识的检测 3. 基于LLM推理时token的概率分布来检测 |
| 事实虚构 | ||
| 忠实性幻觉 | 指令不一致 | |
| 上下文不一致 | ||
| 逻辑不一致 |
不同种类的检测方案,有些是来自实际场景,有些是来自论文的,但是这些方案有些是经过实战验证、有些是通过demo验证,文章中提供了脱敏后的测试代码。
2.1 基于外部知识的检测(RAG)
此类方案的核心思想是通过使用『客观事实』与『LLM输出』做比对,检测『LLM输出』是否存在幻觉。适用性:各类原因导致的幻觉(例如:因训练数据缺失、数据质量差、训练欠拟合、推理的概率性 等等)。
但缺点在于依赖外部的『客观事实』。
主要实现是FactScore方案及相关变种方案。
2.1.1 使用外部知识检测:FactScore方案介绍
arXiv论文:《FactScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation》
核心思想:分而治之。将长文本生成分解为多个原子事实,并根据维基百科等知识库单独验证每个事实,然后根据每个原子事实是否真实,得出长文本整体的真实性分数。

这个流程有2个关键节点的能力指标定义:
2.1.1.1 节点②『原子事实分解』的评估指标及实现Prompt
总共有 4 个指标评估 “分解原子事实” 节点的质量:
- 原子率 确保每个事实可被单独、清晰地验证;
- 准确率和覆盖率 确保分解结果能忠实反映原文本的全部重要信息;
- 冗余率 确保评分的客观性。
只有同时提升这些指标,分解出的原子事实才能为后续的事实验证和 FactScore 计算提供可信数据。
- 原子率,评估事实的『原子性』: 每个分解出的事实是否为 “不可再分的基本信息单位”,即不包含多个独立信息点,仅承载单一事实。
- 解释: 若一个 “原子事实” 包含多个信息点,会导致验证时无法区分每个信息点的正误,进而扭曲评分结果。
- 例如: “牛顿是英国物理学家且发明了蒸汽机”,其中 “发明蒸汽机” 错误,但 “英国物理学家” 正确,此时无法单独标记这2个事实。
- 准确率,评估事实的『忠实性』:分解出的原子事实是否忠实于原文本的语义,未歪曲、篡改或错误转述原文信息。
- 解释 :若分解过程扭曲了原文含义,后续验证将基于 “错误事实” 进行,导致评分与原文本的客观事实性脱节。
- 例如:
- 原文本:“特斯拉成立于 2003 年,马斯克在 2004 年投资并加入公司。”
- 合格分解:“马斯克在 2004 年投资特斯拉”“马斯克在 2004 年加入特斯拉”(忠实原文)。
- 不合格分解:“马斯克在 2003 年创立特斯拉”(歪曲原文,原文中特斯拉 2003 年成立,马斯克 2004 年加入,非创始人)。
- 覆盖率,评估事实的『穷尽性』:分解出的原子事实集合是否完整覆盖原文本中所有重要事实(即对文本核心含义有影响的信息),无关键信息遗漏。
- 解释:若遗漏重要事实,FactScore 将无法评估文本整体的事实性(例如原文本核心信息 “爱因斯坦提出相对论” 未被分解,会导致评分忽略这一关键事实的正误)。
- 例如:原文本:“居里夫人是波兰裔法国科学家,发现了镭和钋,获诺贝尔物理学奖。” 包含了4个原子事实。如果只分解出3个,那么召回率是75%
- 冗余率,评估事实的『唯一性』:分解出的原子事实集合中是否不存在重复或高度相似的事实(即同一事实未被多次分解)。
- 解释:冗余会导致 “支持性事实” 被重复计算,造成 FactScore虚高。
FactScore这篇论文未考虑『事实之间的依赖关系』:例如因果依赖、条件依赖、层级依赖等,只考虑事实本身。针对依赖关系正确性的检测,是一个机会。
原子事实分解的Prompt:
- 在GPT-4.1验证通过。
- Prompt部分组成:原子事实定义、分解规则、自检修复规则、输出格式。
任务:将以下文本分解为『原子事实』。请严格遵循定义:
定义:原子事实是**单一、可独立验证的信息陈述**。
即:原子事实 = 单一客观信息点 + 可独立验证(如“X的Y属性为Z”)。
分解『原子事实』需满足规则,请严格遵循如下规则分解:
1. 仅包含一个信息点(如“人物A的职业”“事件B的时间”),不可拆分出多个独立事实;
2. 不包含主观观点(如“可能”“应该”),仅陈述客观信息;
3. 忠实于原文,不添加、修改或遗漏信息;
4. 合并去重,避免重复(同一事实不重复出现)。
5. 若文本含因果、条件关系(如“因为X,所以Y”),需拆分为独立事实(如“X发生”“Y发生”“X导致Y”);
6. 若含复合属性(如“人物A的职业是B,毕业于C”),需拆分为“职业”“毕业院校”两个事实;
7. 数值、日期、地点等具体信息需单独成句(如“温度为25℃”“会议在2023年召开”)。
8 保留复合信息(如“X在Y时间做了Z事且结果是W”,需拆分为“X在Y时间做了Z事”“Z事的结果是W”)
『原子事实』分解完成后,请严格遵循清单自检:
1. 每个事实是否仅含一个信息点?(原子性)
2. 是否覆盖原文所有“时间/地点/数值/人物属性/事件”等客观信息?(完整性)
3. 是否有添加/修改/删除原文信息?(准确性)
4. 事实之间是否相互独立,无因果/条件依赖?(独立性)
5. 是否有重复或高度相似的事实?(无冗余性)
若有任何一项不满足,请立即修正。修正后再输出最终结果。
分解『原子事实』的正面示例:
原文:“马斯克1971年生于南非,是特斯拉CEO。”
分解:
1. 马斯克生于1971年
2. 马斯克出生在南非
3. 马斯克是特斯拉的CEO
分解『原子事实』的反面示例(错误分解及原因):
- “马斯克1971年生于南非且是CEO”(错误:包含两个信息点,不满足原子性)
- “马斯克是企业家”(错误:原文未提及“企业家”,添加信息)
- “马斯克可能生于1971年”(错误:原文无“可能”,修改信息)
输出格式:
- 按序号列出所有原子事实,每条仅含一个信息点。
- 若文本无客观事实(如纯观点),输出“无原子事实”。
文本:
{待分解的生成文本}
注意:在不同的场景,Prompt需要做针对性调优。例如:
- 学术文献摘要,有隐含的第一作者、第二作者的事实,需要描述出来。Prompt需要增加额外规则:
学术文本额外规则:需重点拆解“研究对象、方法、结论、作者、发表时间、期刊”等信息,例如:
原文:“Smith(2023)在《Nature》发表论文,用AI方法研究癌症,发现X蛋白与肺癌相关。”
分解:
1. 该论文的第一作者(或通讯作者)是Smith
2. 该论文发表于2023年
3. 该论文发表在《Nature》期刊
4. 该论文使用AI方法研究癌症
5. 该论文的结论是X蛋白与肺癌相关
- 代码片段,一般有函数描述相关的事实。Prompt需要额外增加规则:
代码文本额外规则:需拆解“函数功能、参数含义、返回值、执行结果”等可验证信息,例如:
原文:“以下Python函数def add(a,b): return a+b,用于计算两数之和,当a=2,b=3时返回5。”
分解:
1. 该函数的名称是add
2. 该函数的参数是a和b
3. 该函数的功能是计算两数之和
4. 该函数的返回值是a与b的和
5. 当a=2且b=3时,该函数的返回值是5
效果:


2.1.1.2 节点③『原子事实验证』的评估指标及实现Prompt
这类似多分类任务:原子事实可以被分类为3类(『真实』、『虚假』、『存疑』)。参考分类任务的指标:
- 准确率:分类正确的样本数占总样本数的比例。
- 精确率/召回率/F1分数:
- 精确率:预测为第 i 类的样本中真正属于第 i 类的比例。
- 召回率:真正属于第 i 类的样本中被正确分类的比例
- F1分数:精确率和召回率的调和平均数。
原子事实验证的Prompt:
- 在GPT-4.1验证通过。
- Prompt部分组成:验证规则、输出格式
请使用『客观事实』验证『原子事实』的真实性:
请严格遵循如下验证规则:
1. 请根据事实的核心要素(如主体、事件、时间、地点、数据等),只使用『客观事实』来验证『原子事实』为“真实”“虚假”还是“存疑”.
2. 请不要使用『客观事实』未提供的概念对『原子事实』做判断
3. 请不要使用『客观事实』通过推理、假设对『原子事实』做判断
4. 说明判断依据(若为“真实”,需列举支持的证据,证据必须来源『客观事实』;若为“虚假”,需指出矛盾点,与『客观事实』矛盾的地方;若为“存疑”,需说明信息不足的原因,『客观事实』缺乏哪些信息)。
客观事实:{客观事实}
原子事实:{原子事实}
例如:

2.1.1.3 FactScore方案的变种
arXiv论文:《FacTool: Factuality Detection in Generative AI–A Tool Augmented Framework for Multi-Task and Multi-Domain Scenarios》
FacTool,一个任务和领域无关的工具增强框架,用于检测生成式 AI 文本中的事实性错误。该框架通过『事实提取**、查询生成、工具查询、证据收集、一致性验证』**五个核心组件,结合 Google 搜索、代码解释器等外部工具及 LLM 推理能力,实现对知识问答、代码生成、数学推理和科学文献综述等多任务的事实性检测。
下图中:TacTool新增的节点是红色的。

arXiv论文:《Retrieving Supporting Evidence for LLMs Generated Answers.》
本文提出一种检索增强的 LLM 幻觉自检测方法:通过 LLM 生成问题答案后,将问题与生成答案组合为查询,从数据集检索支持证据(客观事实),再让 LLM 判断生成答案与证据(客观事实)的一致性。

2.2 基于LLM内置知识的检测
假设此方案只有一个LLM,不依赖其他LLM。
这类方案的核心思想是:LLM已经压缩存储大量的客观事实,则不需依赖使用外部的。
适用性:主要适合于『训练欠拟合、推理的概率性』等导致的幻觉,一般表现是相似问题的LLM输出回答不同。
缺点:仅依赖LLM内置的知识,由于LLM本身并非可靠的事实数据库,仅仅依靠LLM的事实进行事实核查可能会导致不准确的检测。
2.2.1 使用模型内置知识检测:CoVe方案介绍
arXiv论文:《Chain-of-Verification Reduces Hallucination in Large Language Models》
这个方案的通过四步流程(生成基线回答→规划验证问题→执行验证→生成最终验证回答)减少大语言模型的幻觉。其中『执行验证』有4类实现方案:
“基线回答”(Baseline Response)指的是大语言模型在未经过任何验证或修正流程时,对用户查询生成的初始回答。是后续验证和改进的基准。
- 联合验证,Joint Verification:单提示生成问题和答案,在单一提示中同时生成验证问题与回答,流程紧凑但易受原回复幻觉影响。
- 两步验证,2-step Verification:分两步生成问题和答案(排除基线干扰),切断原回复上下文依赖。
- 优势:在 Wikidata 任务中,两步法比联合验证法减少 30% 的错误实体。
- 因子验证,Factored Verification:将每个验证问题作为独立提示回答,完全消除上下文干扰。
- 效果:CoVe 的因子化变体在 MultiSpanQA 中 F1 提升 23%(0.39→0.48),为各任务中最优方案之一。
- 因子化 + 修订,Factor+Revise:在因子化回答后,显式交叉检查验证结果与原回答的一致性,标记并修正不一致事实(注意:这个方案提供了幻觉校正能力)

注意:流程中的LLM 可以是同一个,也可以不同。论文中用的是同一个LLM。
下面是节点②、节点③、节点④的实现Prompt及LLM响应(基于GPT4.1验证)
2.2.1.1 节点② 规划验证问题Prompt
根据以下查询和基线响应,为基线响应中的每个事实陈述生成验证问题,以检查其正确性。
查询:墨西哥-美国战争的相关信息?
基线响应:墨西哥-美国战争是1845年至1847年间美国与墨西哥之间的一场武装冲突。
要求:针对战争的时间、参战方等事实生成具体问题,例如“[事实点]的具体信息是什么?”
示例:
若基线响应为“法国大革命发生在1789-1799年”,验证问题可为“法国大革命的起止时间是什么?”
你的验证问题:
模型返回2个问题:

2.2.1.2 节点③执行验证
使用Factor+Revise方案执行验证,特点是每个问题单独验证一次:
针对问题①的独立回答Prompt:
回答以下问题,只需提供事实性答案,无需额外解释。
问题:墨西哥-美国战争的起止时间是什么?
答案:
问题①的模型回答:

针对问题①的验证Prompt:
检查以下基线响应中的事实与验证答案是否一致,输出“CONSISTENT”(一致)或“INCONSISTENT”(不一致),并说明原因。
基线事实:墨西哥-美国战争发生在1845年至1847年。
验证答案:墨西哥-美国战争的起止时间是1846年至1848年。
结果:
问题①的模型验证回答

针对问题②的Prompt(这里提供最终的校验结论)

2.2.1.3 节点④生成最终验证答案Prompt
最终LLM将 『战争时间从1845年-1847年』调整为『1846年-1848年』

2.2.2 使用模型内置知识检测:Self-Consistency方案介绍
-
arXiv论文《SelfCheckGPT:Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models》:
- 核心思想是,当一个大语言模型针对某个特定概念进行训练后,采样得到的回复可能会相似,并包含一致的事实。但是对于虚构事实,同一个问题的多次随机采样回复可能会出现分歧,甚至相互矛盾。通过对大语言模型的多次回复之间的信息一致性,从而判断回复是基于客观事实还是虚构的。同时由于SelfCheckGPT仅利用采样回复,优点是无需依赖外部知识。
-
升级版 arXiv论文《Do Language Models Know When They’re Hallucinating References?》:核心思想是通过对原问题及衍生问题进行多次随机采样回复检测,原问题的多次随机采样检测被论文定义为『直接查询DirectQuery』,衍生问题的多次随机采样检测被定义为『Indirect Query』。此方案同样无需依赖外部知识。例如:

- 升级版《Hallucination Detection in Large Language Models with Metamorphic Relations》。这篇论文绍了MetaQA,一种利用变质关系(MRs) 来提示突变的自包含幻觉检测方法,无需外部资源,适用于开源和闭源大型语言模型(LLMs)。其核心假设是若 LLM 响应存在幻觉,设计的变质关系会被违反。
通过与零资源幻觉检测方法SelfCheckGPT在多个数据集上进行评估,MetaQA 在精确率(0.041 vs 0.113)、召回率(0.143 s 0.430)和 F1 分数(0.154 vs 0.368) 上均表现更优。
变质关系(Metamorphic Relations, MRs) 是指通过预设的语义逻辑约束,对模型输出进行有针对性的变换(即 “突变”),并验证变换前后的输出是否符合预期规律,从而判断原始输出是否存在幻觉的一种机制。其核心思想源于软件测试中的 “变质测试”,即通过检查系统对输入变换的响应是否符合某种固有属性,来验证系统的可靠性。 论文中有2种变质关系:同义关系(Synonymy Relation)、反义关系(Antonymy Relation)。
变质关系的核心作用是暴露幻觉导致的逻辑矛盾:幻觉往往表现为模型输出的 “语义不自洽”,而通过同义 / 反义突变的验证,可放大这种矛盾(如原始回答为假时,同义突变可能被验证为真,违反同义关系),从而实现对幻觉的检测。
MetaQA的变质关系的核心是通过提示词引导模型生成符合 “同义”“反义” 逻辑的突变样本,相关的prompt:
a. 同义突变模板强制使用同义词替换和句式转换,确保语义一致性
b. 反义突变模板明确要求通过否定词或反义词反转语义,避免歧义
c. 验证模板限制输出为 “是 / 否 / 不确定”,简化后续分数计算
# 1. 基础响应生成(确保答案简洁、事实性)
BASE_PROMPT = """请用1-2句话直接回答以下问题,只输出答案本身,不添加额外解释:
问题:{question}
答案:"""
# 2. 同义突变生成(保持语义不变,基于同义词/句式转换)
SYNONYM_PROMPT = """请将以下句子改写为同义句,要求:
1. 保持核心事实完全一致
2. 使用不同的词汇(如同义词替换)或句式(主动改被动等)
3. 长度与原句相近
原句:{base_answer}
同义句:"""
# 3. 反义突变生成(反转语义,基于反义词/否定词)
ANTONYM_PROMPT = """请将以下句子改写为反义句,要求:
1. 核心事实与原句完全相反
2. 通过添加否定词(如“不”“没有”)、替换反义词实现
3. 长度与原句相近
原句:{base_answer}
反义句:"""
# 4. 突变验证(判断突变样本的事实性)
VERIFY_PROMPT = """请判断以下句子是否符合客观事实?仅用“是”“否”或“不确定”回答:
句子:{mutation}
判断:"""
对幻觉的评估策略:
a. 若同义突变与基础答案 “一真一假”,或反义突变与基础答案 “同真同假”,则判定为违反变质关系,分数升高
b. 分数越高,说明模型输出的逻辑自洽性越差,幻觉可能性越高.
2.2.3 使用模型内置知识检测:Multi-Debate方案介绍
此类方案在业界还有一系列基于Agent的实现,统称为MAD(Multi-Agent-Debate),用于降低模型输出幻觉。
例如:
- 《GroupDebate: Enhancing the Efficiency of Multi-Agent Debate Using Group Discussion》
- 《Can LLMs Speak For Diverse People? Tuning LLMs via Debate to Generate Controllable Controversial Statements》
- 《ChatEval: Towards Better LLM-based Evaluators through Multi-Agent Debate》
- 《Improving Multi-Agent Debate with Sparse Communication Topology》
- 《COEVOL: Constructing Better Responses for Instruction Finetuning through Multi-Agent Cooperation》
- 《DebUnc: Mitigating Hallucinations in Large Language Model Agent Communication with Uncertainty Estimations》
- 《LM vs LM: Detecting Factual Errors via Cross Examination》
这里以《LM vs LM: Detecting Factual Errors via Cross Examination》为例进行介绍:
核心思想:用一个审查者大语言模型来询问一个被审查者大语言模型,通过使用多轮交互收集的信息来判断原始输出的正确性。
这个方案有2个角色Examinee 和 Examiner, 分3个阶段完成。
- Examinee:负责回答问题,给出事实
- Examiner:负责提问,使用提问和Examinee回答的事实,判断原始事实的正确性。

这个方案的评估指标:
精确率、召回率、及F1-Score
2.3 基于LLM推理时token的概率分布来检测
如前文所述,LLM推理过程中,是基于概率的方式预测每个Token,即LLMs 生成文本时遵循自回归(autoregressive)原则:即每个令牌的生成依赖于前文所有令牌组成的上下文。例如,生成第n个令牌$ t_n $时,模型会基于前n-1个令牌 t 1 , t 2 , . . . , t n − 1 t_1, t_2, ..., t_{n-1} t1,t2,...,tn−1,计算词汇表中所有可能令牌的条件概率分布 p ( t n ∣ t 1 , t 2 , . . . , t n − 1 ) p(t_n|t_1, t_2, ..., t_{n-1}) p(tn∣t1,t2,...,tn−1)。

此类方案的核心思想是 使用token概率或熵等指标来衡量推理行为的不确定性,概率越低表示不确定性越高。
当前业界的方案有:
- Mean Token Entropy(平均令牌熵):计算所有生成令牌的平均熵值评估不确定性。熵值越低,模型对生成内容的信心越高。熵值衡量概率分布的混乱程度,当模型对某个令牌的生成概率接近 1(其他令牌概率接近 0)时,熵值最小(信心最高);当概率均匀分布时,熵值最大(信心最低)。
- TokenSAR:考虑到不同Token对语义的贡献不同(如关键词比虚词更重要),通过加权平均负对数概率评估不确定性:值越低,信心越高。
此类方案的限制在于:只适用于开源模型,不适用闭源模型。 这里不展开详细方案介绍。
- 开源模型由于模型代码和权重公开,可通过修改推理代码直接提取每个生成步骤的概率分布。
- 闭源模型(如 GPT等),通常不对外提供生成过程中的令牌概率分布,仅返回最终生成的文本,因此无法直接获取 p ( t n ∣ t 1 , t 2 , . . . , t n − 1 ) p(t_n|t_1,t_2,...,t_{n-1}) p(tn∣t1,t2,...,tn−1)。
3. 大模型输出幻觉的评估体系
在上面的一些检测方案中,会介绍一些指标来展示各个方案的能力水位。实际上幻觉评估有一套指标体系,从不同视角来评估幻觉的严重程度。
3.1 幻觉评估的指标体系
大模型幻觉检测实际上是一个分类任务。参考分类任务的指标:
-
准确率(Accuracy)
● 口径:检测模型是否正确识别生成内容中的幻觉(即判断为幻觉或非幻觉的正确比例)。
● 意义:反映检测模型整体的正确性,适用于标签明确的测试集。但在幻觉分布不均衡时可能失真。准确率受样本分布影响大,若测试集中大部分问题简单,模型易取得高准确率,可能掩盖其在复杂问题上产生幻觉的情况。
● 公式: Accuracy = 正确预测的样本数 总样本数 \text{Accuracy} = \frac{\text{正确预测的样本数}}{\text{总样本数}} Accuracy=总样本数正确预测的样本数 -
精确率(Precision)
● 口径:在检测模型判定为幻觉的样本中,实际为幻觉的比例。
● 意义:衡量检测模型避免误判非幻觉为幻觉的能力,高精确率表示误报(false positive)较少。
● 公式: Precision = 真阳性 (TP) 真阳性 (TP) + 假阳性 (FP) \text{Precision} = \frac{\text{真阳性 (TP)}}{\text{真阳性 (TP)} + \text{假阳性 (FP)}} Precision=真阳性 (TP)+假阳性 (FP)真阳性 (TP) -
召回率(Recall)
● 口径:在所有实际幻觉样本中,检测模型正确识别为幻觉的比例。
● 意义:衡量检测模型捕捉幻觉的能力,高召回率表示漏报(false negative)较少。召回率反映模型能够正确识别并避免产生幻觉的能力。即正确回答数量占所有应正确回答数量(包括模型正确回答和因幻觉错误回答的问题中本应正确的部分)的比例。假设共有90个问题应能正确回答,模型正确回答80个,则召回率约为88.9%。召回率低可能意味着模型遗漏了许多本应正确回答的内容,产生较多幻觉,但单独使用召回率也无法全面评估幻觉情况。
● 公式: Recall = 真阳性 (TP) 真阳性 (TP) + 假阴性 (FN) \text{Recall} = \frac{\text{真阳性 (TP)}}{\text{真阳性 (TP)} + \text{假阴性 (FN)}} Recall=真阳性 (TP)+假阴性 (FN)真阳性 (TP) -
F1值(F1-score)
● 口径:精确率和召回率的调和平均数。
● 意义:综合衡量检测模型在精确率和召回率之间的平衡,适合不均衡数据集。F1值综合考虑准确率和召回率,是二者的调和平均数,能更全面反映模型在幻觉评估中的性能。F1值越高,模型在避免幻觉和生成准确内容方面表现越好。例如,某模型在特定测试集上准确率为75%,召回率为80%,经计算F1值约为77.4%。
● 公式: F1 = 2 ⋅ Precision ⋅ Recall Precision + Recall \text{F1} = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} F1=2⋅Precision+RecallPrecision⋅Recall
还有一些和幻觉有相关性的指标:
-
困惑度(Perplexity)
● 口径:困惑度是语言模型对给定文本序列的预测不确定性的度量,基于模型对下一个词的概率分布计算。数学上,困惑度是交叉熵损失的指数形式,表示模型对测试数据的不确定程度。
● 意义:高困惑度可能暗示模型生成的内容偏离了其训练数据分布,这有时与幻觉相关。例如,模型生成不合逻辑或虚构内容时,可能因概率分布异常导致困惑度升高。
○ 困惑度无法直接区分幻觉与非幻觉,因为它只反映模型的语言流畅性,而非内容的事实性。
○ 低困惑度表示表示模型对生成内容更有把握,仍然有可能包含幻觉(例如,流畅但错误的事实)。
○ 困惑度更适合评估模型的语言建模能力,而非事实一致性。 -
BLEU/ROUGE/METEOR
● 口径:
○ BLEU:基于n-gram重叠,衡量生成文本与参考文本的相似度。
○ ROUGE:侧重于召回率,评估生成文本与参考文本的词语或短语重叠。
○ METEOR:结合同义词和词干匹配,评估语义相似性。
● 意义:这些指标间接评估幻觉,通过比较生成内容与真实参考文本的相似性,相似度低可能暗示幻觉存在。但它们对语义一致性敏感度有限。
3.2 幻觉评估的方案
幻觉的评估方法则包括人工评估和自动评估两大类。
- 人工评估依赖领域专家的知识和经验进行细致审查,这个成本太高:各个领域都需要让组织专家来人工评测,不可持续发展。
- 自动评估则利用算法和工具进行高效、客观的判断。因为各个领域都有自己特殊的知识,需要针对性的幻觉检测评测集来评估,如下是业界常用的评测集:
| 评测集名称 | 领域 | 特点 |
|---|---|---|
| HaluEval | 通用知识、问答(QA)、基于知识的对话、文本摘要 | 大规模基准(35K 数据点),包含通用用户查询和任务特定示例,人工标注的幻觉样本,用于评估LLM识别幻觉的能力。 |
| DefAn | 体育、澳大利亚人口普查、诺贝尔奖、娱乐、世界组织、QS排名、会议地点、数学 | 超过75,000个提示,跨越八个领域,设计用于获取明确答案,分为公开和隐藏部分,覆盖广泛领域,包括部分领域的改写响应。 |
| TruthfulQA | 38个类别,包括健康、法律、金融、政治等 | 用于测量语言模型在回答问题时的真实性,包含多项选择和开放式任务,针对常见误解设计问题,评估模型是否模仿人类的虚假信息。 |
| SummEval | 新闻摘要 | 用于评估摘要的Rouge分数,专注于事实一致性,常用于新闻领域的摘要任务。 |
| HaluBench | 各种(例如COVID-19、医学、数学问题、金融) | 包含多个数据集(如CovidQA、PubMedQA、DROP等),用于内在幻觉评估,包含扰动示例。 |
:如何检测幻觉&spm=1001.2101.3001.5002&articleId=149595779&d=1&t=3&u=16fe94aac7aa4e009748d85ee06411a4)
507

被折叠的 条评论
为什么被折叠?



