归因合同:生成式语言模型中的特征归因

arXiv cs.LG 论文

摘要

本文介绍了归因合同(Attribution Contract),这是生成式语言模型中特征归因声明的一种规范,解决了特征定义不清以及归因方法评估方式模糊的问题。论文以自回归模型和扩散模型为例,展示了归因何时具有信息量,何时可能产生误导。

arXiv:2605.23080v1 公告类型:新增 摘要:特征归因方法旨在识别对模型输出重要的输入特征。然而,在生成式语言模型中,首先往往不清楚什么应该被视为特征。在自回归语言模型中,早期生成的标记既是模型的输出,也是后续预测的输入。在扩散语言模型中,生成是通过迭代去噪或去掩码进行的,而不是固定的从左到右预测,因此局部解释可能针对扩散状态而非下一个标记。我们认为,这种歧义不仅仅是实现细节,更是一个概念上的局限,即直接将分类器时代的特征归因引入生成式语言建模。我们引入了归因合同(Attribution Contract),这是一种特征归因声明的规范,明确了被解释的输出、哪些特征有资格获得归因、假定的生成过程、保持固定的因素以及被归因的模型分数。该合同阐明了为什么相同的归因方法根据实例化方式的不同可以回答不同的问题。我们认为,关于生成式语言模型中特征归因的许多分歧并非关于归因算法本身,而是关于未明确说明的解释合同。以自回归和扩散语言模型为例,我们展示了归因到早期生成标记、中间状态或去噪阶段何时具有信息量,何时具有误导性,以及为什么生成式语言模型中的特征归因方法应作为方法-合同对进行评估。
查看原文
查看缓存全文

缓存时间: 2026/05/25 09:00

# 生成式语言模型的特征归因

来源: https://arxiv.org/html/2605.23080

###### 摘要

特征归因方法承诺识别哪些输入特征对模型输出至关重要。然而,在生成式语言模型中,首先通常不清楚什么才应该算作特征。在自回归语言模型中,先前生成的词元既是模型的输出,又是后续预测的输入。在扩散语言模型中,生成通过迭代去噪或去掩码进行,而非固定的从左到右预测,因此局部解释可能针对扩散的某个状态,而非下一个词元。我们认为,这种模糊性不仅仅是实现细节,而是将分类器时代的特征归因直接移植到生成式语言建模中的概念性局限。我们引入了*归因契约*,这是一种特征归因声明规范,明确了所解释的输出、可接收归因的特征、假设的生成过程、保持不变的内容以及被归因的模型分数。该契约阐明了为何相同的归因方法根据其具体实例化方式可以回答不同的问题。我们认为,生成式语言模型中关于特征归因的许多分歧并非关于归因算法的分歧,而是关于未明示的解释性契约的分歧。我们以自回归和扩散语言模型为案例,展示了何时对先前生成的词元、中间状态或去噪阶段的归因是有信息量的,何时具有误导性,以及为何生成式语言模型中的特征归因方法应作为方法-契约对进行评估。

## 1 引言

特征归因方法通常被描述为回答一个简单问题:*哪些输入特征对这个输出重要?* 在经典设置中,这个问题具有自然的形式。模型接收输入 \(x\),计算预测 \(f(x)\),归因方法将重要性得分分配给分量 \(x_i\),相对于标量目标(如类别logit、概率或损失)。例如,Integrated Gradients [13 (https://arxiv.org/html/2605.23080#bib.bib13)] 被引入作为一种公理性方法,用于将深度网络的预测归因于其输入特征,其动机源于敏感性和不变性等期望属性。

在生成式语言模型(LM)中,许多实际问题依赖于特征归因。调试幻觉摘要的从业者需要知道幻觉内容来自源文档还是模型自身的先前词元 [24 (https://arxiv.org/html/2605.23080#bib.bib24),23 (https://arxiv.org/html/2605.23080#bib.bib23)]。审计有害生成内容的安全研究员需要知道输入的哪一部分触发了该内容 [22 (https://arxiv.org/html/2605.23080#bib.bib22),26 (https://arxiv.org/html/2605.23080#bib.bib26)]。研究上下文学习的科学家需要知道模型实际上使用了哪些提示特征来进行预测 [25 (https://arxiv.org/html/2605.23080#bib.bib25)]。

请参阅图注图1:相同的归因方法在不同设置下产生不同的归因图。三行均使用相同的模型、提示、生成内容和归因方法(Integrated Gradients [13 (https://arxiv.org/html/2605.23080#bib.bib13)])。只有设置不同。

*   顶部:局部下一个词元设置将 “noir” 的预测归因于提示词元和前缀词元,得分集中在生成的前缀 “Le chien est” 上,因为它对下一个词元具有预测性。
*   中部:提示条件设置保持生成的前缀固定(灰色,阴影),仅对提示词元进行归因。“保持固定” 意味着前缀在前向传递中保持其实际值,但从归因路径中移除,因此原本会分配给前缀的得分现在仅分布在提示词元中。结果集中在 “black” 上,这是对 “noir” 最具预测性的提示词元。
*   底部:跨度级设置针对整个生成的跨度 “Le chien est noir”,仅对提示词元进行归因;前缀再次保持固定(灰色,阴影)。

生成式LM打破了经典归因的简洁设置。考虑一个自回归LM,具有提示 \(x\) 和生成的输出 \(y_{1:T}\):\(p(y_{1:T} \mid x) = \prod_{t=1}^{T} p(y_t \mid x, y_{<t})\)。例如,提示是 “Translate to French: ‘The dog is black.’” ,模型生成:“Le chien est noir.” 。对于目标词元 “noir”,生成的前缀 “Le chien est” 具有预测性:它有助于确定接下来可能出现哪个词元。但如果解释的问题是哪个输入词元说明了 “noir” 的含义,答案应指向 “black”,*而不是生成的前缀*。这些是不同的特征归因问题。问题不在于对生成前缀的归因是错的。相反,先前生成的词元在不同解释设置中的作用会发生变化,而生成式LM的特征归因方法通常使这种区别隐性 [12 (https://arxiv.org/html/2605.23080#bib.bib12),5 (https://arxiv.org/html/2605.23080#bib.bib5),18 (https://arxiv.org/html/2605.23080#bib.bib18)]。因此,相同的归因分数可能被解读为回答了一个与其实际支持不同的特征归因问题。我们将这种解读错误称为*自归因谬误*:将对生成前缀词元的归因视为回答了提示级解释性问题,而未指定该解读成立所需的契约。我们认为,生成式语言模型中的特征归因分数本身并不带有其解释:该解释取决于解释性设置。我们将这种设置称为*归因契约*,指定了被解释的输出、可接收归因的特征、假设的生成过程、保持不变的内容以及被归因的模型分数。

#### 贡献。总之,本文做出四项贡献。首先,我们指出*契约模糊性*是生成式语言模型中特征归因的一种独特失效模式。其次,我们引入*归因契约*,指定任何特征归因声明的目标、可归因特征集、生成过程、条件化机制和归因分数。第三,我们识别出*自归因谬误*,其中对生成前缀词元的归因被误读为提示级解释。第四,我们提议生成式语言模型中的特征归因方法应作为*方法-契约对*来评估,而非作为无上下文的归因算法进行评估。

## 2 从分类器归因到生成式归因

经典特征归因继承了一个静态的输入-输出模式:\(x \longrightarrow f(x)\)。(2) 候选特征通常是输入的组成部分,如图像像素或文本词元。归因目标通常是一个标量,如类别分数、损失或logit。即使在这种设置下,归因也被批评为对解释任务和评估标准敏感 [19 (https://arxiv.org/html/2605.23080#bib.bib19),20 (https://arxiv.org/html/2605.23080#bib.bib20),21 (https://arxiv.org/html/2605.23080#bib.bib21)]。最近的统一工作认为,特征归因、数据归因和组件归因共享方法论结构,尽管它们通常在不同的碎片化文献中被研究 [17 (https://arxiv.org/html/2605.23080#bib.bib17)]。

生成式语言模型将这个静态模式替换为一个**过程**模式。对于自回归LM,每个生成的词元都基于提示和所有先前生成的词元:\(x, y_1, \ldots, y_{t-1} \longrightarrow y_t\)。(3) 从分类器归因到生成式归因的转变,是模型做出多少预测的转变。图像或文本分类器产生一个预测,归因将重要性分配给输入特征相对于该单一输出。自回归语言模型产生一个预测序列,每个生成的词元一个预测,每个预测都基于提示和所有先前生成的词元。每个下一个词元预测本身就是一个词汇表上的分类,但模型顺序做出多个这样的预测。归因现在必须选择解释哪个预测,以及当先前的预测成为后续预测的输入时,什么算作特征。

对于扩散语言模型,生成通过一个迭代去噪或去掩码过程进行,而非固定的从左到右顺序。一个简化的过程视图可以写作:\(z_T \longrightarrow z_{T-1} \longrightarrow \cdots \longrightarrow z_0 \longrightarrow y\),(4) 其中中间状态 \(z_t\) 代表逐步细化的状态,而非一个完整的输出序列。在掩码扩散语言模型中,生成可能通过一个前向掩码过程和预测掩码词元的反向过程进行 [6 (https://arxiv.org/html/2605.23080#bib.bib6)]。这些过程结构使得“特征”的概念比经典设置中显著更不稳定。在自回归语言模型中,特征归因可能针对提示词元或生成的前缀词元。在扩散语言模型中,它可能针对提示词元、中间状态或去噪步骤。因此,特征归因问题不再仅由模型和输出完全指定。这促使了下一节介绍的归因契约。

## 3 归因契约

###### 定义1 (归因契约)。归因契约,即做出归因声明的解释性设置,是一个元组
\(\mathcal{A} = (\mathcal{S}, \mathcal{C}, \mathcal{O}, \mathcal{P}, \mathcal{E})\),(5)
其中
\[
\begin{aligned}
\mathcal{S} &= \text{模型分数}, \\
\mathcal{C} &= \text{保持不变的内容}, \\
\mathcal{O} &= \text{被解释的输出}, \\
\mathcal{P} &= \text{生成过程}, \\
\mathcal{E} &= \text{可接收归因的特征}.
\end{aligned}
\]
按顺序阅读,这个元组拼出**SCOPE**,体现了归因契约指定特征归因声明解释范围的想法。契约的每个元素都扮演着独特的角色。

分数项 \(\mathcal{S}\) 指定了归因所针对的模型量,例如logit、概率、损失或对数似然。这一点很重要,因为两个解释可能针对相同的输出,但将归因分配给不同的底层分数。

条件化项 \(\mathcal{C}\) 指定了在计算或解释归因时保持不变的内容。在计算上,保持一个变量固定意味着它在前向传递中保持其实际值,但不在计算归因的路径或扰动集内(例如,固定变量不在Integrated Gradients路径中进行插值)。因此,仅在保持固定内容 \(\mathcal{C}\) 上不同的两个契约将在可归因特征上产生不同的归因图。

目标项 \(\mathcal{O}\) 指定了被解释的内容:例如,下一个词元预测、一个中间扩散状态或一个生成的序列。

特征集 \(\mathcal{E}\) 指定了哪些特征可以接收归因。根据解释任务,这些可能包括提示词元、生成的前缀词元、中间生成状态或其他过程相关特征。

过程项 \(\mathcal{P}\) 指定了假定的生成结构。这一点很重要,因为生成式语言模型中的特征影响通常通过一系列中间状态传播,而非一个单一的输入-输出步骤。\(\mathcal{P}\) 始终是契约的一部分,但其计算角色各不相同:在某些契约下,归因通过沿整个链聚合来计算;在其他契约下,该链仅作为局部预测的条件化结构。

在下一节中,我们将契约框架实例化到自回归和扩散语言模型的几个具体设置中。这些设置展示了相同的特征归因方法如何在不同契约下回答不同的问题。

## 4 生成式语言模型中的特征归因设置

表1 (https://arxiv.org/html/2605.23080#S4.T1) 的第一行展示了经典分类器设置,其中归因具有一个规范的设置。许多现有的生成式LM特征归因方法围绕局部预测目标实例化,例如下一个词元概率 \(p(y_t \mid x, y_{<t})\)。

...(由于原文表1之后有大量公式和重复内容,我截取关键部分翻译。原文中在表1前有一段关于扩散模型的描述,公式(21)-(25)等。我们按顺序翻译。)

对于扩散语言模型,我们可以类似地定义契约。局部状态归因的目标是解释一个中间生成状态:
\[
\begin{aligned}
\mathcal{S} &= \log p(z_t \mid x, z_{>t}), \\
\mathcal{C} &= \text{无}, \\
\mathcal{O} &= z_t, \\
\mathcal{P} &= z_T \longrightarrow z_{T-1} \longrightarrow \cdots \longrightarrow z_0 \longrightarrow y, \\
\mathcal{E} &= \{x_1, \ldots, x_n\} \cup \{z_{t+1}, \ldots, z_T\}.
\end{aligned}
\]
我们记 \(z_{>t} = (z_{t+1}, \ldots, z_T)\) 为在去噪链中 \(z_t\) 之前生成的状态。在我们的索引中,较高的 \(t\) 对应较早的生成,这与自回归惯例相反。解释性问题是:哪些提示特征或先前生成的状态影响了当前的扩散状态?这将局部归因问题从预测下一个词元转变为解释中间状态如何演变。

表1:七个特征归因设置,按归因契约组织。分类器行显示了经典设置,其中归因是定义良好的。生成式LM有多个契约:三个自回归和三个扩散。列遵循SCOPE顺序:\(\mathcal{S}\), \(\mathcal{C}\), \(\mathcal{O}\), \(\mathcal{P}\), \(\mathcal{E}\)。条件化列中的破折号表示没有变量被保持固定。

| 设置 | \(\mathcal{S}\) | \(\mathcal{C}\) | \(\mathcal{O}\) | \(\mathcal{P}\) | \(\mathcal{E}\) |
|---|---|---|---|---|---|
| **经典设置** | | | | | |
| 分类器 | \(\log p(c \mid x)\) | — | \(c\) | \(x \to f(x)\) | 输入特征 |
| **自回归设置** | | | | | |
| 局部下一个词元 | \(\log p(y_t \mid x, y_{<t})\) | — | \(y_t\) | \(x \to y_1 \to \cdots \to y_T\) | 提示 + 生成前缀 |
| 提示条件化 | \(\log p(y_t \mid x, y_{<t})\) | \(y_{<t}\) | \(y_t\) | \(x \to y_1 \to \cdots \to y_T\) | 仅提示 |
| 提示到输出 | \(\log p(y \mid x)\) | — | \(y\) | \(x \to y_1 \to \cdots \to y_T\) | 提示 |
| **扩散设置** | | | | | |
| 局部状态 | \(\log p(z_t \mid x, z_{>t})\) | — | \(z_t\) | \(z_T \to \cdots \to z_0 \to y\) | 提示 + 生成状态 |
| 去噪阶段 | \(\log p(y \mid x) - \log p(y \mid x; \text{pert}(s_t))\) | — | \(y\) | \(z_T \to \cdots \to z_0 \to y\) | 去噪阶段 |
| 提示到输出 | \(\log p(y \mid x)\) | — | \(y\) | \(z_T \to \cdots \to z_0 \to y\) | 提示 |

#### 去噪阶段归因。这种设置询问去噪过程的哪些阶段对最终输出的某个属性负最大责任。这里的可归因特征不是词元,而是生成过程的阶段。
\[
\begin{aligned}
\mathcal{S} &= \log p(y \mid x) - \log p(y \mid x; \text{pert}(s_t)), \\
\mathcal{C} &= \text{无}, \\
\mathcal{O} &= y, \\
\mathcal{P} &= z_T \longrightarrow z_{T-1} \longrightarrow \cdots \longrightarrow z_0 \longrightarrow y, \\
\mathcal{E} &= \{1, \ldots, T\}.
\end{aligned}
\]

相似文章

大规模语言模型的概率归因

arXiv cs.CL

本文提出了一种与模型无关的基于概率的令牌归因度量,利用贝叶斯规则反转下一个令牌的对数概率,捕捉模型对令牌序列的内部表示,并通过熵分析提高可解释性。

DataDignity:用于大型语言模型的训练数据归属

arXiv cs.AI

本文介绍了 DataDignity,这是一个针对精准溯源(pinpoint provenance)的框架与基准(FakeWiki),旨在识别支持大语言模型(LLM)回答的具体训练数据来源。文章提出了 ScoringModel 和 SteerFuse 两种方法,以在标准检索基线之上提高归属准确率。