2022 年,Anthropic 的研究人员把一个小型 Transformer 拆开,发现了一件诡异的事:模型内部存在一些神经元,分别对 "DNA"、"地方法律"、"弹道导弹" 这些概念做出强烈反应。听起来很正常,对吧?但紧接着他们发现,同一个神经元可能同时响应 "婚姻" 和 "烹饪"——因为在这批语料里,它们常常出现在相似的语境中。
一个神经元同时代表两个看似无关的概念,这不是代码 bug,而是模型自己在训练中长出来的"电路"。没人设计过这些电路,它们从梯度下降的混沌中自发生成。这就是机制可解释性(Mechanistic Interpretability)研究的对象——把训练好的神经网络当成一块陌生芯片,逆向工程出它内部的线路。
可解释性不是看注意力热力图
我最早接触可解释性时,以为就是拿注意力权重画个热力图,看看模型在关注哪些词。后来读了几篇论文才发现,注意力权重根本不能直接说明模型在"想什么"——它只是一个加权平均的系数,真正的信息藏在残差流和前馈网络里。
机制可解释性跟传统的"探针分析"或"注意力可视化"有本质区别。它不是去找"输入和输出之间的相关性",而是要精确回答:模型内部的每一个激活、每一条权重路径,到底在计算什么?
| 维度 | 传统可解释性 | 机制可解释性 |
|---|---|---|
| 目标 | 找到模型行为与内部状态的关联 | 逆向工程出完整的计算回路 |
| 粒度 | 注意力头、单个神经元 | 特征、虚拟连接、电路 |
| 方法 | 探针、热力图、梯度归因 | 路径展开、稀疏编码、干预实验 |
| 验证方式 | 相关性指标 | 因果干预:激活/抑制特定特征改变输出 |
你可以把传统可解释性理解成"看一个人在做什么",而机制可解释性是">解剖大脑,找出每一根神经的走向"。后者难得多,但一旦成功,你就真的知道模型为什么会这么回答。
Transformer 里真的有"电路"?
Anthropic 在 2021 年发布了一篇很有分量的论文:A Mathematical Framework for Transformer Circuits。他们提出,Transformer 的计算可以被分解为一条残差流(residual stream),所有注意力头和 MLP 层都在这条流上读写信息。每个注意力头就像一个电子元件,它读取残差流中的向量,经过线性变换和 softmax,再把结果写回流中。
关键在于,多个头之间会产生间接的交互——一个头的输出会影响另一个头的输入。Anthropic 把这些交互称为"虚拟连接"。把虚拟连接画出来,你会得到一张类似电路图的网络:信息从输入嵌入出发,经过不同头的加工,最终汇聚到输出层。
"The residual stream is a shared, evolving representation of the network’s state, and the attention heads and MLP layers are the only places where information is transformed."
—— 摘自 Transformer Circuits 论文
这个框架给了研究者一张地图。你不再面对一团混沌的权重矩阵,而是可以沿着残差流追踪:某个信息是从哪个头写入的,又是在哪个头被读取的。
一个神经元代表"婚姻"和"烹饪",是因为发生了叠加
顺着这张地图走,Anthropic 很快碰到了一个尴尬的事实:他们找不到干净的"单语义神经元"。很多神经元都是多义的(polysemantic),一个神经元同时响应多个不相关的特征。这跟传统神经科学里发现的"祖母细胞"完全不同。
为什么会出现这种情况?Anthropic 在 Toy Models of Superposition 这篇论文里给出了解释:因为模型能用的维度不够了。
想象你有一个 10 维的向量空间,但需要表示 100 个不同的概念。如果每个概念独占一个维度,只能放 10 个。模型被迫让多个概念共享同一组维度,它们叠加在一起,就像把多张幻灯片叠放在同一个投影仪上。这个现象叫叠加(Superposition)。
叠加解释了为什么单个神经元难以解释:你看到的是多个特征的混合信号。但这只是开始,更关键的问题是:既然模型用叠加来压缩特征,我们怎么才能把它解压出来?
Anthropic 的破案工具:字典学习
2023 年,Anthropic 发表了Towards Monosemanticity: Decomposing Language Models With Dictionary Learning。他们的思路非常直接:用一个稀疏自编码器(SAE)去分解模型的内部激活。
稀疏自编码器的工作原理很像独立成分分析:你给出一堆混合信号,它尝试找到一组基向量,使得每个信号都能表示成这组基向量的稀疏线性组合。Anthropic 把它用在 Transformer 的残差流激活上,成功分解出了大量可解释的特征。
具体步骤大致如下:
- 收集模型在大量文本上的内部激活值。
- 训练一个稀疏自编码器,让它的重建误差尽量小,同时让隐藏层的激活尽量稀疏(大部分神经元为 0)。
- 把自编码器的隐藏神经元看作候选特征,在数据集上统计它们的激活模式。
- 用自动解释和人工验证的方式,为每个特征贴上语义标签。
结果令人兴奋。他们从一个小型 Transformer 的残差流中分离出了数千个特征,包括"讽刺性幽默"、"法律证据"、"军事冲突"等等。更妙的是,这些特征确实有因果作用——当你人为激活某个特征时,模型生成的内容会往那个方向倾斜。
这跟传统神经元完全不同。传统神经元是混合体,而 SAE 提取的每个特征都是相对纯粹的语义单元。相当于你把一锅杂烩菜,重新分拣成了胡萝卜、土豆和牛肉。
但电路研究还远未成功
到目前为止,Anthropic 的电路级研究大多停留在数学上很干净的玩具模型上,比如:induction heads 这种只在两层注意力里出现的模式。真实大模型的电路比这复杂得多。
2024 年,Anthropic 发布了 Scaling Monosemanticity,把字典学习扩展到更大的模型,确实找到了更丰富的特征,但计算成本高得惊人——为了分解一个小型模型的残差流,他们需要训练一个比原模型还大的稀疏自编码器。放大到 GPT-4 级别的模型,这个成本还不现实。
另一个问题是:找到特征只是第一步,找到特征之间的因果连接才是电路分析的真正目标。目前我们还没有办法在大模型上完整绘制出"特征 A 通过注意力头 H 影响特征 B"这样的全图。即使对于很小的模型,这种图也可能有数百万条边。
为什么这件事跟你有关
你可能觉得这是纯学术研究,离实际应用很远。但机制可解释性正在影响 AI 安全和对齐的讨论方向。如果你不能理解模型内部在做什么,就无法保证它在部署后不突然做出危险行为。
比如,Anthropic 在实验中曾发现一个特征对应"欺骗行为"——模型在撒谎时这个特征会激活。如果能在部署前识别并抑制这类特征,也许就能从机制层面降低模型撒谎的概率。当然,目前这种干预还很粗糙,但它给了我们一种不同于"RLHF 洗脑"的安全手段。
常见问题
为什么不能直接看神经网络的权重来理解它?
权重是连续的实数矩阵,它们本身没有语义。信息是通过权重与激活值的组合才产生的,单个权重数值几乎无法解释。
叠加是不是模型偷懒?
不是偷懒,而是高效利用维度。真实世界的概念分布是长尾的,很多概念不常出现,用专用维度去表示它们太浪费。叠加是一种压缩策略,类似主成分分析。
机制可解释性会取代基于行为的安全测试吗?
短期内不会。机制可解释性还很缓慢和昂贵,行为测试依然是衡量模型安全性的主要手段。但前者可能提供更深层的保证,两者是互补的。
我自己从最早对注意力热图的神往,到后来对探针方法的怀疑,再到读完 Anthropic 的字典学习论文后重新燃起希望——这条路走得磕磕绊绊。但有一件事越来越清楚:神经网络不是不可理解的黑箱,它只是一块我们还没有完全搞清布线图的电路板。随着机制可解释性不断推进,我们也许真的能像修理工一样,拿着万用表去测量模型内部每一个节点的电压。
到那时候,AI 就不再是那个让你半信半疑的"魔法",而是一台可以被拆解、被理解、被信任的机器。
原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/264.html