引言

我们目前正见证着大型语言模型 (LLM) 在各个领域的广泛应用——从编写代码、总结邮件,到诊断疾病和分析财务数据。然而,尽管 LLM 文采斐然,它们却有一个众所周知的可靠性问题: 它们会产生幻觉。它们能像陈述事实一样,带着同样的权威感陈述谬误。

这就产生了一个对不确定性量化 (Uncertainty Quantification) 的迫切需求。在我们采纳 LLM 的建议之前,我们需要知道: 模型对它自己的答案有多大把握?

传统上,研究人员依赖一种称为“序列似然 (Sequence Likelihood) ”的指标——本质上就是模型分配给它所生成单词的概率。虽然这看起来很直观,但它有一个重大缺陷: 它同等对待每一个单词。模型可能对一个无关紧要的介词并不确定,但对主要实体却充满信心,反之亦然。标准指标混淆了句法 (语法) 与语义 (含义) 。

在这篇文章中,我们将深入探讨一篇研究论文,该论文提出了一个巧妙的解决方案: 情境化序列似然 (Contextualized Sequence Likelihood, CSL) 。 作者 Zhen Lin、Shubhendu Trivedi 和 Jimeng Sun 提出了一种利用 LLM 自身的注意力机制来判断哪些单词真正重要的方法。通过基于注意力权重来加权置信度评分,他们获得了一个明显更可靠的可信度度量。

背景: 标准置信度的问题

要理解为什么 CSL 是必要的,我们要先看看目前我们是如何衡量自然语言生成 (NLG) 中的置信度的。

LLM 如何进行预测

LLM 是自回归的。它们根据所有先前的 Token 来预测下一个 Token (单词的一部分) 。对于句子中的每一步,模型都会在其词汇表上输出一个概率分布。当模型选择一个 Token 时,该 Token 会有一个关联的概率 (或 Logit) 。

标准指标: 序列似然

估计置信度最常用的方法是查看整个生成序列的似然度。如果模型对它选择的所有 Token 都分配了高概率,我们就认为它是自信的。在数学上,未归一化的置信度评分 (\(C_{SL}\)) 是 Token 对数概率 (\(l_i\)) 的总和:

Equation for Sequence Likelihood.

这里,\(\hat{p}(s_i | s_{

因为较长的句子自然会有较低的总概率 (因为你要将许多小于 1 的数字相乘) ,通常会将此分数按句子长度 (\(n\)) 进行归一化:

Equation for Normalized Sequence Likelihood.

缺陷: 句法与语义

这些公式 (\(C_{SL}\)) 在统计学上看起来很合理,但它们未能捕捉到情境 (Context)

考虑一个问答 (QA) 场景: 问题: “尼尔·阿姆斯特朗是什么时候登上月球的?” 回答: “尼尔·阿姆斯特朗于 1969 年 7 月 20 日登上了月球。”

在这个句子中,具体的日期“1969 年 7 月 20 日”是核心的语义信息。单词“尼尔·阿姆斯特朗登上了”很大程度上是来自问题的句法重复或通用的语法结构。

如果模型对语法非常有信心,但猜错了日期,整体的 \(C_{SL}\) 可能仍然很高,因为自信的语法 Token 淹没了错误日期的低概率。相反,模型可能会用别扭的措辞说出正确的答案,导致概率得分较低,尽管事实是正确的。

这就是核心问题所在: 序列似然混淆了句法置信度与语义置信度。 它假设每个 Token 对答案的“正确性”贡献是相等的。

核心方法: 情境化序列似然 (CSL)

研究人员提出,我们不应该同等对待所有 Token。相反,我们应该根据 Token 与问题的相关性为其分配权重。如果模型在回答“什么时间”,那么代表时间的 Token 在置信度评分中应该占更大的权重。

但是,如果没有人工标注,我们要如何知道哪些 Token 是相关的呢?答案就在 LLM 内部: 注意力机制 (Attention) 。

1. 诱导注意力 (Eliciting Attention)

Transformer 中的注意力机制允许模型在处理数据时“关注”输入序列的不同部分。作者设计了一种方法,通过提示 (Prompt) 让 LLM 验证其自己的答案,然后观察模型在验证过程中“看”向哪里。

流程如下:

  1. 生成: LLM 针对问题 (\(x\)) 生成一个答案 (\(s\)) 。
  2. 提示: 研究人员将一个新的提示反馈给模型,其中包括问题和生成的答案。该提示要求模型判断答案是否正确。
  3. 观察: 他们并不真正关心模型输出的“是”或“否”文本。相反,他们在模型处理答案 Token 时提取注意力权重

如果提示要求模型验证情境,模型的内部机制自然会关注语义上重要的单词 (实体、日期、地点) ,而不是填充词。

2. 加权方程

利用这些提取出的注意力值,作者定义了情境化序列似然 (CSL) 。 它不再是简单的平均值,而是一个加权和:

Equation for CSL.

在这个方程中:

  • \(l_i\) 是第 \(i\) 个 Token 的对数概率 (来自原始生成) 。
  • \(w_i\) 是源自注意力 (\(a_i\)) 的权重。
  • 权重经过归一化,因此它们的和为 1。

这确保了如果模型对单词“1969”的关注度是对单词“the”的 5 倍,那么“1969”的置信度得分对最终得分的影响将大 5 倍。

3. 可视化影响

为了证明这种提示策略确实将焦点转移到了相关 Token 上,作者对注意力变化进行了可视化。

在下面的例子中,同一个答案 (“On July 20, 1969, Buzz Aldrin and Neil Armstrong landed on the Moon”) 针对三个不同的问题进行了评估: “When? (什么时间) ”、“Who? (谁) ”和“What? (什么事) ”。

Figure 2 showing attention shifts based on the question type.

图 2 所示:

  • 当问 “When” (红色) 时,注意力在日期“July 20, 1969”上出现峰值。
  • 当问 “Who” (蓝色) 时,注意力在“Buzz Aldrin”上出现峰值。
  • 当问 “What” (黄色) 时,注意力分散在动作“landed on the Moon”上。

这证实了该方法确实是情境化的。置信度评分会根据用户实际提出的问题动态调整。

4. 选择正确的“头” (Selecting the Right “Heads”)

现代 LLM 规模庞大。例如 LLaMA-2-13B 有 40 层,每层 40 个头,总共有 1600 个注意力头。并非所有的头都有用;许多头专注于语法、前一个 Token 的查找或其他机械任务。

一种朴素的方法是对所有头的注意力取平均值。然而,这会用噪声稀释信号。作者需要一种方法来挑选那些关注语义正确性的“聪明的头”。

选择策略: 他们使用一小部分验证集问题。对于每个注意力头,他们计算该特定头的注意力权重预测答案正确性的能力 (通过 AUROC 衡量,我们稍后会讨论) 。

他们发现“好头”是一致的。一个在验证集中擅长识别重要 Token 的头,在测试集中也同样擅长。

Scatter plot showing the consistency of attention heads.

图 3 展示了一个头在验证集上的表现与在测试集上的表现之间的相关性。强烈的对角线趋势表明了一致性很高。基于此,作者从验证集中选择了前 \(k\) 个头 (通常约为 10 个) ,并仅对它们的注意力权重取平均。

实验与结果

作者在三个流行的 QA 数据集上测试了 CSL: TriviaQACoQA (对话式 QA) 和 Natural Questions 。 他们利用了三个不同的开源 LLM 系列: LLaMA-2MistralGemma

评估指标: AUROC

为了衡量置信度评分的质量,我们将其视为一个二元预测问题: 该评分能否区分正确答案和错误答案?

使用的指标是 AUROC (受试者工作特征曲线下面积) 。

  • 0.5 意味着置信度评分等同于随机猜测。
  • 1.0 意味着完美预测 (高置信度总是等于正确,低置信度总是等于错误) 。

关键性能结果

表 2 中展示的结果显示了清晰的性能层级。

Table 2: AUROC comparison across models and datasets.

从表 2 中得出的结论:

  1. CSL 获胜: CSL (提出的方法) 在几乎所有数据集和模型中始终获得最高的 AUROC 分数 (以粗体高亮显示) 。
  2. 击败基线: 它显著优于标准序列似然 (\(SL\)) 及其归一化版本 (\(SL(norm)\)) 。例如,在 Mistral 模型与 Natural Questions 数据集上,CSL 得分为 76.65 , 而 SL 仅为 69.22 。 这是可靠性的巨大飞跃。
  3. 超越竞争对手: CSL 也击败了“TokenSAR”,这是一种最近提出的方法,试图通过删除单词并观察含义变化程度来估计 Token 重要性 (这是一个计算成本高昂的过程) 。

改进不确定性度量

作者还将 CSL 应用于“语义熵 (Semantic Entropy, SE) ”,这是一种通过聚类语义相似的答案来估计不确定性的最先进方法。由于 SE 内部依赖于序列似然,用 CSL 替换标准似然 (\(SE+CSL\)) 理应能改进它。

Table 4: Semantic Entropy improvements with CSL.

表 4 所示,集成 CSL 全面提升了语义熵的表现。这表明 CSL 是一项基础性的改进,可以插入到各种其他不确定性量化框架中。

定性分析: 它找到正确的词了吗?

除了数字之外,模型是否真的高亮了人类认为重要的单词?

作者提供了 CSL 下权重 (\(w_i\)) 相对于均匀平均权重有所增加的 Token 示例。

Table showing examples of weighted tokens.

图 5 中,高亮文本表示注意力增加。

  • 对于“How early… (多早…) ”,概念“hour (小时) ”被高亮。
  • 对于“Who is Susan Boyle? (苏珊·博伊尔是谁?) ”,描述“Scottish singer (苏格兰歌手) ”和节目“Britain’s Got Talent (英国达人秀) ”被高亮。

虽然并非在每个实例中都完全可解释 (神经网络很少如此) ,但权重通常会向定义答案正确性的实体和描述符转移。

消融研究: 我们需要多少个头?

回想一下,作者选择了前 \(k\) 个注意力头。该方法对这个数字 \(k\) 有多敏感?

Graph showing performance gain vs. number of heads.

图 6 绘制了随着 \(k\) 增加,AUROC 相对于基线的增益 (对数刻度) 。

  • 性能在 \(k=10\) 到 \(k=20\) 左右达到峰值。
  • 仅使用 1 个最好的头比基线好,但噪声较大。
  • 使用所有头 (图的最右侧) 会显著降低性能,有时甚至比基线更差。

这证实了大多数注意力头在做“维护工作” (句法) ,只有少数在做“验证工作” (语义) 的假设。筛选正确的头至关重要。

结论与启示

论文《情境化序列似然》提出了一个令人信服的论点: 通过平等对待所有单词,我们一直在错误地衡量 LLM 的置信度。

通过利用模型的内部注意力机制——特别是通过自我验证提示——CSL 允许我们根据 Token 与问题的语义相关性来加权其置信度。

主要收获

  1. 情境很重要: 置信度评分必须反映所问的具体问题。
  2. 高效率: 与需要生成数十个样本或运行外部 NLI 模型 (既慢又贵) 的方法不同,CSL 只需要一次提示的前向传播。它快速且可扩展。
  3. 可靠性: 与标准概率指标相比,它始终提供更好的正确性信号。

更广泛的意义

对于学生和从业者来说,这就论文突出了 AI 研究中一个日益增长的趋势: 内省 (Introspection) 。 我们不再将模型视为吐出文本的黑盒,而是正在学习观察盒子内部——观察 Logits、注意力权重和激活——以理解模型为什么写下这些内容。

随着我们要部署在现实世界中采取行动的智能体,像 CSL 这样的指标将成为安全阀,让 AI 能够说: “这是我写的,但看看我的注意力模式,其实我对提到的具体日期并不确定。你应该复查一下。”这种区分是安全可靠 AI 的关键。