简介

在当前的大型语言模型 (LLM) 领域中,我们经常依赖一种称为检索增强生成 (RAG) 的技术。其前提很简单: LLM 无法知晓所有事情,特别是私有数据或最近的新闻,因此我们会为它们提供相关文档 (即上下文) ,并要求它们根据这些信息回答问题或进行总结。

我们假设如果我们给模型提供了正确的事实,它就会使用这些事实。遗憾的是,这并不总是真的。

模型经常会出现上下文幻觉 (contextual hallucination) 。 这种情况发生在模型虽然在输入上下文中获得了正确答案,但却忽略了它,反而捏造细节或依赖其预训练的记忆来生成毫无根据的答案。对于使用 NLP 的学生和研究人员来说,这是一个关键的可靠性瓶颈。如果自动生成的摘要中包含了一个源文档中从未出现的数字或名字,系统的信任度就会崩塌。

本文将探讨一篇名为 “Lookback Lens” 的精彩论文,该论文针对这一问题提出了一个轻量级且直观的解决方案。研究人员没有分析复杂的隐藏状态 (hidden states) 或训练庞大的外部验证模型,而是提出了一个简单的问题: 模型是在关注上下文,还是仅仅在听自己说话?

通过分析 Transformer 的注意力图 (attention maps) ——具体来说,就是关注上下文与关注已生成文本的比例——我们可以以惊人的准确率检测甚至缓解幻觉。

背景: 幻觉的本质

为了理解这篇论文的贡献,我们首先需要区分两种类型的幻觉:

  1. 闭卷幻觉 (Closed-book Hallucination) : 模型在没有任何外部上下文的情况下被问到一个问题 (例如,“谁赢得了 2030 年的超级碗?”) ,然后编造了一个答案。
  2. 开卷 (上下文) 幻觉 (Open-book / Contextual Hallucination) : 模型被提供了一段特定文本 (例如一篇新闻文章) 并被要求对其进行总结。它生成的摘要虽然读起来通顺,但包含的细节与源文本相矛盾或根本不存在于源文本中。

以往的大多数研究都集中在第一种类型上,通常利用模型的内部隐藏状态 (Token 的稠密向量表示) 来预测模型是否在撒谎。其直觉是,当模型在编造信息时,它的“大脑活动”看起来与回忆事实时不同。

然而,对于上下文幻觉 , Lookback Lens 的作者认为隐藏状态并不是最直接的信号。在 Transformer 架构中, 注意力机制 (Attention Mechanism) 明确地指示了信息的流动方式。如果一个模型原本应该总结一份文档,那么它应该去关注那份文档。如果注意力权重显示模型忽略了文档,而主要关注它刚刚生成的 Token,那就是潜在幻觉的强烈信号。

核心方法: Lookback Lens

这篇论文的核心贡献是一种量化这种行为的方法,作者称之为 Lookback Lens 。 该方法基于这样一个假设: 上下文幻觉与 LLM 关注所提供上下文的程度直接相关。

1. 回看比率 (The Lookback Ratio)

该方法的基本构建块是 Lookback Ratio (回看比率)

在一个标准的 Transformer 中,在生成新 Token \(y_t\) 的过程中,模型会关注两个信息源:

  1. 上下文 (\(X\)): 提供的输入提示或文档 (长度为 \(N\)) 。
  2. 新 Token (\(Y\)): 模型在当前响应中已经生成的 Token (长度为 \(t-1\)) 。

对于每一层 \(l\) 中的每一个注意力头 \(h\),研究人员计算注意力机制在上下文与新生成的 Token 上放置了多少“分量”。

首先,他们计算上下文 Token 上的平均注意力权重:

关于上下文平均注意力的公式。

这里,\(\alpha_{h,i}^l\) 代表该注意力头分配给上下文中第 \(i\) 个 Token 的注意力权重。

接下来,他们计算新生成 Token 上的平均注意力权重:

关于新 Token 平均注意力的公式。

有了这两个值,他们就可以计算 Lookback Ratio (\(LR\)) 。 这个比率代表了指向上下文的注意力相对于总注意力分量 (上下文 + 新 Token) 的比例:

Lookback Ratio 计算公式。

如果这个比率很高 (接近 1) ,说明该注意力头正在“回看”源文档。如果很低 (接近 0) ,说明该头主要关注模型刚刚写出的内容。

2. 构建特征向量

单个注意力头可能无法说明全部问题。有些头设计用于关注局部语法 (前面的词) ,而其他头则寻找全局上下文。为了捕捉全貌,Lookback Lens 聚合了所有层中所有注意力头的比率。

对于特定的时间步 \(t\),特征向量 \(\mathbf{v}_t\) 仅仅是模型中每个头的 Lookback Ratio 的拼接:

特征向量拼接公式。

对于像 LLaMA-2-7B 这样拥有许多层和头的模型,这产生了一个捕捉模型在该特定时刻“注意力特征”的特征向量。

3. 分类器

为了确定某段文本是否为幻觉,研究人员取该文本段中 Token 的这些特征向量的平均值 (表示为 \(\bar{\mathbf{v}}\)) 。

然后,他们训练一个简单的 逻辑回归分类器 (Logistic Regression classifier) (一种线性分类器) 来预测该文本段是符合事实的 (\(y=1\)) 还是幻觉 (\(y=0\)) 的概率。

逻辑回归分类器公式。

这是 Lookback Lens 的一个关键优势: 简单 。 分类器不是一个庞大的神经网络;它是一个基于可解释特征 (注意力比率) 训练的线性模型。

完整的架构如下图所示。你可以看到从 Transformer 的注意力权重,到 Lookback Ratio 计算,最后进入线性分类器的流程。

简短的 alt 文本和说明。

实验设置: 检测幻觉

为了测试这种方法,研究人员使用 CNN/DailyMail (摘要) 和 Natural Questions (问答) 数据集创建了一个数据集。他们提示 LLaMA-2-7B-Chat 模型生成回答,然后使用 GPT-4 充当裁判,标注哪些具体的文本段是幻觉。

这是一个至关重要的步骤,因为标准数据集通常没有针对“这一句具体的话是幻觉”的段落级标签。

数据集的统计数据如下所示。请注意,即使是像 LLaMA-2-7B 这样强大的模型,在使用贪婪解码 (greedy decoding) 进行摘要任务 (CNN/DM) 时,生成幻觉的概率也大概有 50%。

显示正确率百分比的数据集统计表。

检测结果

研究人员将 Lookback Lens 与两个强基线进行了比较:

  1. 基于文本的 NLI: 使用一个单独的 DeBERTa 模型,该模型经过训练用于检测蕴含关系 (摘要是否在逻辑上遵循文本) 。
  2. 基于隐藏状态的分类器: 一个类似的逻辑回归,但它是基于 LLM 的内部隐藏状态 (具体是第 28 层,以前的研究认为该层包含丰富的真实性信息) 训练的,而不是注意力图。

结果以 AUROC (接收者操作特征曲线下面积) 衡量,令人印象深刻。更高的 AUROC 意味着更好的检测能力。

显示检测 AUROC 分数的表格。

检测结果的关键要点:

  • 性能超越: Lookback Lens (底部几行) 通常优于 NLI 模型,并且与隐藏状态分类器持平或更好。
  • 可迁移性: 最显著的优势体现在“Transfer (迁移) ”列中。当检测器在一个任务 (如 QA) 上训练并在另一个任务 (如摘要) 上测试时,隐藏状态分类器的性能显著下降 (可能是过拟合了训练任务的特定语义) 。然而,Lookback Lens 保持了高性能。这表明与真实性相关的注意力模式在不同类型的任务中是通用的,而隐藏表示则是特定于任务的。

缓解幻觉: Lookback Lens 引导解码

检测幻觉很有用,但预防幻觉更好。作者提出了一种称为 Lookback Lens 引导解码 (Lookback Lens Guided Decoding) 的方法,在生成过程中主动修正幻觉。

Token 级干预的问题

你可能会认为我们可以直接使用分类器来选择下一个词。然而,注意力模式通常是在一系列 Token 上显现出来的,而不仅仅是一个。单个 Token 可能无法携带足够的“注意力特征”来进行准确判断。

解决方案: 分块解码

提出的解决方案是以小的块 (chunks) (例如,一次 8 个 Token) 为单位生成文本。

  1. 采样: 模型为接下来的几个词生成 \(k\) 个不同的候选块。
  2. 打分: 对于每个候选块,我们计算平均 Lookback Ratio 并将其通过 Lookback Lens 分类器。
  3. 选择: 我们选择分类器预测最可能符合事实 (得分最高) 的块。
  4. 重复: 附加选定的块并重复该过程。

该过程如下图所示:

Lookback Lens 引导解码过程图解。

在数学上,最佳块 \(C^*\) 的选择是对分类器分数进行 argmax 操作:

选择最佳块的公式。

缓解结果

研究人员在 XSum 数据集 (摘要) 和 Natural Questions 上测试了这种解码策略。

结果显示幻觉显著减少。例如,在 XSum 任务上,使用 Lookback Lens 引导解码相比标准的贪婪解码,幻觉率降低了 9.6%

至关重要的是,即使在跨任务迁移检测器 (在 CNN/DM 上训练并在 XSum 上测试) 时,该方法也能很好地工作。隐藏状态基线在这里表现挣扎,证实了 Lookback Lens 捕捉到了更具泛化性的真实性信号。

我们可以在下表中看到块大小 (Chunk Size) 对性能的影响。虽然有一些变化,但该方法在不同的块大小 (4, 8, 16) 下始终优于基线 (基于文本的 NLI 和隐藏状态) 。

比较不同块大小性能的表格。

定性示例

为了直观地展示这在实际中是什么样子的,请看下面来自 XSum 数据集的例子。

模型正在总结一篇关于碧昂斯 (Beyoncé) 收入的文章。

  • 贪婪解码 (标准) : 模型声称碧昂斯赚了“6400 万英镑”。这个数字出现在文本中,但它实际上是泰勒·斯威夫特 (Taylor Swift) 的收入,而不是碧昂斯的。这是一个典型的“张冠李戴”式幻觉。
  • Lookback Lens: 检测器给包含“6400 万英镑”说法的块打出了极低的分数 (0.05) 。它识别出模型在生成该数字时没有关注上下文的正确部分。
  • 引导解码: 通过拒绝那个低分块,模型被引导生成了一个符合事实的摘要,正确陈述了她平均每个城市赚取 240 万美元。

XSum 中幻觉检测的定性示例。

进阶分析: 跨模型迁移

论文中最令人惊讶的发现之一是能够在不同模型之间迁移检测器而无需重新训练。

研究人员在 LLaMA-2-7B 上训练了 Lookback Lens,并将其应用于 LLaMA-2-13B

由于这两个模型的注意力头数量不同 (1024 对 1600) ,你不能简单地复制权重。然而,作者发现两个模型的注意力模式之间存在线性关系。通过训练一个简单的线性回归将 13B 的头映射到 7B 的头,他们就可以在 13B 模型上使用 7B 的分类器。

显示跨模型迁移结果的表格。

如表所示,迁移后的检测器 (Train 7B \(\to\) Test 13B) 表现非常出色,几乎与直接在 13B 模型上训练的检测器性能相当。这对效率有巨大的意义: 你可以在更小、更便宜的模型上训练轻量级检测器,并将其部署在更大、更昂贵的模型上。

理解“为什么”: 正向头与负向头

最后,作者深入研究了哪些头实际上在起作用。所有的头都同样重要吗?

他们分析了逻辑回归分类器的系数,发现:

  • 正向头 (Positive Heads) : 高 Lookback Ratio = 符合事实。 (看上下文是好的) 。
  • 负向头 (Negative Heads) : 低 Lookback Ratio = 符合事实。 (看自己是好的) 。

等等,为什么看自己对真实性有好处?

下面的可视化图有助于解释这一点。

正向和负向注意力头的热力图。

Top-10 正向头 (上方热力图) 显示在上下文词上有高活跃度 (红色) 。这些头负责锚定 (grounding) ——从文档中获取事实。

Top-10 负向头 (下方热力图) 显示在上下文上的活跃度低 (蓝色/绿色) ,而在生成的 Token 上活跃度高。作者推测这些头负责一致性 (consistency) 。 一旦模型获取了一个事实 (例如,“德国”) ,它需要关注自己生成的内容,以确保句子结构和语法的连贯性。这两种类型的头对于生成真实、流畅的回答都是必要的。

有趣的是,消融实验表明,你不能只使用“正向”头。你需要结合这两种信号才能准确地检测幻觉。

显示 top-k 头的消融表格。

如上表所示,使用前 100 个头 (按系数大小排序) 几乎恢复了使用所有头的性能。这证实了有一部分头专门负责监控真实性。

结论

“Lookback Lens” 论文为 LLM 的可解释性提供了一个令人耳目一新的视角。它没有将模型视为黑盒,也没有迷失在隐藏状态的高维噪声中,而是利用了一个人类可解释的机制: 注意力

这个逻辑站得住脚: 如果你让一个学生总结一本书,而他们在说话时从未看过书,他们可能是在编造。Lookback Lens 将这种直觉在 LLM 中实操化了。

关键要点:

  1. 简单致胜: 基于注意力比率的线性分类器优于复杂的 NLI 模型。
  2. 可泛化性: 针对真实性的注意力模式在不同任务 (QA 到摘要) 和模型 (7B 到 13B) 之间是可迁移的。
  3. 可操作性: 我们可以在解码过程中使用这些信号来主动引导模型远离幻觉。

随着我们继续构建依赖 RAG 和自动摘要的应用程序,像 Lookback Lens 这样轻量级、可迁移且可解释的方法对于建立对 AI 系统的信任将至关重要。