
Llama-3.1-70B 的倒计时子电路如何跨任务复用
精读一项针对 Llama-3.1-70B-Instruct 的机制研究:残差流 patching 定位出三个倒计时 attention heads,并用隐式长度干预与自然语料探测检验它们是否跨任务复用。
先给判断
在 Llama-3.1-70B-Instruct 里,模型处理「写够 12 个词」「让 DNA 序列在正确位置结束」「把 ASCII 表格排齐」时,可能复用了同一套长度计算机制:第 18 层的三个 attention heads 读取目标长度与当前位置的表示,估计距离结束还剩多少。论文把它称为 countdown subcircuit。1
这项工作的分量不在于发现模型会数长度,而在于把「跨任务复用」拆成了不同证据等级。受控句子规划任务和重复字符串任务用了 residual stream patching,能把输出长度推向源提示的目标长度;自然语料中的 tweet、哈希和诗歌等案例主要来自 probe 命中后的人工筛选。前者是机制干预,后者是复用线索,不能混写成同一种证明。
论文由 Jacob Dunefsky、Wes Gurnee 和 Emmanuel Ameisen 撰写,提交于 2026 年 7 月 14 日,是一篇 arXiv 预印本。原文入口:A Shared Subcircuit Lets LLMs Count Down Across Tasks。
为什么要找一个倒计时子电路
句子规划任务给模型两个条件:生成指定词数的句子,并以指定词结尾。例如,提示要求写一个 10-word sentence,最后一个词是「telescope」。Llama-3.1-70B-Instruct 在目标长度小于 11 个词时几乎都能精确完成;目标长度为 24 个词时,输出长度误差的中位数仍小于 4 个词。问题于是从「模型能不能完成」转成「它在什么时候、以什么表示判断该停了」。1
作者先把目标长度不同、目标词相同的两个提示配成 source 和 destination。destination 要求更长的句子,source 要求更短的句子。然后在指定 token 和指定层,把 source 的 residual stream 激活 patch 到 destination,再观察目标词的 logit。如果 destination 的输出被推向 source 的较短长度,说明被替换的激活已经携带了足以改变输出长度的信息。

结果把位置锁定在了两个阶段。目标长度信息从大约第 4 层开始被移动到长度单位 token,在该 token 上最后一次具有因果作用的是第 18 层;第 19 层以后,即使那里还残留长度信息,也已经不再影响这个输出。接着看第 18 层 attention 输出,只有 L18H24、L18H28 和 L18H30 三个 heads 明显从长度单位 token 向后续 token 传递信息。它们的响应峰值分别分布在句子末尾前的不同区间,叠加后在接近目标长度时达到最高,形成持续的倒计时而不是只在终点突然触发。
同一套表示也处理隐式长度
显式给出「写 10 个词」还不够说明机制能跨任务复用。作者随后构造 repeated string setting:提示中先出现两个长度相同的 base64 字符串或 DNA 序列,再要求模型继续生成第三个字符串。第三个字符串的长度没有直接写出,只能从前两个字符串的上下文推断。
实验把 source 提示中前两个字符串的 ending delimiter 激活,替换到 destination 提示对应的 delimiter。source 长度取 10 到 24,destination 长度取 30、40 或 50,每个长度组合重复 5 次。替换后,模型对第三个字符串的预测长度会靠近 source 的长度,而不是原本 destination 的长度,效果接近直接运行 source 提示的结果。这说明长度信息不只是存在于 delimiter 激活中,而且对后续输出长度具有因果充分性。1
作者再比较三类位置上的 key 激活:显式句子规划里的长度单位 token、base64 字符串的结束分隔符、DNA 序列的结束分隔符。不同类型之间的余弦相似度呈单峰结构,最相似的长度近似沿线性关系对齐,跨类型拟合的 r² 为 0.93 到 0.97。换句话说,模型可以把「提示里明说的目标长度」和「从上下文推断的目标长度」放进相近的表示格式,再交给同一组 countdown heads 读取。1
这里的几何关系也解释了「倒计时」如何工作:key 表示目标长度,query 表示当前序列位置;当当前位置接近目标长度时,二者的相似度最高。第 18 层三个 heads 因而不是在 token 上存一个简单的「结束」开关,而是在比较两个连续变化的量。论文将这一 key/query 流形与 Claude 3.5 Haiku 在线换行任务中报告的结构作比较,认为它们可能共享一种跨模型的几何 motif。这个比较提供了方向,但不是跨模型复现实验。
从一个任务搜到多个任务
确定了 countdown heads 后,作者用它们的输出构造 probes。某个 probe 对应「距离句尾还剩多少位置」:作者用该距离位置的平均激活减去其它位置的平均激活,再把 probe 扫过自然语料。
探测使用了 Pile 的 10,000 个样本,每个样本切成长度为 368 的 chunk;另有 LMSYS-1M 的 5,000 段对话,保持整段对话不切分。作者丢弃 position 0 的激活,因为开头 token 往往异常高;只保留至少有一个 token 的 probe activation 达到 1.0 的 chunk 或对话。这个阈值是启发式选择。高激活样本先由 Claude Opus 4.6 总结和标注,再由作者手动挑出案例。1

这些案例的共同点不是文本表面相似,而是模型需要推断一个「还剩多长」的约束:tweet 有字符上限,哈希有固定长度,俳句有行内结构,ASCII 表格需要对齐单元格,重复 DNA 序列则从前文继承长度。它们让跨任务复用变成一个可检验的假设,而不只是从单一 prompt 外推的故事。
但这部分证据不能和前面的 patching 等量齐观。probe 能告诉我们哪些位置读出了与「距离结束」相似的信号,却不能单独证明模型在每个样本中都依赖这三个 heads。启发式阈值、模型辅助标注和人工挑选也意味着,论文没有报告自然语料中所有命中位置的任务分布、命中率或覆盖率。作者使用的是「suggest」一类的措辞,结论应收在「提供了跨任务复用的证据」而不是「证明了该电路支配这些任务」。
这项工作真正推进了什么
第一,它把长度控制从一个抽象能力拆成了可定位的内部计算。在受控任务里,论文给出了 token、层和 attention head 的具体位置;在隐式长度任务里,delimiter 的 patching 又把上下文推断出的长度连接到输出行为。这比只训练一个 probe 预测「模型还剩多少字」更接近机制解释。
第二,它展示了一个较清楚的 bottom-up 路径:先选一个行为边界明确的任务,逆向工程出局部子电路,再用无监督 probes 搜索同一表示在哪里被复用。这样的顺序把「发现机制」和「寻找泛化」分开了,读者也能分辨哪些结果需要干预、哪些结果只是候选场景。
第三,跨模型比较提出了一个值得继续检验的问题:不同模型可能不必共享同一组参数或同一组 heads,却可能复用「目标长度 key」与「当前位置 query」对齐的几何结构。当前论文只在 Llama-3.1-70B-Instruct 上完成主实验,所以这个问题仍停在可检验的假设层。
局限与阅读边界
- 主实验只有一个模型:Llama-3.1-70B-Instruct。Claude 3.5 Haiku 只作为既有 line-wrapping 研究的几何比较对象,论文没有在第二个模型上按同一流程重新定位并干预 countdown heads。
- patching 证明的是指定激活对目标输出的因果充分性,不等于已经证明三个 heads 对所有相关行为都是必要的。论文的自然语料部分主要依赖 probe,并未逐项做行为干预。
- 复用案例来自 10,000 个 Pile 样本和 5,000 段 LMSYS-1M 对话的子集,筛选阈值为启发式设定,之后还有模型辅助标注和作者手动选择。它们适合支持机制复用的实例多样性,不适合估计覆盖率。
- 「共享 motif」的判断来自表示几何的相似性。论文没有给出跨架构、不同规模或不同训练配方的系统检验,因此不能把它写成所有 LLM 的通用电路。
读原文时,最该盯住的是证据分界:第 2 节的 residual stream patching 回答「哪里的信息足以改变长度」,第 3 节的 delimiter patching 回答「隐式长度是否被同一表示读取」,第 4 节的 probe 则回答「还有哪些地方看起来在调用这套倒计时信号」。这三问合在一起,足以支持一个稳健但有限的判断:在一个 70B 指令模型中,长度规划确实可以落到一个可干预的局部子电路;它跨任务的广泛性,仍需要更多逐任务的因果验证。
Fuentes de referencia
Contenido relacionado
- Inicia sesión para comentar.
