引言
我们目前正见证着大型语言模型 (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\)) 的总和:

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

缺陷: 句法与语义
这些公式 (\(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 验证其自己的答案,然后观察模型在验证过程中“看”向哪里。
流程如下:
- 生成: LLM 针对问题 (\(x\)) 生成一个答案 (\(s\)) 。
- 提示: 研究人员将一个新的提示反馈给模型,其中包括问题和生成的答案。该提示要求模型判断答案是否正确。
- 观察: 他们并不真正关心模型输出的“是”或“否”文本。相反,他们在模型处理答案 Token 时提取注意力权重 。
如果提示要求模型验证情境,模型的内部机制自然会关注语义上重要的单词 (实体、日期、地点) ,而不是填充词。
2. 加权方程
利用这些提取出的注意力值,作者定义了情境化序列似然 (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? (什么事) ”。

如图 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 的头,在测试集中也同样擅长。

图 3 展示了一个头在验证集上的表现与在测试集上的表现之间的相关性。强烈的对角线趋势表明了一致性很高。基于此,作者从验证集中选择了前 \(k\) 个头 (通常约为 10 个) ,并仅对它们的注意力权重取平均。
实验与结果
作者在三个流行的 QA 数据集上测试了 CSL: TriviaQA、CoQA (对话式 QA) 和 Natural Questions 。 他们利用了三个不同的开源 LLM 系列: LLaMA-2、Mistral 和 Gemma 。
评估指标: AUROC
为了衡量置信度评分的质量,我们将其视为一个二元预测问题: 该评分能否区分正确答案和错误答案?
使用的指标是 AUROC (受试者工作特征曲线下面积) 。
- 0.5 意味着置信度评分等同于随机猜测。
- 1.0 意味着完美预测 (高置信度总是等于正确,低置信度总是等于错误) 。
关键性能结果
表 2 中展示的结果显示了清晰的性能层级。

从表 2 中得出的结论:
- CSL 获胜: CSL (提出的方法) 在几乎所有数据集和模型中始终获得最高的 AUROC 分数 (以粗体高亮显示) 。
- 击败基线: 它显著优于标准序列似然 (\(SL\)) 及其归一化版本 (\(SL(norm)\)) 。例如,在 Mistral 模型与 Natural Questions 数据集上,CSL 得分为 76.65 , 而 SL 仅为 69.22 。 这是可靠性的巨大飞跃。
- 超越竞争对手: CSL 也击败了“TokenSAR”,这是一种最近提出的方法,试图通过删除单词并观察含义变化程度来估计 Token 重要性 (这是一个计算成本高昂的过程) 。
改进不确定性度量
作者还将 CSL 应用于“语义熵 (Semantic Entropy, SE) ”,这是一种通过聚类语义相似的答案来估计不确定性的最先进方法。由于 SE 内部依赖于序列似然,用 CSL 替换标准似然 (\(SE+CSL\)) 理应能改进它。

如表 4 所示,集成 CSL 全面提升了语义熵的表现。这表明 CSL 是一项基础性的改进,可以插入到各种其他不确定性量化框架中。
定性分析: 它找到正确的词了吗?
除了数字之外,模型是否真的高亮了人类认为重要的单词?
作者提供了 CSL 下权重 (\(w_i\)) 相对于均匀平均权重有所增加的 Token 示例。

在图 5 中,高亮文本表示注意力增加。
- 对于“How early… (多早…) ”,概念“hour (小时) ”被高亮。
- 对于“Who is Susan Boyle? (苏珊·博伊尔是谁?) ”,描述“Scottish singer (苏格兰歌手) ”和节目“Britain’s Got Talent (英国达人秀) ”被高亮。
虽然并非在每个实例中都完全可解释 (神经网络很少如此) ,但权重通常会向定义答案正确性的实体和描述符转移。
消融研究: 我们需要多少个头?
回想一下,作者选择了前 \(k\) 个注意力头。该方法对这个数字 \(k\) 有多敏感?

图 6 绘制了随着 \(k\) 增加,AUROC 相对于基线的增益 (对数刻度) 。
- 性能在 \(k=10\) 到 \(k=20\) 左右达到峰值。
- 仅使用 1 个最好的头比基线好,但噪声较大。
- 使用所有头 (图的最右侧) 会显著降低性能,有时甚至比基线更差。
这证实了大多数注意力头在做“维护工作” (句法) ,只有少数在做“验证工作” (语义) 的假设。筛选正确的头至关重要。
结论与启示
论文《情境化序列似然》提出了一个令人信服的论点: 通过平等对待所有单词,我们一直在错误地衡量 LLM 的置信度。
通过利用模型的内部注意力机制——特别是通过自我验证提示——CSL 允许我们根据 Token 与问题的语义相关性来加权其置信度。
主要收获
- 情境很重要: 置信度评分必须反映所问的具体问题。
- 高效率: 与需要生成数十个样本或运行外部 NLI 模型 (既慢又贵) 的方法不同,CSL 只需要一次提示的前向传播。它快速且可扩展。
- 可靠性: 与标准概率指标相比,它始终提供更好的正确性信号。
更广泛的意义
对于学生和从业者来说,这就论文突出了 AI 研究中一个日益增长的趋势: 内省 (Introspection) 。 我们不再将模型视为吐出文本的黑盒,而是正在学习观察盒子内部——观察 Logits、注意力权重和激活——以理解模型为什么写下这些内容。
随着我们要部署在现实世界中采取行动的智能体,像 CSL 这样的指标将成为安全阀,让 AI 能够说: “这是我写的,但看看我的注意力模式,其实我对提到的具体日期并不确定。你应该复查一下。”这种区分是安全可靠 AI 的关键。
](https://deep-paper.org/en/paper/2406.01806/images/cover.png)