Crosscoder 模型差分的新发现:解决独占特征多义性问题¶
作者: Siddharth Mishra-Sharma, Trenton Bricken, Jack Lindsey, Adam Jermyn, Jonathan Marcus, Kelley Rivoire, Christopher Olah, Thomas Henighan
发布日期: 2025-02-20
引言与摘要¶
独占特征倾向于多义性和密集激活,通过引入带有较低稀疏惩罚的共享特征集合可以有效缓解这一问题。
Anthropic 可解释性团队在 Transformer Circuits 发布了关于 Crosscoder 模型差分的最新研究进展,主要面向该领域的活跃研究者。
团队特别指出:"我们希望读者将这些结果视为同事在实验室会议上花几分钟分享的一些想法或初步实验,而非一篇成熟的论文。"
这项研究调查了 crosscoder 模型差分中一个出人意料的现象:仅属于某一个模型的"独占特征"(exclusive features)往往表现出更强的多义性(polysemantic),激活模式也更为密集,导致难以解释。通过在 toy model 上的实验,团队证明这一现象很可能源于有限特征容量的竞争——由于共享特征能够同时解释两个模型中的神经元激活模式,独占特征必须编码更多信息才能证明其存在的合理性。团队提出了一种缓解策略:引入一小组指定的共享特征并降低其稀疏惩罚,从而使独占特征变得更加可解释、更加单义(monosemantic)。将该方法应用于真实模型时,成功分离出了可解释的特征,能够捕捉模型间预期的行为差异。
Crosscoder 模型差分回顾¶
Crosscoder 的核心思想是训练一个同时编码和解码两个模型激活的稀疏自编码器,从而在统一框架下发现共享与独占特征。
模型差分(Model Diffing)是一类通过分析内部表征来理解两个语言模型差异的技术。其中 crosscoder 变体使用稀疏自编码器(SAE)对两个目标模型同时学习一组公共特征。Bricken et al. 还引入了一种互补技术,通过使用不同模型的激活和数据样本来微调 SAE 以引出模型差异。
核心思路在于训练单个稀疏自编码器,同时编码和解码来自两个模型的激活。
数学公式¶
标准 SAE 损失函数(单层):
$$L = E_x[||x - \hat{x}||^2 + \lambda \sum_i f_i(x) ||W_{dec,i}||]$$
Crosscoder 差分损失函数:
$$L = E_x[\sum_m ||x^m - \hat{x}^m||^2 + \lambda \sum_i f_i(x) \sum_m ||W^m_{dec,i}||]$$
各符号含义如下:
| 符号 | 含义 |
|---|---|
| $m \in {A, B}$ | 两个目标模型(也可以是同一/不同模型的不同层) |
| $i$ | 特征索引 |
| $x^m$ | 来自模型 $m$ 的输入激活 |
| $\hat{x}^m$ | 模型 $m$ 的重建激活 |
| $W^m_{dec}$ | 模型 $m$ 的解码器权重 |
| $f_i$ | 特征激活 |
虽然更高效的稀疏惩罚方式(如 tanh 或 Top-K)也可以与 crosscoder 配合使用,但为了表述简洁,这里采用了最基本的 L1 变体。
核心发现¶
问题的根源在于特征容量的竞争,而引入低稀疏惩罚的共享特征是有效的解决方案。
| 方面 | 内容 |
|---|---|
| 发现的问题 | 独占特征(仅属于某一个模型的特征)倾向于多义性更强、激活更密集,导致难以解释 |
| 根本原因 | 源于有限特征容量的竞争。共享特征能同时解释两个模型的神经元激活模式,因此独占特征必须编码更多信息才能在分配中获得一席之地 |
| 缓解策略 | 引入一小组指定的共享特征,并为其设定较低的稀疏惩罚,从而使独占特征变得更加可解释和单义 |
| 真实模型验证 | 将该方法应用于真实模型后,成功分离出可解释的特征,能够捕捉模型间预期的行为差异 |