当企业部署一个大模型用于内部知识库问答时,一个典型故障是:用户询问“公司去年的营收增长率是多少?”,模型回答了一个看似合理但完全错误的数字。这种“幻觉”并非偶然错误,而是模型在模仿训练数据中的常见误解或编造不可验证信息。直接使用模型输出的置信度作为可靠性指标往往失效,因为幻觉回答可能同样自信。为此,研究者设计了专门的基准来系统评估模型的幻觉倾向,其中 TruthfulQA 和 HaluEval 是两种思路迥异的代表。
TruthfulQA 由 Lin 等人于 2021 年提出,核心思想是:人类因常见误解会错误回答某些问题,若模型也答错,则说明它模仿了人类的错误认知。该基准包含 817 个问题,覆盖健康、法律、金融等 38 个类别,每个问题都有人类因误解而给出的错误答案。HaluEval 则于 2023 年由 Li 等人发布,它不依赖预定义的问答对,而是利用 ChatGPT 自动生成大量幻觉样本,并人工标注,形成一个包含 5,000 个通用问答和 30,000 个特定任务样本的数据集,重点评估模型识别幻觉的能力。两者在设计哲学、评估指标和工程应用上差异显著,理解这些差异有助于在真实场景中选择或组合评估方案。
幻觉的定义与评估目标差异
在 TruthfulQA 中,幻觉被定义为模型生成与事实不符的答案,且这些错误源于模仿人类文本中的常见误解。例如,问“谁在 1912 年发现了美洲?”,人类可能因教科书的简化而答“哥伦布”,但事实是哥伦布在 1492 年到达美洲。模型若回答“哥伦布”,则表明它学会了这个错误。TruthfulQA 的目标是衡量模型是否“诚实”,即避免生成已知为假的陈述。
HaluEval 对幻觉的定义更宽泛:生成内容与源材料冲突或无法被事实知识验证。它区分了两种幻觉类型:一是“事实性幻觉”,即编造不可验证的信息,如虚构一个不存在的法律条文;二是“忠实性幻觉”,即回答偏离给定上下文,如在摘要任务中添加原文没有的细节。HaluEval 的目标是评估模型识别幻觉的能力,而非直接衡量生成内容的真实性。这种差异导致两者在评估流程上截然不同:TruthfulQA 是生成式评估,要求模型回答问题;HaluEval 是判别式评估,要求模型判断给定文本是否包含幻觉。
TruthfulQA 的设计机理与评估指标
TruthfulQA 的构建过程强调对抗性:问题由作者精心设计,利用人类常见的错误信念。每个问题有多个参考答案,包括正确和错误选项,错误选项模仿人类典型误解。评估时,模型生成自由文本回答,然后通过微调的 GPT-3 分类器判断回答是否真实。分类器基于人工标注的“真实/虚假”标签训练,输出真实性概率。主要指标是“真实率”(Truthfulness),即模型回答被分类为真实的百分比。
在工程实现中,TruthfulQA 的评估流程如下:加载预训练模型,对每个问题生成回答,将问答对输入分类器,计算平均真实率。分类器本身是一个 GPT-3 模型,在 TruthfulQA 的训练集上微调,输入格式为“Q: [问题] A: [回答]”,输出“true”或“false”。这种设计的一个关键约束是:分类器的性能直接影响评估可靠性。若分类器存在偏差,评估结果将失真。此外,TruthfulQA 的问题集固定且有限,无法覆盖动态变化的知识领域。
HaluEval 的设计机理与评估指标
HaluEval 采用“采样-过滤”两阶段框架自动生成幻觉样本。首先,利用 ChatGPT 对给定任务(如问答、对话、摘要)生成初始回答,其中包含潜在的幻觉;然后,通过人工标注和规则过滤,筛选出高质量幻觉样本。最终数据集包含 5,000 个通用问答对和 30,000 个特定任务样本,每个样本都有人工标注的幻觉标签。评估时,模型需要判断给定文本是否包含幻觉,指标包括准确率、精确率、召回率和 F1 分数。
以企业知识库问答为例:假设有一个上下文“公司 2022 年营收为 10 亿元”,ChatGPT 可能生成回答“公司 2022 年营收为 12 亿元,同比增长 20%”,其中“12 亿元”是幻觉。HaluEval 会收集此类样本,并让模型判断该回答是否忠实于上下文。这种评估方式更贴近 RAG(检索增强生成)场景,因为模型需要基于提供的上下文做出判断,而非依赖内部知识。HaluEval 的一个创新是引入了“推理步骤”辅助识别:实验表明,在提示中加入“让我们一步一步思考”可以提升模型识别幻觉的能力。
贯穿场景:企业知识库问答中的幻觉评估
考虑一个具体场景:某公司构建了一个基于大模型的内部知识库问答系统,模型需要根据检索到的文档片段回答员工问题。评估该系统幻觉风险时,可以结合 TruthfulQA 和 HaluEval。首先,用 TruthfulQA 评估模型在无上下文时的内在诚实性:如果模型在常识问题上频繁输出误解,那么即使提供正确上下文,它也可能因内部知识冲突而产生幻觉。其次,用 HaluEval 评估模型在给定上下文时的忠实度:从知识库中采样文档,自动生成可能包含幻觉的回答,测试模型识别这些幻觉的能力。
这种组合评估面临工程挑战:TruthfulQA 的问题集可能不覆盖公司特定领域(如财务术语),导致评估效度不足;HaluEval 的自动生成样本依赖于 ChatGPT 的生成质量,若 ChatGPT 本身在特定领域产生系统性偏差,生成的幻觉样本可能不具代表性。因此,实践中需要引入人工抽检,对评估结果进行校准。
指标效度与跨领域泛化挑战
TruthfulQA 的真实率指标在解释时需要谨慎。模型真实率高可能意味着它确实避免了常见误解,但也可能因为模型学会了回避直接回答,转而给出模糊表述。例如,对于“谁发现了美洲?”,模型可能回答“这是一个复杂的历史问题”,从而被分类器判为真实,但并未提供有用信息。这种“回避策略”在 TruthfulQA 中未被惩罚,导致指标可能高估模型诚实性。
HaluEval 的判别准确率同样存在效度问题。模型可能通过表面线索(如回答长度、用词确定性)判断幻觉,而非真正理解内容。例如,一个自信且流畅的错误回答可能被误判为真实。此外,两个基准的跨领域泛化能力有限:TruthfulQA 的问题主要来自网络文本中的常见误解,对于专业领域(如医学、法律)的覆盖不足;HaluEval 的生成样本受限于 ChatGPT 的知识截止日期和训练数据分布,在快速变化的领域(如新闻事件)中可能失效。
工程实践:结合人工评估与自动评估
在生产环境中,完全依赖自动评估基准是不现实的。一种工程实践是构建分层评估体系:第一层,使用 TruthfulQA 和 HaluEval 进行离线快速筛选,识别模型在通用幻觉上的风险;第二层,针对特定领域构建小规模人工评估集,例如从知识库中抽取 100 个问题,由领域专家标注正确答案和常见幻觉模式;第三层,在线监控时,采用基于规则的过滤器(如检查回答中是否包含文档中不存在的数字)和用户反馈机制。
下表对比了 TruthfulQA 和 HaluEval 在多个维度上的差异,为工程选型提供参考:
| 维度 | TruthfulQA | HaluEval |
|---|---|---|
| 评估类型 | 生成式(模型回答问题) | 判别式(模型识别幻觉) |
| 数据构建 | 人工编写对抗性问题 | ChatGPT 自动生成 + 人工标注 |
| 主要指标 | 真实率(Truthfulness) | 准确率、F1 等分类指标 |
| 幻觉定义 | 模仿人类常见误解 | 事实冲突或不可验证 |
| 适用场景 | 评估模型内在诚实性 | 评估上下文忠实度 |
| 领域覆盖 | 38 个通用类别 | 通用问答、对话、摘要等 |
| 工程成本 | 低(固定测试集) | 中(需生成样本并标注) |
| 局限性 | 指标可能被回避策略欺骗 | 生成样本质量依赖 ChatGPT |
评估流程的工程实现与失败模式
以下 Mermaid 流程图展示了企业知识库问答系统中结合两种基准的评估流程:
flowchart TD
A[开始评估] --> B[加载模型]
B --> C{选择评估类型}
C -->|内在诚实性| D[运行 TruthfulQA]
C -->|上下文忠实度| E[运行 HaluEval]
D --> F[生成回答]
F --> G[分类器判断真实性]
G --> H[计算真实率]
E --> I[加载领域文档]
I --> J[自动生成幻觉样本]
J --> K[模型判断幻觉]
K --> L[计算准确率/F1]
H --> M[结果汇总]
L --> M
M --> N{是否通过阈值?}
N -->|是| O[部署上线]
N -->|否| P[模型调整或微调]
P --> B
O --> Q[在线监控]
Q --> R[收集用户反馈]
R --> S[更新评估集]
S --> M
该流程的关键节点是生成幻觉样本(J)和模型判断幻觉(K)。在 HaluEval 中,样本生成依赖 ChatGPT,若 ChatGPT 在特定领域生成质量差,会导致评估集噪声增加。例如,在金融领域,ChatGPT 可能生成看似合理但完全错误的财务数据,这些数据若被纳入评估集,会误导模型训练。一种缓解措施是引入人工校验步骤,对生成的样本进行二次确认。
常见失败模式包括:1)TruthfulQA 分类器误判,将模糊但真实的回答标为虚假;2)HaluEval 中模型过度依赖推理步骤,在简单样本上产生不必要的计算开销;3)领域偏移导致评估指标与在线表现不一致,例如离线真实率高但在线用户问题触发模型内部知识冲突。
未解决的问题与部署边界
尽管 TruthfulQA 和 HaluEval 提供了有价值的评估视角,但幻觉评估仍面临根本性挑战。首先,幻觉的定义本身依赖于上下文:在创意写作中,虚构内容是合理的;在事实问答中,则是错误。现有基准无法动态适应这种语境依赖性。其次,自动评估的效度上限受限于评判器(如分类器或 ChatGPT)本身的能力,若评判器存在幻觉,评估结果将不可靠。最后,跨语言和跨文化的扩展尚未解决:TruthfulQA 基于英语网络文本的常见误解,在其他语言中可能不成立。
在部署时,应明确评估的边界:这些基准只能作为模型幻觉风险的粗略指示,不能替代特定领域的严格测试。对于高风险场景(如医疗建议),必须结合人工审核和领域专家评估。未来方向可能包括构建动态更新的对抗性评估集,以及开发更鲁棒的自动评判模型。