导读:本期聚焦于追梦人创作的《大模型幻觉基准怎么定义?事实性与忠实性的区别和评估方法详解》,敬请观看详情。评测大模型时最容易被混淆的一对概念就是事实性和忠实性。前者衡量模型输出是否与真实世界知识一致,比如回答的日期、人物、数据是否正确;后者衡量输出是否忠于给定的上下文或用户指令,比如摘要任务中是否篡改了原文含义。两者评判标准不同,一个可以离线核查,一个必须对照源文本。本文围绕这对概念的界定展开,梳理内在幻觉与外在幻觉的划分方式,介绍常用的自动化评估指标、人工标注流程以及常见基准数据集的设计思路,并分析混合场景下两类幻觉同时出现时的处理策略,帮助构建更合理的评测体系,减少因定义不清导致的评估偏差。

做幻觉评测时,很多人遇到的第一个难题不是指标设计,而是定义本身。同一句输出,有人认为它是幻觉,有人认为它只是不够准确,争论的根源往往在于双方使用的事实性与忠实性标准不同。把这两个概念彻底厘清,是搭建任何幻觉评测基准之前必须完成的工作,否则后续的标注规范、自动化指标和最终结论都会建立在模糊的地基上。

大模型幻觉基准怎么定义?事实性与忠实性的区别和评估方法详解

事实性与忠实性到底在测什么

事实性关注的是模型输出与世界真实知识之间的关系。判断一句陈述是否具备事实性,需要拿它去和外部权威知识源比对,例如百科数据、结构化知识库或专业领域数据库。比如模型说某位科学家出生于1900年,这句话要么与真实记录一致,要么不一致,判断依据完全在模型之外。

忠实性关注的则是模型输出与给定输入之间的关系。典型场景是摘要、翻译、问答中的有参考作答。模型生成的摘要如果引入了原文中不存在的信息,即便这条信息在现实世界是真的,也构成了忠实性层面的幻觉。这一点非常关键:一句完全符合事实的话,完全可能是不忠实的。

举个具体例子。原文写道某公司去年的营收为十亿元,模型摘要中写成了十五亿元。从事实性角度看,这个数字是错的;从忠实性角度看,它篡改了源文本信息,是典型的外在幻觉。反过来,如果原文没有提任何营收数字,模型自己补充了一句该公司营收十二亿元,而这个数字恰好是准确的,那么这句话事实性没问题,忠实性却出现了内在幻觉,因为它引入了源文本之外的内容。

内在幻觉与外在幻觉的划分逻辑

学术界常用的二分法把幻觉分为内在幻觉和外在幻觉,这个划分与事实性、忠实性这对概念密切相关。内在幻觉指输出与源输入存在直接矛盾,例如源文本说A,输出说非A,两者可以直接对照发现冲突。外在幻觉指输出引入了无法从源输入中验证的内容,这些内容可能正确也可能错误,单看输入本身无法判断。

p>这种划分的意义在于指导标注和自动化评估的设计。内在幻觉因为存在明确的矛盾关系,可以通过 entailment 类自然语言推理模型做自动检测,判断输出中的每个句子能否被源输入蕴含。外在幻觉则必须借助外部知识源,或者干脆交给人工判断,成本和复杂度都明显更高。

在开放式生成场景中,问题会更复杂。用户让模型介绍某个历史事件,模型既没有给定的源文本,也不能随意编造,此时评估实际上混合了两种维度:内容是否符合史实属于事实性,内容是否符合用户的指令边界属于忠实性。例如用户只要求介绍某事件的经济背景,模型却大篇幅描写政治背景,这不算事实错误,但属于对指令的不忠实。设计基准时如果只测事实性,这类问题会被完全漏掉。

自动化评估指标的设计与局限

忠实性方向的自动化指标相对成熟。基于自然语言推理的方法会把生成结果切分为句子级单元,逐句判断是否被源文本蕴含,常用的思路是计算非蕴含句子的比例作为幻觉率。这类方法在有明确输入的任务上效果不错,但受限于蕴含模型本身的能力,对隐含推理、数值计算类内容的判断经常出错。

基于大模型评判的方法近年使用广泛。让一个能力较强的模型充当裁判,对照源文本或检索到的证据对输出逐条打分,输出幻觉判定和理由。这种方法的优点是覆盖面广,能处理语义层面的细微偏差,缺点是裁判模型自身也有幻觉风险,评估结果的稳定性需要通过多次采样和人工抽检来保障。

import json

# 用裁判模型评估忠实性的典型提示词结构
prompt = """你是一个严格的文本评估专家。
源文本:{source}
待评估文本:{hypothesis}
请逐句判断待评估文本中的信息能否被源文本支持。
输出格式:
[{{"sentence": "...", "label": "supported|not_supported", "reason": "..."}}]
"""

def evaluate_faithfulness(source, hypothesis, judge_fn):
    result = judge_fn(prompt.format(source=source, hypothesis=hypothesis))
    items = json.loads(result)
    total = len(items)
    supported = sum(1 for x in items if x["label"] == "supported")
    return supported / total if total else 1.0

score = evaluate_faithfulness(source_text, summary_text, call_judge)
print(f"忠实性得分: {score:.2f}")

事实性方向的自动化评估更依赖知识源。常见做法是先做声明抽取,把长文本拆成原子化的事实陈述,再逐条通过搜索引擎或知识库检索证据,判断每条声明是否得到支持。这个流水线中的每一步都会引入误差,声明抽取不准会污染下游判断,检索质量差会导致大量声明无法验证。因此事实性指标通常需要报告未验证声明的比例,而不是简单地把验证不了的都算作幻觉。

基准数据集构建时的实操要点

定义清晰之后,标注规范是落地的关键。建议在规范中明确三点:第一,判断基准是什么,是源文本、检索证据还是标注员自身知识;第二,粒度是什么,是句子级、声明级还是实体级;第三,冲突如何裁决,多名标注员意见不一致时以什么流程收敛。很多团队跳过这三点直接开始标数据,后期返工的代价极高。

评估维度建议分开报告而不是合并成一个分数。一个输出可以同时存在事实错误和忠实性问题,把两者混在一个幻觉率里,会让分析失去方向。理想的做法是用一张表分别呈现:事实错误数、未验证声明数、与源文本矛盾数、超出源文本的引入内容数,这样能精确定位模型的问题出在知识储备还是指令遵循。

最后要注意评测集的污染问题。如果基准中的问题在训练数据里出现过,模型可能靠记忆而非能力答对,事实性得分会虚高。可以通过改写问题、替换实体、使用动态更新的知识截止点之后的事件等方式缓解。把事实性、忠实性、内外在幻觉这几个维度在基准设计文档里写成明确定义,并让所有标注员通过一致性测试后再上岗,是构建可信幻觉评测体系最基础也最有效的一步。

大模型幻觉事实性评估忠实性修改时间:2026-09-13 00:52:36

免责声明:已尽一切努力确保本网站所含信息的准确性。网站作品多为原创整理与精心创作,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们进行处理Email:chomcom@qq.com。
引用或转载本作品时,请注明当前出处:https://www.ipipp.com/html/20260913/55662.html,基于非商业用途的前提下,欢迎转载或二创本作品。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。