概念 | Transformer 中一类专门实现「续写上一次出现过的模式」的注意力头:看到序列里
[A][B]…[A],它能预测下一个 token 是[B]。
是什么
Induction Head 是 Transformer 里一种被反复发现、功能高度专门化的 attention head。它实现的算法非常简单,可以用一句话概括:
当前 token 是
A,那就去历史里找上一次A出现的位置,把紧跟在那个A后面的 token 复制过来作为预测。
举个具体例子,序列是 … Harry Potter … Harry,模型读到第二个 Harry 时,induction head 会回头找到第一个 Harry,发现它后面跟着 Potter,于是把 Potter 的信息搬到当前位置,从而预测下一个 token 是 Potter。这是一种纯粹基于「前缀匹配 + 复制后继」的 in-context 模式补全,不依赖具体语义,对任意 token(哪怕是随机字符串)都成立。
这个算法通常不是单个 head 完成的,而是一个两层、两个 head 协作的小电路(见 电路):
- Previous-token head(前一 token 头):位于较前的层,它把「我的前一个 token 是什么」这条信息写进当前位置的 残差流。也就是说,在第一个
A后面那个B的位置上,被写入了「我前面是A」。 - Induction head(归纳头本体):位于较后的层。它的 QK 回路(query-key,决定「往哪看」)让当前的
A去匹配那些「前面是A」的位置——也就是匹配到第一次A之后的B;它的 OV 回路(output-value,决定「搬什么」)则把被匹配位置的 token(B)复制到当前输出。
QK 负责「找到上一次出现的地方」,OV 负责「复制它的后继」——两者分工是理解 induction head 机制的核心。
为什么重要(动机)
Induction Head 之所以是 interpretability 的奠基性发现之一,原因有三:
-
它是 in-context learning(ICL)的机制性证据。 大模型能「读了几个示例就照着做」长期是个黑箱观察。Induction head 给出了一个具体、可检验的微观机制:最朴素的 ICL(按上下文里的模式续写)至少部分由这种 head 实现。它把「模型会 ICL」这个行为级现象,落到了「这几个 head 在做前缀匹配复制」的电路级解释。
-
它是 universality(普适性)的范例。 几乎所有规模、不同随机种子训练出来的 attention-only 与完整 Transformer 里,都能找到 induction head。同一种算法在不同模型里独立涌现,说明它不是某个模型的偶然,而是数据分布逼出来的一种「自然解」——这支持了「不同网络会学到相似回路」的 universality 假说。
-
它伴随训练中的 loss 相变出现。 训练过程中存在一个明显的、相对突然的 loss 下降「拐点」(phase change),多项分析指出这个拐点与 induction head 的形成在时间上高度重合,模型的 ICL 能力也在此前后跃升。这让它成为「能力涌现」少数有清晰机制对应的案例之一。
对新手而言,先理解 induction head,是后续读懂更复杂电路分析、ICL 机制研究的前置——它是「用电路视角解释一个具体能力」的最干净的入门样例。
关键细节
-
机制 vs 命名的边界(已知 / 需谨慎)。 严格的 induction head 定义是「实现前缀匹配复制算法的 head」。实践中人们常用一个行为代理指标来识别它:给模型喂随机 token 的重复序列(如
xyz…xyz…),看哪个 head 在重复段上注意力强烈指向「上一次出现位置的后继」。注意:行为上像 induction、和机制上真的在做 QK 匹配 + OV 复制,二者不完全等价——一个 head 可能在某些输入上表现得像 induction 却走了别的回路。判断机制需要更强的因果证据(见 Activation Patching、因果中介)。 -
它不止做「精确复制」。 后续工作发现,同一批 head(或其变体)还参与「fuzzy / 软匹配」的归纳——不要求 token 完全相同,而是按语义或抽象模式续写,甚至支撑更复杂的 in-context 推理。所以「induction head 只会逐字复制」是常见误解;精确复制是它最容易被识别的极端情形,而非全部功能。
-
两头电路是典型结构,但非唯一实现(推测 / 争议)。 prev-token head + induction head 的两步组合是被反复验证的经典形态,但模型里 ICL 相关的回路可能更冗杂:存在多个 induction head 互为冗余、与其他 head 组合、或承担额外功能。把「ICL = induction head」直接画等号是 overclaim——induction head 解释的是 ICL 的一个重要成分,不是全部。
-
依赖位置信息。 「前一个 token 是谁」「上一次出现在哪」都隐含对相对位置的利用,因此 induction 机制与模型的位置编码方式相关;这也是它能做「前缀」匹配而非单纯「内容」匹配的基础。
与其他概念的关系
- 电路(Circuits):induction head 是「电路」这一分析范式最经典、最易讲清的实例——一个跨层、多 head 协作完成单一算法的子网络。想理解什么叫「电路级解释」,从它入手最直观。
- In-context Learning and Induction Heads:系统提出并论证 induction head 与 ICL、与训练相变关系的 anchor 论文,发现层面的细节(共现指标、phase change 证据、universality)都在此。
- 残差流(Residual Stream):两头电路靠残差流传递中间信息——prev-token head 把「前驱身份」写入残差流,induction head 再读出并使用它;残差流作为「共享通信总线」的视角是理解这种跨层协作的前提。
- Activation Patching / 因果中介:要从「这个 head 看起来像 induction」升级到「它因果上确实在执行该算法」,需要这些干预方法做 grounding,避免把行为相关当成机制证据。