像 GPT-4、Claude 3 和 LLaMA-2 这样的大型语言模型 (LLM) 彻底改变了文本生成领域。它们可以起草邮件、编写代码,并且——至关重要的是——能够总结海量信息。然而,尽管它们语言流畅,这些模型却存在一个顽固且危险的缺陷: 幻觉。它们经常生成听起来合理但完全是捏造的信息。
在文本摘要的背景下,幻觉即“事实不一致性”——即摘要与源文档相矛盾,或编造了源文档中不存在的事实。虽然邮件中的拼写错误令人尴尬,但在医疗或法律摘要中的事实错误可能会带来灾难性的后果。
来自得克萨斯大学奥斯汀分校、东北大学和富达投资的研究人员针对这一问题提出了一种新颖的解决方案。他们的论文 “Detecting Errors through Ensembling Prompts (DEEP)” (通过集成提示检测错误) 介绍了一种端到端框架,该框架利用 LLM 提示的多样性和集成学习,以最先进的准确率检测这些错误。
这篇文章将分析当前评估方法的局限性,解释 DEEP 框架,并探讨它如何在不需要不切实际的调优的情况下实现可靠的幻觉检测。
当前检测方法的问题
在深入了解 DEEP 之前,我们必须理解为何现有工具无法捕捉现代模型的幻觉。
传统上,像 ROUGE 或 BLEU 这样的指标被用来评估摘要。这些指标本质上是计算生成的摘要与参考摘要之间的单词重叠。然而,它们在检测事实错误方面表现极差。一个摘要可以使用与参考摘要完全不同的词汇但保持事实正确,或者使用几乎完全相同的词汇但把“不是”换成了“是”,从而导致事实错误。
为了解决这个问题,NLP 社区开发了 事实一致性模型 (如 QAFactEval、AlignScore 和 SummaC) 。这些通常是基于编码器的模型 (通常是 RoBERTa 的微调变体) ,它们读取摘要和源文本,输出一个代表摘要“事实性”程度的数值评分。
阈值陷阱
关键问题在于: 这些模型输出的是一个连续的分数 (例如 0.75) ,但我们需要的是一个二元决策 (符合事实 vs. 幻觉) 。为了做出这个决定,我们需要设定一个 阈值 。 如果分数高于 \(X\),我们就认为它是符合事实的。
DEEP 背后的研究人员指出了这种方法的一个主要缺陷。正如论文所示,“最佳”阈值会根据数据集和所使用的摘要模型的不同而发生剧烈变化。

图 1 说明了这种不一致性。散点图显示了不同事实一致性模型 (Quest Eval, SummaC 等) 在不同数据集 (由不同形状表示) 上的最佳阈值。理想情况下,这些形状应该紧密聚集,表明单一阈值 (例如 0.5) 处处适用。然而,它们是分散的。对于一个数据集,最佳截断值可能是 0.2;而对于另一个,可能是 0.9。
这在现实世界中为何重要
在研究环境中,你可以通过查看测试数据来“作弊”,找到最佳阈值。但在现实世界中,你不能这样做。你必须在看到新数据 之前 就选定一个阈值。
研究人员证明,如果你在训练数据上优化阈值 (这是一个现实的场景) 或者仅仅将它们设定在中心位置,这些传统模型的性能就会直线下降。

图 2 量化了这种失败。红圈代表不切实际的“完美”场景 (在测试集上优化) 。绿点代表现实场景 (在训练数据上优化) 。红圈和绿点之间的差距代表了准确率的巨大损失——有时下降超过 10 个百分点。这种敏感性使得传统的基于编码器的模型在数据分布可能发生变化的实际应用中变得不可靠。
DEEP 框架
为了解决阈值问题并提高准确率,作者提出了 DEEP 。 其核心理念非常直观: 与其依赖单一模型和脆弱的阈值,不如使用一组多样化的提示来查询 LLM,将这些答案视为投票,并使用集成方法来做出最终决定。
架构概览
该框架在一个三阶段的流程中运行: 提示 (Prompting) 、集成 (Ensembling) 和 校准 (Calibration) 。

如 图 3 所示,该过程始于上下文 (Context,即源文本) 和摘要 (Summary) 。
- 提示: 系统将这些输入馈送给 \(n\) 个独特的 LLM 提示模板。每个提示都要求模型识别事实错误,但使用不同的指令或推理策略。
- 集成: 二元输出 (1 代表一致,0 代表不一致) 被收集成一个向量。“集成器”模型将这些投票聚合成单一的概率。
- 校准: 最后,“校准器”调整这个概率,以确保它准确反映错误的发生几率,缓解 LLM 容易过度自信的问题。
第一步: 多样化的提示策略
研究人员利用思维链 (Chain-of-Thought, CoT) 等技术创建了一个提示池,以鼓励推理。这些提示不仅仅是问“这是真的吗?”,而是引导模型通过特定的步骤:
- 将主张分解为原子事实。
- 检查特定类型的错误 (例如,数值错误、实体错误) 。
- 将摘要与原文进行并排比较。
通过使用不同的提示,框架捕捉到了对文本的不同“视角”。一个提示可能擅长捕捉数字差异,而另一个则擅长逻辑错误。
第二步: 集成方法
一旦提示生成了它们的二元 是/否 投票,如何组合它们?最简单的方法是 多数投票 (如果 5 个提示中有 3 个说是“错误”,那就是错误) 。然而,作者探索了更复杂的机器学习方法,将提示的输出视为分类器的特征。
他们测试了 16 种集成方法,包括:
- 基于树的方法: RandomForest, GradientBoosting, XGBoost。
- 标签聚合: Snorkel 的 LabelModel 。 这特别有趣,因为它是为“弱监督”设计的。它学习哪些提示是相关的,哪些是充满噪声的,从而有效地赋予“聪明”的提示更高的权重,而不需要大量的真实标签数据集。
第三步: 校准
神经网络 (包括 LLM) 的一个已知问题是 过度自信 。 一个模型可能会说它“99% 确信”摘要是符合事实的,即使它是错的。为了信任系统的输出,预测概率应该与经验准确率相匹配 (即,如果模型对 100 个项目预测 70% 的置信度,其中应该恰好有 70 个是正确的) 。
作者使用 预期校准误差 (Expected Calibration Error, ECE) 这一指标来衡量这种可靠性差距:

为了修正过度自信,DEEP 采用了 Platt Scaling , 这是一种对输出分数拟合逻辑回归模型的技术,有效地重塑概率曲线以符合现实。
实验与结果
作者在三个具有挑战性的幻觉检测基准上评估了 DEEP: AggreFact-XSUM FTSOTA、TofuEval 和 HaluEval Summarization 。 这些数据集包含由现代 Transformer 生成的摘要,使它们比旧数据集更难处理也更具相关性。
单个提示的表现
首先,单个提示的表现如何?

表 1 展示了前 5 个独立提示的表现。虽然它们表现尚可 (平衡准确率在 60 多和 70 多分) ,但它们表现出明显的偏差: 召回率 (Recall) 通常高于精确率 (Precision) 。 这意味着这些提示善于发现错误,但也容易出现虚警 (将准确的摘要标记为错误) 。值得注意的是,GPT-4 提示的表现平均比 GPT-3.5 提示高出 2.5%。
集成的力量
性能的真正飞跃来自于组合这些提示。

表 2 揭示了集成方法的有效性。仅使用 3 个提示 就能产生始终优于最佳单个提示的性能提升。
- LabelModel (Snorkel) 经常成为表现最好的模型。这证实了复杂的聚合方法比简单的投票能更好地过滤掉单个提示中的噪声。
- 有趣的是,将集成规模从 5 个提示增加到 9 个并不总能带来更好的结果。这可能是因为额外的提示 (第 6 到第 9 个) 是由 GPT-3.5 驱动的 (为了节省成本) ,它引入的噪声超过了高质量 GPT-4 提示所能抵消的程度。
击败最先进水平 (SOTA)
最重要的发现是,当以现实方式评估现有的基于编码器的模型 (即不在测试集上优化阈值) 时,DEEP 优于这些模型 (如 AlignScore 和 QAFactEval) 。DEEP 在各个基准测试中均达到了 SOTA 的平衡准确率。
它是 在没有 微调 LLM 本身的情况下做到这一点的。“学习”发生在轻量级的集成层 (例如 LabelModel 或逻辑回归) ,与微调 Transformer 相比,其训练成本极低。
可视化校准
校准步骤真的有效吗?可靠性图表明它非常有效。

图 4 将模型的置信度 (红色) 与其实际准确率 (蓝色) 进行了比较。
- 未校准 (上图) : 红色条始终高于蓝色条。模型过度自信。
- 已校准 (下图) : 红色条和蓝色条几乎持平。模型的置信度现在准确地反映了其正确的可能性。
这对于自动化系统至关重要。如果 DEEP 说摘要符合事实的概率是 90%,用户可以真正相信这个概率。
结论与启示
DEEP 框架解决了大型语言模型部署中的一个关键缺口。随着我们越来越依赖 AI 来总结会议、新闻和文档,自动且可靠地标记幻觉的能力是不可或缺的。
作者展示了三个关键贡献:
- 揭露脆弱性: 他们表明当前的基于编码器的检测器对阈值设置过于敏感,无法在未知的、开放的环境中实用。
- 集成有效性: 他们证明了通过弱监督技术 (如 LabelModel) 组合多样化的 LLM 提示,比单一提示或传统模型产生更好的准确率。
- 可靠性: 通过校准集成模型,他们产生了经验上准确的概率分数,而不仅仅是高数值。
虽然 DEEP 比简单的 BERT 分类器计算成本更高 (因为它需要多次调用 LLM) ,但对于准确性至关重要的高风险任务来说,这种成本是合理的。该框架提供了一种稳健的、“一劳永逸”的事实性检测方法,不需要针对每个新数据集不断重新调整阈值。
](https://deep-paper.org/en/paper/2406.13009/images/cover.png)