使用 SelfCheckGPT NLI 自动检测幻觉

社区文章 发布于 2023 年 11 月 27 日

摘要

大型语言模型(LLM)的幻觉,即模型产生错误输出,是LLM普及的最大障碍。人类将无法始终如一地将工作委托给AI系统,直到他们能够相信LLM的输出是正确的。

例如,虽然在简单问题上对患者进行分流可能有助于医院分担大量工作,但AI代理出现的症状和答案幻觉将阻止此类模型在实践中使用。因此,如果我们希望在大型和有影响力的场景中部署此类模型,了解何时信任AI以及何时需要人工干预至关重要。

我们最近进行了一项实验,评估了 SelfCheckGPT NLI(一种衡量LLM不一致性的指标)预测幻觉输出的性能。

我们的主要发现是:

  • 该指标在达到一定阈值后具有极高的精确度,即任何被标记为幻觉的输出,实际上都是幻觉。
  • 召回率(幻觉检测率)与 SelfCheckGPT 分数校准良好。SelfCheckGPT NLI 分数为 0.8 时,对应着接近 80% 的幻觉被识别出来。

我们得出结论,SelfCheckGPT NLI 可以成为一种可靠的幻觉度量标准,并鼓励社区努力推进此类度量标准的开发,以便在生产环境中部署LLM。

可以使用 我们的笔记本 重现我们的实验。

在我们的 Hugging Face Space 上,我们发布了一个 演示,您可以在其中亲身体验 SelfCheckGPT NLI 分数作为幻觉检测指标的结果,并提供示例文本,同时调整检测阈值级别。

image/gif

Mithril Security

我们进行这些测试是我们构建机密和可信对话式AI使命的一部分。您可以查看我们的核心项目 BlindChat,这是一款开源且机密的对话式AI(即发送到我们AI的任何数据都将保持私密,甚至我们的管理员也无法看到您的提示),网址为 chat.mithrilsecurity.io

如果您希望我们将在 BlindChat 中集成自动幻觉检测功能,请在此注册您对此功能的兴趣。

幻觉:阻碍大型语言模型(LLM)普及的持久障碍

虽然大型语言模型(LLM)展现出巨大的潜力,但幻觉仍然是一个尚未解决的问题,可能阻碍LLM的大规模部署。

image/png

正如 Mccoy 等人 最近一篇论文 中所述,当要求 LLM 回答其任务、输入或输出未出现在训练集中的提示时,就会发生幻觉。因此,LLM 会产生一个不基于任何事实依据或已知真实信息的回应。

考虑到LLM被训练根据其训练集的分布生成最有可能的下一个词元,这很合乎逻辑。

以上述研究为例,当被要求执行凯撒密码(一种通过将每个字母在字母表中移动13个位置的众所周知的基本文本加密)时,GPT4的准确率相对较高。然而,当被要求执行凯撒密码(每个字母移动2个位置)时,其准确率从0.5下降到几乎0。他们得出结论,这很可能是由于凯撒密码移动13位的例子比移动2位的例子多(两次凯撒密码移动13位会回到原始文本)。

在训练数据集中不存在预期答案/提示的情况下,我们看到了相同的准确率下降。

这意味着,不太可能出现的输出,即下一个标记置信度较低(即最可能的下一个标记的绝对概率较低)的输出,很可能是错误的,并且对同一查询多次执行的响应将产生不一致的结果。

使用 SelfCheckGPT 自动检测幻觉

这一见解被 SelfCheckGPT ( Manakul, P., Liusie, A., & Gales, M. J. F. (2023). SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models. ) 所利用,因为它会从同一个提示中抽取多个样本,并用于检测它们之间不一致的地方。不一致性越高,LLM 产生幻觉的可能性就越大。

SelfCheckGPT NLI 为给定LLM(例如GPT4或任何开源LLM)的给定提示提供幻觉分数的方式:

image/png

请注意,SelfCheckGPT NLI 分数有几个优点:

  • 它在黑盒设置下工作,即无需访问权重或对数概率,这意味着它适用于封闭源模型(API)和完全透明的开源模型。
  • 它适用于自由文本生成,即它涵盖了几乎所有任务,无论是摘要、自由形式的问答,还是分类。

这种不一致性分数可用于自动检测幻觉的原因如下:

  • 训练集中特定任务出现的频率越低,LLM 产生幻觉的可能性就越大(参见前面提到的《自回归的余烬》论文)。
  • 训练集中特定任务出现的频率越低,LLM对选择下一个token的信心就越低(即熵越高,最可能的token的分数越低,比如0.3,而一个非常确定的输出可能是0.9)。
  • 熵越高,相同提示的不同样本之间差异和不一致性越大。
  • 样本越不一致,衡量句子之间不一致性的指标,如 SelfCheckGPT NLI 分数,就越高。

我们的实验

演示

为了进行我们的实验,我们提供了一个 Colab 笔记本,以展示 SelfCheckGPT 在检测幻觉方面的性能和校准情况。我们将使用 SelfCheckGPT 作者整理的 Wiki Bio 幻觉数据集 对其进行评估。

为了测试模型是否产生幻觉,他们构建了一个数据集,其中他们要求 GPT-3 以“**这是一个关于 {概念} 的维基百科段落:**”的提示格式生成主题描述,记录输出,然后人工标记生成文本的每个句子,以获得事实的黄金标准。标签分别为“准确”(0)、“轻微不准确”(0.5)和“严重不准确”(1)。

然后,他们生成了 N=20 个额外的样本,这些样本将用于通过不一致性评分来检测幻觉。

在我们的笔记本中,我们计算了每个句子的 SelfCheckGPT NLI 分数(使用 DeBERTA 作为 NLI 模型),如果分数高于某个阈值(此处为 0.35),则将其标记为幻觉。

然后,我们绘制了精确度和召回率的校准图。

校准说明

校准是建立模型信任的关键。理想情况下,当模型提供给定样本是幻觉的0.8概率分数时,人们希望这个预测有80%的几率是真实的。

由于幻觉标注可能发生在不平衡的环境中,例如,如果我们要求LLM执行简单任务与困难任务,那么精确度和召回率更为相关。

这就是为什么我们将考察不同概率分数下的精确度和召回率。

幻觉召回率表示我们模型在给定数据集下检测到的幻觉数量。如果召回率为0.8,则表示我们已正确标记了80%的幻觉。

幻觉精确率表示预测的幻觉实际是幻觉而非假阳性的频率。0.8的精确率意味着我们说一个句子是幻觉时,有80%的时间确实如此。

结果

我们得到了以下校准图:

image/png

那么这些图表能说明什么呢?

我们看到,一旦分数超过0.5,我们的模型在检测幻觉方面极其精确。它达到了完美的精确度,这意味着每当它预测一个句子是幻觉时,几乎可以肯定它确实如此!

但是光有精确度是不够的,如果一个模型很保守,只将少数句子标记为幻觉,那么这个模型就没有多大用处。这就是为什么我们也需要看看召回率。

有趣的是,召回分数似乎与幻觉的概率相吻合:概率越高,召回率也越高!

这意味着,例如,对于0.8的NLI分数,该模型将标记80%的幻觉,因为召回率接近80%,并且所有被标记的示例实际上都是幻觉,因为精确率为1.0。

这太棒了!这意味着我们可以拥有一个可靠的幻觉度量标准,因为它能够同时做到:

  • 提供一种校准能力来标记幻觉,即幻觉分数越高,发现幻觉的可能性越大(校准召回率)。
  • 在预测中极其精确,即不会错误地将真实句子标记为幻觉(完美精确度)。

这两个特性意味着我们现在可以可靠地自动检测幻觉。这意味着我们可以验证聊天中答案的可信度,当检测到幻觉时,通知用户必须进行额外的检查。

改变样本大小

在结束之前,有人可能会想,这很棒,但是这种度量方法的成本如何呢?

在最初的SelfCheckGPT论文中,他们在原始预测的基础上额外采样了 N=20 个答案,以预测幻觉分数。

因此,这相当昂贵且不切实际,因为它会大大增加成本和时间。

因此,有人可能会想,真的需要这么多样本吗?

为了研究这一点,我们改变了用于计算 NLI 分数的样本数量,并绘制了 N=3、10、20 时的相同图表。

image/png

虽然我们观察到细微的差异,但总体行为是相同的,即使在 N=3 的情况下也是如此。

尽管这仍然是一个很大的数字,并且成本增加了四倍,但这项初步工作为构建可信赖的AI系统提供了一种实用、通用且自动检测幻觉的方法。

演示

我们部署了一个 Gradio 演示,让您在实践中了解如何使用 SelfCheckGPT 检测幻觉。

在左侧,您可以选择六个示例中的一个。它们分为低幻觉样本和高幻觉样本。您还可以选择一个检测阈值,该阈值设置了将句子标记为幻觉所需的 SelfCheckGPT NLI 最低分数。您可以调整此阈值,以探索它如何影响假阳性和假阴性之间的平衡。

已计算并提供了检测到的幻觉百分比。

在分数下方,您将看到用红色高亮显示的样本(句子被标记为幻觉,即其 SelfCheckGPT NLI 分数等于或高于我们的阈值检测率)和用绿色高亮显示的样本(句子未被标记为幻觉,即其 SelfCheckGPT 分数低于此阈值)。

image/png

您可以将此与每个样本的基本事实进行视觉比较,基本事实根据人类是将其标记为真还是假来高亮显示每个句子。

结论

虽然幻觉并非构建可信人工智能的唯一障碍,但自动检测幻觉代表着朝着开发更可靠人工智能系统迈出了重要一步。

在特定用例中实施足够准确和灵敏的幻觉检测措施,可以决定是实现成功的部署,还是让AI主动向数百万用户分享错误信息。

我们希望我们为您提供了关于LLM幻觉,特别是SelfCheckGPT NLI指标的有用见解。

如果您对我们构建机密和可信人工智能的其他项目感兴趣,请随时查看我们的隐私设计对话式人工智能 BlindChat,或 联系我们

社区

注册登录 发表评论