扩展单义性:从Claude 3 Sonnet中提取可解释特征

arXiv cs.AI 论文

摘要

本文展示稀疏自编码器能够从生产级语言模型Claude 3 Sonnet中提取可解释特征,解决了字典学习方法在扩展性方面的担忧。这些特征具有多语言、多模态特性,并涵盖欺骗、谄媚等安全相关概念,且对模型输出具有因果影响。

arXiv:2605.29358v1 Announce Type: new 摘要:我们证明稀疏自编码器能够从生产级语言模型Claude 3 Sonnet中提取可解释特征,解决了字典学习方法能否扩展到小型Transformer之外这一开放性问题。我们在模型中间层残差流上训练了多达3400万个特征的稀疏自编码器,利用缩放定律指导超参数选择。所得特征具有多语言和多模态特性(尽管仅使用文本训练,却能泛化到图像),既能响应概念的具体实例,也能应对其抽象讨论,并可用于以与解释一致的方式引导模型行为。我们发现了对应于知名实体和位置的特征,以及更抽象的概念(如讽刺或代码错误)。我们还识别了与语言模型可能造成危害的方式相关的特征——包括代表欺骗、权力追求、谄媚和偏见的特征——并表明这些特征在被操控时会对模型输出产生因果影响。此外,我们对特征的可解释性、几何结构和计算功能进行了分析。然而,仍存在重大局限:我们的特征集不完整,且缺乏严格的方法来评估特征是否忠实地捕捉了模型的计算过程。
查看原文
查看缓存全文

缓存时间: 2026/05/29 09:17

# 走向单义性扩展:从 Claude 3 Sonnet 中提取可解释特征
来源:https://arxiv.org/html/2605.29358
\[ BoldFont = lmroman10\-bold\.otf, ItalicFont = lmroman10\-italic\.otf, BoldItalicFont = lmroman10\-bolditalic\.otf, \] \[ ItalicFont = lmmono10\-italic\.otf, BoldFont = lmmonolt10\-bold\.otf, BoldItalicFont = lmmonolt10\-boldoblique\.otf, \] \[Path=fonts/, Scale=0\.85\]

Adly Templeton\*, Tom Conerly\*, Jonathan Marcus, Jack Lindsey, Trenton Bricken, Brian Chen, Adam Pearce, Craig Citro, Emmanuel Ameisen, Andy Jones, Hoagy Cunningham, Nicholas L Turner, Callum McDougall, Monte MacDiarmid, Alex Tamkin, Esin Durmus, Tristan Hume, Francesco Mosconi, C\. Daniel Freeman, Theodore R\. Sumers, Edward Rees, Joshua Batson, Adam Jermyn, Shan Carter, Chris Olah, and Tom Henighan†\\daggerAnthropic\* 同等贡献;†\\dagger通讯作者:henighan@anthropic\.com HTML 版本 (https://transformer-circuits.pub/2024/scaling-monosemanticity/index.html)

\(2024年5月21日\)

###### 摘要

我们证明了稀疏自编码器可以从生产规模的语言模型 Claude 3 Sonnet 中提取可解释特征,解决了字典学习方法是否能扩展到小型 Transformer 之外这一开放性问题。我们在模型中间层的残差流上训练了最多 3400 万个特征的稀疏自编码器,并使用缩放定律来指导超参数选择。得到的特征具有多语言和多模态特性(尽管仅用文本训练,却能泛化到图像),既能响应具体实例,也能响应概念的抽象讨论,并可用于引导模型行为,使其与解释一致。我们发现了对应于著名实体和位置的特征,以及更抽象的概念,如讽刺或代码中的错误。我们还识别出与语言模型可能造成伤害的方式相关的特征——包括代表欺骗、权力追求、谄媚和偏见的特征——并表明这些特征在被操纵时会对模型输出产生因果影响。此外,我们对特征的可解释性、几何结构和计算功能进行了分析。然而,显著的局限性仍然存在:我们的特征集不完整,并且缺乏严格的方法来评估我们的特征是否忠实地捕捉了模型的计算。

八个月前,我们曾证明(https://transformer-circuits.pub/2023/monosemantic-features/index.html)稀疏自编码器可以从一个单层小型 Transformer 中恢复单义特征。当时,一个主要的担忧是,这种方法可能无法可行地扩展到最先进的 Transformer,从而无法实际促进 AI 安全。此后,扩展稀疏自编码器一直是 Anthropic 可解释性团队的一个主要优先事项,我们很高兴地报告从 Claude 3 Sonnet¹¹¹请注意,这是 2024 年 3 月 4 日发布的 Claude 3 Sonnet 3.0 版本。它是本文撰写时的生产模型。它是微调模型,而非基础预训练模型(尽管我们的方法也适用于基础模型)。——Anthropic 的中型生产模型中提取出了高质量特征。

我们发现多样化的高度抽象特征。它们既响应抽象行为,也能在因果上引发抽象行为。我们发现的特征示例包括:名人特征、国家和城市特征,以及跟踪代码中类型签名的特征。许多特征是多语言的(跨语言响应相同概念)和多模态的(在文本和图像中响应相同概念),并且涵盖同一思想的抽象和具体实例化(例如,具有安全漏洞的代码,以及对安全漏洞的抽象讨论)。

![[无标题图像]](https://arxiv.org/html/2605.29358v1/figures/fig_002_gdoc.png)我们发现的一些特征特别值得关注,因为它们可能具有安全相关性——也就是说,它们可能与现代 AI 系统可能造成伤害的各种方式相关。具体来说,我们发现了与以下方面相关的特征:代码中的安全漏洞和后门;偏见(包括明显的侮辱性用语和更微妙的偏见);撒谎、欺骗和权力追求(包括背叛转向);谄媚;以及危险/犯罪内容(例如,产生生物武器)。然而,我们提醒不要过度解读这些特征的存在本身:了解谎言、有能力说谎和在实际世界中真正说谎是有区别的(例如)。这项研究也还非常初步。需要进一步的工作来理解这些潜在安全相关特征的含义。

### 关键结果

- •稀疏自编码器为大型模型产生可解释的特征。
- •缩放定律可用于指导稀疏自编码器的训练(https://arxiv.org/html/2605.29358#S1.SS3)。
- •所得特征高度抽象:多语言、多模态,并在具体和抽象引用之间泛化。
- •概念的频率与解析其特征所需的字典大小之间似乎存在系统性关系。
- •特征可用于引导大型模型(例如,参见行为影响)。这扩展了先前使用其他方法引导模型的工作(参见相关工作)。
- •我们观察到与广泛安全担忧相关的特征,包括欺骗、谄媚、偏见和危险内容。

## 1将字典学习扩展到 Claude 3 Sonnet

我们理解 Claude 3 Sonnet 的总体方法基于线性表示假设(参见例如 [mikolov2013linguistic])和叠加假设(参见例如 [arora2018linear,goh2016decoding,elhage2022superposition])。关于这些概念的介绍,我们建议读者参考玩具模型(https://transformer-circuits.pub/2022/toy_model/index.html#motivation)的背景与动机部分 [elhage2022superposition]。在高层面上,线性表示假设表明神经网络将有意义的概念(称为特征)表示为其激活空间中的方向。叠加假设接受线性表示的想法,并进一步假设神经网络利用高维空间中几乎正交的方向的存在来表示比维度更多的特征。

如果人们相信这些假设,自然的方法是使用一种称为字典学习的标准方法 [elad2010sparse,olshausen1997sparse]。最近,一些论文表明,这对于 Transformer 语言模型可能相当有效 [yun2021transformer,bricken2023monosemanticity,cunningham2023sparse,tamkin2023codebook]。特别是,字典学习的一种特定近似称为稀疏自编码器,似乎非常有效 [bricken2023monosemanticity,cunningham2023sparse]。

迄今为止,这些努力都集中在现代基础模型标准下相对较小的语言模型上。我们之前的论文 [bricken2023monosemanticity] 聚焦于一个单层模型,这是一个特别极端的例子。因此,一个重要的问题悬而未决:这些方法是否适用于大型模型?或者是否有某种原因——无论是工程上的实际问题,还是大型模型运作方式的更根本差异——意味着这些努力无法泛化?

这一背景促使我们开展项目,将稀疏自编码器扩展到 Anthropic 的中型生产模型 Claude 3 Sonnet。本节的其余部分将回顾我们一般的稀疏自编码器设置、本文将分析的三个稀疏自编码器的具体细节,以及我们如何使用缩放定律来做出关于稀疏自编码器设计的明智决策。然后,我们将深入分析我们的稀疏自编码器学习到的特征——以及它们揭示的 Claude 3 Sonnet 的有趣特性。

### 1.1 稀疏自编码器

我们这项工作的总体目标是,将模型(Claude 3 Sonnet)的激活分解为更可解释的片段。我们通过在模型激活上训练一个稀疏自编码器(SAE)来实现,如同我们之前的工作 [bricken2023monosemanticity] 以及其他几个团队所做的那样(例如 [yun2021transformer,cunningham2023sparse,tamkin2023codebook];参见相关工作)。SAE 是“稀疏字典学习”算法家族的一个实例,该算法旨在将数据分解为稀疏激活分量的加权和。

我们的 SAE 由两层组成。第一层(“编码器”)通过学习到的线性变换和 ReLU 非线性,将活动映射到更高维度的层。我们将这个高维层的单元称为“特征”。第二层(“解码器”)试图通过特征激活的线性变换来重建模型激活。该模型被训练以最小化 (1) 重建误差和 (2) 特征激活上的 L1 正则化惩罚(旨在促进稀疏性)的组合。

一旦 SAE 训练完成,它为我们提供了模型激活的近似分解:模型激活分解为“特征方向”(SAE 解码器权重)的线性组合,系数等于特征激活。稀疏性惩罚确保,对于大多数给定的模型输入,只有很小一部分特征会具有非零激活。因此,对于任何给定上下文中的任何给定 token,模型激活由一小部分活跃特征(来自大量可能的特征池)所“解释”。关于 SAE 的更多动机和解释,请参见走向单义性 [bricken2023monosemanticity] 的问题设置部分(https://transformer-circuits.pub/2023/monosemantic-features/index.html#problem-setup)。

以下是我们方法的简要概述,我们在 2024 年 4 月更新中的关于如何训练 SAE 的更新(https://transformer-circuits.pub/2024/april-update/index.html#training-saes)中进行了更详细的描述。

作为预处理步骤,我们对模型激活应用标量归一化,使其平均平方 L2 范数为残差流维度 \(D\)。我们用 \(\mathbf{x}\in\mathbb{R}^D\) 表示归一化后的激活,并尝试使用 \(F\) 个特征将其分解如下:

\[\hat{\mathbf{x}} = \mathbf{b}^{\text{dec}} + \sum_{i=1}^{F} f_i(\mathbf{x}) \mathbf{W}^{\text{dec}}_{\cdot,i}\]

其中 \(\mathbf{W}^{\text{dec}} \in \mathbb{R}^{D \times F}\) 是学习到的 SAE 解码器权重,\(\mathbf{b}^{\text{dec}} \in \mathbb{R}^D\) 是学习到的偏置,\(f_i\) 表示特征 \(i\) 的活动。特征激活由编码器的输出给出:

\[f_i(x) = \text{ReLU}\left( \mathbf{W}^{\text{enc}}_{i,\cdot} \cdot \mathbf{x} + b^{\text{enc}}_i \right)\]

其中 \(\mathbf{W}^{\text{enc}} \in \mathbb{R}^{F \times D}\) 是学习到的 SAE 编码器权重,\(\mathbf{b}^{\text{enc}} \in \mathbb{R}^F\) 是学习到的偏置。

损失函数 \(\mathcal{L}\) 是重建损失的 L2 惩罚与特征激活上 L1 惩罚的组合。

\[\mathcal{L} = \mathbb{E}_{\mathbf{x}} \left[ \|\mathbf{x} - \hat{\mathbf{x}}\|_2^2 + \lambda \sum_i f_i(\mathbf{x}) \cdot \|\mathbf{W}^{\text{dec}}_{\cdot,i}\|_2 \right]\]

在 L1 惩罚项中包含因子 \(\|\mathbf{W}^{\text{dec}}_{\cdot,i}\|_2\) 使得我们可以将单位归一化的解码器向量 \(\displaystyle \frac{\mathbf{W}^{\text{dec}}_{\cdot,i}}{\|\mathbf{W}^{\text{dec}}_{\cdot,i}\|_2}\) 解释为“特征向量”或“特征方向”,并将乘积 \(f_i(\mathbf{x}) \cdot \|\mathbf{W}^{\text{dec}}_{\cdot,i}\|_2\) 解释为特征激活²²²这也防止了 SAE 通过使 \(f_i(\mathbf{x})\) 很小而 \(\mathbf{W}^{\text{dec}}_{\cdot,i}\) 很大(这种方式下重建激活保持不变)来“欺骗” L1 惩罚。。此后,我们将使用“特征激活”来指代这个量。

### 1.2 我们的 SAE 实验

Claude 3 Sonnet 是出于安全和竞争原因而专有的模型。本出版物中的一些决策反映了这一点,例如不报告模型大小,在某些图中省略单位,以及使用简化的 tokenizer。有关 Anthropic 如何在发布研究结果时考虑安全问题的更多信息,我们建议读者参阅我们的 AI 安全核心观点(https://www.anthropic.com/news/core-views-on-ai-safety)。

在这项工作中,我们专注于将 SAE 应用于模型中间(即“中间层”)的残差流激活。我们做出这个选择有几个原因。首先,残差流比 MLP 层小,这使得 SAE 训练和推理的计算成本更低。其次,专注于残差流在理论上帮助我们缓解一个称为“跨层叠加”的问题(参见局限性部分以获取更多讨论)。我们选择关注模型的中间层,因为我们推断它可能包含有趣的、抽象的特征(参见例如 [jermyn20248l,elhage2022solu,40l2021l])。

我们训练了三个不同大小的 SAE:1,048,576(约 100 万)、4,194,304(约 400 万)和 33,554,432(约 3400 万)个特征。对于 3400 万特征的运行,训练步数是根据缩放定律分析选择的,以在给定固定计算预算的情况下最小化训练损失(见下文)。我们使用的 L1 系数为 533³我们的 L1 系数仅在我们如何归一化激活的背景下才有意义。完整细节请参见关于如何训练 SAE 的更新(https://transformer-circuits.pub/2024/april-update/index.html#training-saes)。。我们对一个狭窄的学习率范围(由缩放定律分析建议)进行了扫描,并选择了产生最低损失的值。

对于所有三个 SAE,在给定 token 上活跃(即具有非零激活)的特征平均数量少于 300,并且 SAE 重建解释了模型激活方差的至少 65%。在训练结束时,我们将那些在 \(10^7\) 个 token 样本上未激活的特征定义为“死”特征。死特征的比例在 100 万 SAE 中约为 2%,在 400 万 SAE 中约为 35%,在 3400 万 SAE 中约为 65%。我们预计,训练过程的改进可能能够在未来的实验中减少死特征的数量。

### 1.3 缩放定律

在更大的模型上训练 SAE 是计算密集型的。理解以下内容很重要:(1) 额外计算在多大程度上改善了字典学习结果,以及 (2) 在给定的计算预算下,应该如何分配这些计算资源以获得最高质量的字典。

尽管我们缺乏评估字典学习运行质量的黄金标准方法,但我们发现,我们在训练期间使用的损失函数——重建均方误差 (MSE) 和特征激活上的 L1 惩罚的加权组合——是一个有用的代理指标,前提是 L1 系数选择合理。也就是说,我们发现,具有低损失值(使用 L1 系数为 5)的字典倾向于产生可解释的特征,并改善其他感兴趣的指标(L0 范数,以及死特征或其他退化特征的数量)。当然,这是一个不完美的指标,我们对其是否最优没有信心。很可能其他 L1 系数(或其他观

相似文章

自然语言自编码器:将 Claude 的思考转化为文本

Hacker News Top

Anthropic 推出了自然语言自编码器(NLA),这是一种将内部 AI 激活状态转化为人类可读文本的方法,有助于更好地理解模型的思考过程,并通过揭示隐藏的推理逻辑来提升安全性。