两个头,一条路:极简 Transformer 如何"看见"逻辑
间接宾语识别的机械可解释性深度拆解(费曼视角)
论文:Emergence of Minimal Circuits for Indirect Object Identification in Attention-Only Transformers
作者:Rabin Adhikari(Saarland University)
arXiv: 2510.25013v1
一、从一个句子开始
想象你读到这句话:
"Mary gave a book to John, and then she gave a flower to him."
问:"him" 指谁?
你当然知道是 John。但一个神经网络是怎么知道的?它凭什么断定 "him" 不是 Mary、不是 book、不是 flower?
这就是 Indirect Object Identification(IOI)——间接宾语识别。在自然语言中,代词指代是推理的最小单元之一。解开这个最小单元,可能就能解开更大的东西。
但真实语言太脏了。Mary 可能变成 "那个穿红衣服的女孩","gave" 可能变成 "handed over",上下文可能绕三个弯。变量太多,你搞不清楚模型到底在用哪条规则。
所以这篇论文做了一件事:把语言洗掉,留下骨架。 他们不研究真实的英语句子,而是研究符号化的模板——比如 "A 给 B 东西,然后 C 给 D 某物"——把问题还原到最纯粹的逻辑结构。
这是一个聪明的减法。不是加更多层、更多头、更多数据,而是不断拿走东西,看什么时候机器停止工作。
二、减法实验:拿到什么都不剩为止
论文的模型极简到近乎残忍:
- 1 层
- 2 个注意力头
- 没有 MLP
- 没有 LayerNorm
- 没有 dropout
- 没有位置编码(后面又加回去)
就这些。一个被剥到骨头的 Transformer,扔进符号化的 IOI 任务里。
训练用 AdamW,学习率 0.001,6000 步,batch size 64。每 1000 步衰减一次。就这么简单。
结果呢?
消融实验:一步步拆,看哪里会塌
| 配置 | 准确率 | 发生了什么 |
|---|---|---|
| 单层 2 头(完整) | 100% | 完美。两个头学会了分工。 |
| 单层 1 头 | ~50% | 塌了。随机猜。一个头干不了两件事。 |
| 双层 1 头 | ~86% | 能救回来一点,但不如原生双头。 |
| 无位置编码 | ~70% | 也塌了。位置信息对指代判断至关重要。 |
| 加回位置编码 | 100% | 恢复。位置不是装饰,是结构的一部分。 |
这就是我要说的第一件事:单头失败不是因为它"不够聪明",而是因为一个注意力机制内部存在功能不兼容。
一个注意力头要同时做两件事——找到 "him" 该指谁,并且把那个"谁"的信息搬过来——这两件事在计算上是冲突的。就像你不可能同时用同一只手把一封信从桌上拿起来,又把它塞进正确的信封。
所以需要两只手。不是越多越好,是恰好两只手。
三、两只手怎么分工
论文用了一套漂亮的数学工具——谱分析——来看这两个头到底在干什么。但我不想先扔公式。我想先告诉你它们的行为像什么。
Head 0:加法者(The Adder)
这个头的 QK(Query-Key)分数有一个特征:正分数只有 -0.06,几乎中性。这意味着它不擅长"挑选"——它不积极排除错误选项,也不强烈偏向正确选项。
但它的 OV(Output-Value)矩阵全是正的。这是一个复制头。它的工作是:把输入中的信息原样搬到输出里。就像复印机——不分好坏,先全部复印一份。
它的工作方向是对齐 sum direction:correct_copy + incorrect_copy。两个都保留。
Head 1:对比者(The Contrastor)
这个头截然不同。它的 QK 正分数是 -0.65——强烈的负向抑制。这意味着它在积极说"不"——对错误选项打低分,把它们压下去。
它的 OV 矩阵更有意思:一半是正的,一半是"虚负"(complex negative,旋转后的负方向)。这让它能执行 对比逻辑:correct_copy - incorrect_copy。一个加,一个减。
它的工作方向是对齐 difference direction。
四、残差流里的魔术
现在到了最漂亮的部分。怎么把这两个头的输出合起来,得到正确答案?
Transformer 的残差流是这样的:
x_L = x_0 + f(x_0)
其中 f(x_0) = Head0(x_0) + Head1(x_0)
论文发现,经过训练后:
- Head0(x_0) ≈ incorrect_copy + correct_copy(两者叠加)
- Head1(x_0) ≈ correct_copy - incorrect_copy(对比相减)
合起来:
x_L ≈ x_0 + (incorrect + correct) + (correct - incorrect)
≈ x_0 + 2 × correct_copy
incorrect 项抵消了。error cancels out。
这就是残差流里的魔术。两个头各自带着错误,但错误的方向相反,合起来错误就没了,只剩下正确答案的信号被放大两倍。
这让我想到一个类比: stereo 音箱。一个声道放原曲,另一个声道放反相噪音。单独听任何一个都一团糟,合在一起噪音抵消,只剩下干净的信号。
但这里更妙——这不是人为设计的降噪系统,是训练自己发现的。没有任何人告诉模型"你们应该一个加、一个减",它从梯度下降里自己找到了这个解。
五、为什么双层单头不如原生双头
论文还做了一个很关键的实验:如果不用单层双头,而是用双层单头呢?第一层的一个头做一部分工作,第二层的一个头做另一部分,通过 Q/V composition 跨层组合信息。
结果:准确率 ~86%,比原生双头的 100% 差了一截。
他们还做了更精细的消融——关掉不同层的不同组件,看哪部分是致命的:
| 消融目标 | 准确率暴跌到 | 含义 |
|---|---|---|
| Q composition | ~100% drop | 跨层的 query 组合是致命的。信息没法提问了。 |
| V composition | 93.33% | 还能活,但 hurt。value 组合是次要的。 |
| K composition | 26.67% | 居然还行?说明 key 的组合不是关键路径。 |
核心结论:原生双头的并行分工,优于双层单头的串行组合。 并行意味着两个计算可以同时发生、同时优化,残差流里的信号叠加是干净的。串行组合引入了层间依赖,误差在中间步骤里传播、变形,最终答案没那么锐利。
这不是说"层数没用"。这是说:对于 IOI 这个特定任务,两个头并行是最优解,不是两个层串行。
六、位置编码:为什么不是装饰
无位置编码的模型准确率跌到 ~70%。这不是小数字——它说明模型严重依赖 token 的位置信息来执行指代判断。
在符号化 IOI 中,位置信息告诉模型 "him" 在句子的哪个位置,以及候选指代对象(Mary、John 等)相对于 "him" 的位置关系。没有这些空间坐标,模型无法区分 "A 给 B...C 给 D" 中谁是主语、谁是宾语、谁在谁之后。
这打破了一个常见的误解:位置编码只是让模型"记住词序"。不,对于指代任务,位置编码是逻辑结构的一部分。"him" 出现在第二位动词的宾语位置,这个空间事实和语义事实同等重要。
七、费曼式审视:三个硬问题
好,现在我已经把论文的核心发现讲清楚了。但按照费曼的规则,讲完别人做了什么之后,必须问自己:这些结论有多硬?边界在哪里?
问题一:"100% 准确率"是真的 100%,还是任务的 100%?
论文的 IOI 是符号化的——不是真实的英语句子,是人工构造的模板。模板化意味着:
- 句子结构固定
- 候选指代对象数量有限
- 干扰项可控
在真实语言中,"him" 可能指代跨越三段话之前提到的某个人,可能受世界知识约束("他吃了苹果"——"他"不可能是苹果),可能需要常识推理。
100% 在这个符号化任务是成立的。但这不是"Transformer 解决了指代消解",这是"一个极简 Transformer 解决了一个被精心剥离的指代消解子集"。
就像你在实验室里让一只老鼠走迷宫,它 100% 能找到出口。这不等于它能找到你家冰箱里的奶酪。
问题二:"无 MLP、无 LN"是真实的极简,还是虚假的胜利?
论文声称模型没有 MLP 和 LayerNorm,所以是"纯注意力"。但等一下——
- LayerNorm 被拿掉了,但注意力计算里的 softmax 还在。softmax 本身就是一种非线性变换,它在执行归一化功能。
- MLP 被拿掉了,但注意力头之间的加法(Head0 + Head1)在残差流里执行了信息整合。这不是 MLP 的逐元素非线性,但也是一种计算。
我不是说论文在骗人。我是说:"纯注意力"这个标签需要仔细审视。 注意力机制内部的 softmax 提供了非线性,多头之间的加法提供了组合。模型仍然在做非线性计算和特征组合,只是形式不同。
真正的"纯线性"模型(比如去掉 softmax,用线性 attention)可能根本学不会这个任务。论文没有做这个消融——如果做了,可能会发现 softmax 是关键的。
问题三:这是"最小电路"吗?还能更小吗?
论文标题说 "Minimal Circuits"。但"最小"是相对什么而言的?
- 相对于 12 层 12 头的 GPT 小模型?当然更小。
- 但能否用 1 层 1 头 + 某种巧妙的参数设置来解决?论文说单头 ~50%,但这是随机初始化的结果。如果人工设计 QK/OV 矩阵呢?
- 或者,不用 Transformer,用一个简单的图神经网络?一个显式维护指代链的符号系统?
论文的"最小"是在梯度下降 + Transformer 架构的约束空间内的最小。跳出这个空间,可能有更小的电路。
这不是批评论文。这是一个边界声明——最小性的声称依赖于搜索空间的定义。
八、更大的图景:这对理解大模型有什么用?
好,这篇论文研究的是一个玩具任务上的玩具模型。为什么要关心?
费曼会回答:因为你搞清楚简单的东西怎么运作,才能搞清楚复杂的东西是不是用同样的方式运作。
这篇论文的真正贡献不是"单层双头能做 IOI"。而是:
1. 提供了"高度可控的实验范式"
真实的大模型(GPT-4、Claude)太大了,你很难精确定位"第 7 层第 3 个头在处理指代"。但这篇论文的极简模型让你能精确追踪每个参数、每个注意力分数、每个残差流向量。
这是一个显微镜。不是看整个森林,而是把一片叶子放大到细胞级别。
2. 揭示了"多头分工"的普遍原理
论文发现两个头分别对齐 sum direction 和 difference direction。这个数学结构——加法 + 对比——是不是在更大的模型里也存在?
Anthropic 的 Transformer Circuits 工作(特别是 "A Mathematical Framework for Transformer Circuits")已经在大模型里发现了类似的电路结构——name mover、s-duplicate detector、negative name mover 等。这篇论文用极简模型复现并验证了这些发现的基础原理。
3. 证明了"涌现"不是魔术
有人说大模型的推理能力是"涌现"的——突然就出现了,不知道怎么来的。这篇论文展示:即使是最简单的架构,在足够特定的任务上也能涌现出可解释的分工。
这不是魔术,是梯度下降在约束空间里的数学必然。两个头、两种分工、一种组合方式——这是优化 landscape 里的一个稳定 attractor。
九、核心结论:我们到底知道了什么?
让我用费曼的方式总结——短句锚定,然后展开:
一个注意力头干不了 IOI。
它需要同时做"找到指代对象"和"搬来对象信息",这两件事在计算上冲突。单头 ~50%,随机水平。
两个头刚刚好。
一个头负责加法(保留所有信息),一个头负责对比(减去错误信息)。残差流里 error cancels,正确信号放大两倍。
位置不是装饰。
无位置编码 → ~70%。空间结构是逻辑结构的一部分。
并行优于串行。
原生双头 100% > 双层单头 ~86%。并行分工的梯度优化更干净。
但这是符号化任务的 100%。
真实语言的 IOI 远更复杂。这篇论文是原理验证,不是产品发布。
参考文献
- Adhikari, R. (2025). Emergence of Minimal Circuits for Indirect Object Identification in Attention-Only Transformers. arXiv:2510.25013v1.
- Elhage, N., et al. (2021). A Mathematical Framework for Transformer Circuits. Transformer Circuits Thread, Anthropic.
- Wang, K., et al. (2022). Interpretability in the Wild: a Circuit for Indirect Object Identification in GPT-2 small. Anthropic.
#机械可解释性 #Transformer #注意力机制 #IOI #最小电路 #SaarlandUniversity #费曼视角 #小凯
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。