3%的注意力头,扛起了LLM整个演绎推理过程——一篇可解释性论文的硬核拆解

核心摘要

LLM 在做逻辑推理的时候,到底是真的"推理",还是在拼模式?这个问题问了好几年了,但大多数答案都停留在玄学层面。这篇 arXiv 2605.27824 的工作,用因果中介分析(Causal Mediation Analysis, CMA)真刀真枪地把 Llama-3.1-8B、Qwen3-8B/4B、phi-4 这四个模型剖开,定位出只占总注意力头 3% 左右的一小撮逻辑推理头——前提选择、前提选择终止、规则选择三类角色各有专人负责,靠中前层的"读取头"取事实和规则、靠中后层的"决策头"做选择。把这 3% 的头敲掉之后,合成数据上推理步骤准确率从 65% 直接砸到接近 0;而同样比例随机敲头,性能几乎不动。这才是真的"关键少数"。这篇论文最值钱的不是给出新模型,而是给出了一张可以验证、可以迁移的"演绎推理电路图"——告诉你 LLM 的推理能力到底寄存在哪里。


论文信息

  • 标题:Revealing Algorithmic Deductive Circuits for Logical Reasoning
  • 作者:Phuong Minh Nguyen, Tien Huu Dang, Naoya Inoue
  • arXiv2605.27824 (2026-05-27 提交)
  • 关键词:Mechanistic Interpretability、Causal Mediation Analysis、Chain-of-Thought、Deductive Reasoning

一、为什么要研究这件事

我先讲个直觉。你拿一个 LLM 做演绎推理题:给一堆事实、一堆规则,问你能不能从事实出发、按规则一步一步推到结论。模型答对了。

那它是怎么答对的?

这个问题非常恼人。因为只看输入输出,你完全分不清三种情况: 1. 模型真的在做"前提选择 → 规则匹配 → 推导新事实"这套逻辑流程; 2. 模型在用 demonstration 里看过的同一道题的形状去 few-shot 匹配; 3. 模型只是把事实和结论连起来胡蒙了一个看上去对的链路。

之前一波工作(包括 Anthropic、Redwood 那条 mechanistic interpretability 的线)试图回答类似问题,但场景大多是 IOI 这种简单的"输入找名字、输出名字"任务。多步推理、有显式的规则结构、还要看每一步是怎么完成的——这种复杂场景里的 circuit 一直是空白。

这就是这篇论文站的位置:不要再纠结模型推理"看起来"对不对,直接打开它看到底哪些注意力头在干活、干的是什么活

我自己之前在做 Agent 工具调用的可解释性时也碰到过类似的尴尬:模型选对了工具,但你根本不知道它是基于哪些 token 做的决定。看 attention 权重?那东西早被证明不可信了。这篇论文用的 Causal Mediation Analysis 才是现在做严肃可解释性的标配——干预因果关系,而不是看相关性。


二、方法:从"哪些 token 是关键节点"到"哪些 head 负责这些节点"

整个方法链路其实可以分成三步,我们一步一步来。

2.1 把推理过程结构化:Symbolic-aided CoT

作者用了一个 symbolic-aided 的 CoT prompting 框架(这个框架本身来自 Nguyen et al. 2025 的前作)。意思是把整个推理过程显式地写成图遍历的形式:知识库 KB 里有事实,规则集合 R 里有规则,每一步推理都对应一个明确的"从 KB 选前提 + 选规则 + 推出新事实"操作。

举个例子,论文里给的一段 CoT 长这样:

KB = {A, K, F}
=> F(KB['A'], Rule4) => 'D'
=> F(KB['F', 'K'], Rule2) => 'E'

读起来就是:从知识库里 A 这条事实出发,套用 Rule4,推出 D;接着从 FK 这两条事实出发套 Rule2,推出 E

这一步看似只是"格式化",但实际上做了一件极其关键的事情——把推理的每一步对应到了具体的 token 位置。这样后面要做因果干预,干预目标就有了。

图1:symbolic-aided CoT 框架总览。给定推理问题和 few-shot demonstration,LLM 生成符号化的 CoT;推理过程可表示为推理图,每一步又能拆解成"前提选择/规则选择/前提终止"等推理组件;这些组件对应的 token 位置往往是低概率 token,正是后面用因果中介分析定位的目标。

图1:论文整体框架。左边是输入和 few-shot prompt,模型按 demonstration 模板生成符号 CoT;下方的推理图把每一步推理拆成可定位的组件,并用 CMA 找出对应电路。

2.2 哪些 token 是"关键 token"?看模型的不确定性

作者发现一个挺漂亮的现象:真正左右推理走向的那些 token 位置,模型的 confidence 是低的

直觉上说得通。比如"用哪条规则"、"还要不要继续选前提"这种节点,背后是真的需要"思考"的;而符号语法、固定模板那些位置,模型基本闭着眼也能输出。

基于这个观察,论文把推理 token 分成几类(Table 1):

推理组件 直觉上在做什么 例子
Premise Selection PS 从 KB 里挑哪些事实当前提 KB['A'] 中的 'A'
Premise Selection Termination PST 决定"够了,不用再选了" ] 这个收尾位置
Rule Selection RS 选哪条规则去套 Rule4 中的 4
Syntax / Premise in KB / Fact Derivation 语法、KB 内容、推导结果 其余结构性 token

前三类(PS / PST / RS)才是真正"决定推理路径"的位置,是后面分析的核心。

2.3 因果中介分析 + Path Patching:定位负责的 head

干预方法本身不复杂,但很硬核。简单讲就是这套流程:

  1. 构造 clean / corrupted prompt 对:clean 是正常的;corrupted 是把某个会影响推理组件 X 的位置(比如 fact、rule 内容)改掉,使得模型在 X 处该输出的 token 变了。
  2. Activation Patching:跑 corrupted prompt 时,把某个 head 在某层、某位置的激活,替换成 clean prompt 跑出来的值,看模型在 X 处的输出 logit 能恢复多少。
  3. 这个恢复程度就是这个 head 对 X 的 AIE(Average Indirect Effect)
\[\mathrm{AIE}_{\ell j}=\frac{1}{|\mathcal{D}^{c}|}\sum_{\tilde{p}_{i}\in\mathcal{D}^{c}}\big(f(\tilde{p}_{i}\mid a_{\ell j\mathbf{s}}=a_{\ell j\mathbf{s}}(p_{i}))[t_{i}^{r}]-f(\tilde{p})[t_{i}^{r}]\big)\]

公式看上去吓人,但工程意义就一句话:这个 head 对推理组件 X 的因果贡献有多大。AIE 越高,越关键。

排出 top-k 之后再用 path patching 看 head 之间的信息流——也就是"读取头读到的事实/规则信息,最后是不是流到了决策头那里"。这一步是把单个头的角色升级成了一个完整的"电路"。


三、结果一:3%的头扛起整个演绎推理

先看 Llama-3.1-8B-Instruct 上每个 head 的 AIE 分布(Figure 2):

图2:Llama-3.1-8B-Instruct 上 AIE 分数在层和头维度的分布。热力图里前 5 个最高分的 head 用绿色框标出;折线图给出每层的代表性分数(每层取 top 15% head 的 AIE 平均),红色虚线标出对 rule selection 贡献最大的层。

图2:AIE 在层 × 头网格上的分布。可以看到高分 head 极度稀疏,只有零星几个绿框,说明逻辑推理任务并不是分布式存储,而是高度专门化。

肉眼能看出来的事情:

  • 稀疏到夸张。绝大多数 head 的 AIE 接近 0;真正起作用的就几个绿框。
  • 分层有结构。读取类 head 偏前层,决策类 head 偏中后层。
  • 峰值很尖锐。Llama-3.1-8B-Instruct 上某些规则选择 head 的 AIE 占比超过 30%,Qwen 系列上峰值也超过 12%。这意味着只要敲掉那一两个头,整个 rule selection 就崩。

把这些 top head 之间的因果关系画出来就是著名的"electric circuit"图(Figure 3):

图3:Top-5 attention head 的电路网络。读取角色(reading heads)、规则条件匹配头、规则选择头、前提选择/终止头之间的信息流向被显式连接起来,呈现出一个分层的演绎推理电路结构。

图3:演绎推理 circuit 的拓扑。左侧 reading heads 把事实和规则从输入侧"读出来",沿残差流送到中后层的 decision heads,由后者完成"选哪条规则、选哪个前提、要不要终止"的判断。这才是 LLM 推理的"骨架"。

读到这里我其实有一种"对,就该这样"的感觉。这个结构非常符合工程直觉——前层做 retrieval、中后层做决策,跟我们手动设计 RAG pipeline 的层次划分几乎一模一样。LLM 自学出来的 circuit 居然跟工程实践收敛了,挺有意思。

Knockout 实验:把这些头敲掉,模型会变成什么样

接下来才是真正的硬核证据。作者做了 ablation:把每类推理组件 top-k 个 head 同时置零("knockout"),看推理步骤准确率怎么变。

合成数据 \(\mathcal{D}^{\mathrm{syn}}\) 上的结果(Figure 4):

图4:在合成数据上敲掉 top-k 逻辑推理头之后的推理步骤准确率。横轴是 k,纵轴是 step accuracy;不同曲线对应敲掉不同角色的头。

图4:敲头实验。蓝色随机敲头作为对照基本不掉点;而敲掉 top-k 的"前提选择 + 规则选择 + 前提终止"这三类逻辑推理头之后,准确率几乎线性塌陷到地板。

数据非常说明问题:

  • 基线(不敲):Llama-3.1-8B-Instruct 推理步骤准确率约 65%,Qwen3-8B 也是这个量级。
  • 随机敲掉 9% 的头(/Rand 对照):性能几乎不变,还在 60% 上下。
  • 只敲掉 3% 的逻辑推理头 (/3Roles 设置):直接接近 0

我看到这组数据是真的愣了一下。

意思是什么?意思是 LLM 的演绎推理能力几乎完全集中在这 3% 的头上。把这一小撮敲掉,模型不是变笨一点,是直接变成不会做这类题。剩下 97% 的头,对于"这种结构化的演绎推理"几乎没有贡献。

而且这不是合成数据特有的:

图5:在 MMLU 和 ProntoQA 数据集上敲掉 top-k 逻辑推理头的效果。左边 MMLU 检查"通用知识"是否被影响,右边 ProntoQA 是真实的演绎推理 benchmark。

图5(上半):MMLU 上敲头的效果。/RS、/PS、/PST 这种"只敲一类"的设置和随机敲头差不多;但 /3Roles 同时敲三类时,掉点比同比例随机敲头明显更多——说明这些"逻辑头"在通用知识任务里也起部分作用,但远不如在结构化推理里那么关键。

图5(下半):ProntoQA 上敲头的效果。这是真正的演绎推理 benchmark,敲头影响立竿见影。

图5(下半):ProntoQA 上的最终答案准确率塌陷得比 MMLU 更陡,说明这些 head 在严格演绎推理里是真的不可替代。phi-4 在 ProntoQA 上 baseline 是 44.6%,ProofWriter 上是 29.2%,敲掉 3 类逻辑头之后大幅下降——具体下降幅度论文里有曲线,能直接看到塌方。

这里有个我觉得需要强调的点:MMLU 上 /3Roles 比同比例随机敲头掉得更多。这说明这套"逻辑推理 circuit"并不只是合成任务里学出来的"过拟合 circuit",它在真正考查推理的子任务上一样起作用。这是迁移性证据,比我预想的强。


四、结果二:电路结构跨模型一致

光在一个模型上看到结构是不够的。这篇论文最有说服力的地方是四个不同模型上跑出来的电路时间结构是一样的

匹配规则条件 → 实现遍历算法 → 选前提和规则 → 决定是否终止前提选择

具体到角色分布:

  • Reading heads(读取头):偏靠前的层,从问题描述里把事实和规则取出来,沿着 residual stream 往上送。
  • Rule-condition matching heads:中间层,做规则条件的匹配。
  • Rule selection heads:高度稀疏,最关键。Llama-3.1-8B-Instruct 上单个头 AIE 占比能超过 30%,Qwen 系列也超过 12%。
  • Decision heads(决策头):靠后层,做"选哪个前提、要不要终止"。

附录里 Figure 8/9/10/11 给出了 Qwen3-8B、Qwen3-4B、phi-4 三个模型上同样的 AIE 热力图:

图8:Llama-3.1-8B-Instruct 上更多 reasoning component(包含 PS、PST、RS)的 AIE 热力图。三种角色对应不同位置的 head 集合,但都呈现稀疏分布特性。

图8:Llama 系列三类推理组件的电路 footprint。三类角色的 head 集合并不完全重合,意味着 PS、PST、RS 是真正不同的子任务而不是同一个东西的别名。

图9:Qwen3-8B 上的 AIE 分布,结构与 Llama 高度类似——读取层在前、决策层在后、稀疏的高分头集中分布。

图9:Qwen3-8B 重复了相同的结构,只是 head 索引不同。模型规模、架构、训练数据都不同,但 circuit 拓扑收敛——这是这篇论文最让我兴奋的发现之一。

这种跨模型一致性是有点反直觉的。你想想看,Llama 和 Qwen 的训练数据、tokenizer、架构细节都差很多,但它们自己学出来的推理"分工"竟然差不多。这暗示了演绎推理这件事本身就有一个"自然"的算法分解,不同模型只是各自找到了它的实现。

多义性头:不是所有头只干一件事

作者也很坦率地指出,并不是每个 head 都是单一职责的。有些"polysemantic heads"会同时承担多个推理子任务:

  • Llama-3.1-8B-Instruct:多义性主要出现在因果读取角色上(同一个 head 同时做事实读取和规则读取)。
  • Qwen 系列:多义性主要出现在决策制定角色上(同一个 head 同时做 rule selection 和 premise termination)。

这个差别本身可能反映了不同训练范式下"capacity 分配"的偏好。我个人觉得这个观察比"3% 关键头"还更有研究价值——它指向一个更深的问题:为什么 Llama 和 Qwen 选择了不同的多义性策略?是数据决定的还是架构决定的?论文里没有直接回答,留给后续工作。


五、批判性看待这篇论文

我得说这篇论文的方法非常扎实,但有几个地方我觉得不能不提。

第一,合成数据是核心、迁移到真实任务是补充。绝大部分电路定位的工作是在 \(\mathcal{D}^{\mathrm{syn}}\) 上做的,ProntoQA / ProofWriter / MMLU 主要做 ablation 验证。合成数据有一个"问题结构清晰、规则有限"的天然优势,这种条件下找到的稀疏电路当然漂亮——真实开放世界推理(比如多领域常识 + 数学 + 代码混合)会不会还这么稀疏?论文也承认这是 limitation。

第二,只看 attention head,没看 MLP。MLP 在很多机制可解释性工作里被认为是"知识存储"的主要载体(Geva et al. 那条线)。这篇论文显式说"我们只关注 attention"。但事实和规则的存储很可能在 MLP 里——也就是说,作者定位的"读取头"读到的内容,根本来源可能在 MLP。这块缺失会让"3% 的头扛起整个推理"这个 claim 听起来比真实情况更戏剧化。

第三,"3%"这个数字依赖于阈值选择。文章里 top-k 的 k 是被搜过的,不同 k 下塌陷的速度也不同(Figure 4 横轴就是 k)。"3%"是一个量级感受、不是严格不变的常数。读这种数字的时候要小心。

第四,knockout 是 zero-out 还是 mean-ablate? 这两种 ablation 在 mech interp 社区里争议很大。zero-out 会引入分布外信号、可能高估 head 的重要性;mean-ablate 更保守。论文里需要更仔细看一下用的是哪种——但无论哪种,"3% 敲掉就崩"这个量级是结实的。

最后一个我想提的点:这篇工作最大的工程价值,未必是"找到 3% 关键头"这个结论本身,而是它把 mechanistic interpretability 从 IOI 那种 toy task 推进到了多步、有结构、有算法的复杂推理场景。一旦你能用 CMA + path patching 在演绎推理上跑通,那同样的方法就可以拿去分析 tool calling、code generation、math reasoning 各种更实用的任务。这个 methodology 比 finding 重要。


六、对工程实践有什么启发

我的几点直觉:

1. Reasoning-aware fine-tuning 可能可以更精准。如果你已经知道哪 3% 的头扛起了演绎推理,那做 reasoning SFT 时就可以重点优化这些头的参数(类似 LoRA 的 layer-wise 选择)。换言之,"哪些层该 LoRA"这个问题可以从经验拍脑袋升级到 circuit-aware。

2. Reasoning ability 的 transfer 可以用 head transplant 测试。比如你想把一个 Llama 的演绎推理能力迁移到一个不会做的小模型,是不是只需要把这 3% 的头对应的权重做某种知识蒸馏就够?这是个有意思的实验设计。

3. Prompt engineering 的下限。Symbolic-aided CoT 不只是"prompt 模板",它本质上是把推理结构对齐到模型已有的 circuit 上。这解释了为什么有些 CoT 模板效果出奇地好——它们在不知不觉中"激活"了正确的 head 集合。

4. 评测演绎推理时要看步骤准确率,不只是最终答案。最终答案蒙对的概率不低(尤其是二选一的演绎题),步骤准确率才是真实能力的体现。Figure 4 里的曲线就是步骤准确率,这种粒度的评估是值得借鉴的。


七、一句话总结

这是一篇很"老派 mech interp"风格的论文:选题硬核、方法扎实、结论不浮夸。它没有在跑分榜上吊打谁,但它给出了一张可以验证、可以复现、跨模型一致的 LLM 演绎推理电路图。如果你在做推理可解释性、reasoning 能力分析、或者只是想搞清楚"LLM 到底会不会推理"这种争论,这篇值得你认真看一遍——尤其是 Figure 2 / 3 / 4 这三张图,看完你对 LLM 内部世界的几何形状会有完全不同的直觉。

至于"3% 的注意力头扛起 LLM 整个演绎推理"这个结论,我个人是相信它的方向是对的、量级也大致对,但是不是恰好 3% 我会保留一点保留意见——视任务、视阈值、视 ablation 方法而定。

但有一件事是确定的:LLM 内部并不是均匀的"智能汤"。它是一个高度结构化、稀疏分工的神经网络系统,关键能力压在极少数特定的 circuit 上。这件事本身,就值得我们重新思考"模型规模 vs 推理能力"的关系。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我