“GPT-2 small 用 26 个 attention head 找出间接宾语”“Claude 3.5 Haiku 先在内部想到 Texas,再说出 Austin”,这类电路说法到底在说什么,靠什么证据?一个电路说法是一个可以被干预检验的因果假设:在某一类输入上,哪些部件、经过哪些路径,承担了这个行为的多大一部分。激活修补和路径修补用来检验它,归因图把“提出假设”这一步自动化了;但归因图解释的是一个替代模型,Anthropic 自己说它只在大约四分之一的提示词(prompt)上给出令人满意的解释。用在安全评估上,目前有一批实验室自报的案例和在人为植入问题上的成功,还没有经过独立验证的通用检测器。

待审核草稿。 这一篇还没有经过站主审阅,事实、取舍和措辞都可能修改;引用前请回到文中链接的一手资料核对。

从相关到因果:激活修补

探针和归因只说明“相关”或“局部敏感”。要说某个部件导致了某个行为,就得动手改。激活修补(activation patching,也叫 causal tracing、interchange intervention)跑三次:一次干净输入(clean),一次破坏过的输入(corrupt),再跑一次破坏过的输入、但把某个部件的值换成干净运行里的值(patched)。效果按比例算:

$$ \text{修补效果}=\frac{y_{\rm patched}-y_{\rm corrupt}}{y_{\rm clean}-y_{\rm corrupt}} $$

$y$ 是关心的输出指标,比如正确答案的概率,或正确与错误答案的 logit 差。方向可以反过来:在干净运行里换进破坏后的值,看行为掉多少。前者叫 denoising,问的是“这个部件够不够把行为救回来”;后者叫 noising,问的是“没有它行不行”(术语见 Heimersheim & Nanda,2024-04)。

ROME(Meng 等,2022-02)是一个经典用例。在 GPT-2 XL 上取 1000 条模型知道的事实,给主语 token 的 embedding 加上 3 倍标准差的高斯噪声,正确答案的平均概率从 27.0% 掉到 8.47%;再逐个把干净的隐藏状态(hidden state)放回去。平均总效应是 18.6%,单个状态里效果最强的在主语最后一个 token、第 15 层附近(平均间接效应 8.7%);在这个位置,MLP 的贡献最高 6.6%,注意力只有 1.6%。作者据此认为事实存放在中间层 MLP,并直接修改这些 MLP 的权重来编辑事实。

两条提醒。Hase 等(2023-01)发现,causal tracing 指出的层,并不能预测编辑哪一层效果最好:定位和编辑是两回事。Zhang & Nanda(2023-09)发现,换一种指标(概率还是 logit 差)、换一种破坏方式(加噪声还是换成另一句话),定位结论就可能不同。

手算:3 个节点的修补(教学例子)

下面这个小网络是编的,只为看清修补在量什么。$s=1$ 表示干净输入,$s=0$ 表示破坏后的输入:

A = 2·s
B = 1.5·A
C = ReLU(A − 0.5·B)
y = B + C

干净运行:$A=2$,$B=3$,$C=\mathrm{ReLU}(2-1.5)=0.5$,$y=3.5$。破坏运行:全是 0,$y=0$。

修补的节点 denoising 后的 $y$ 恢复比例 noising 后的 $y$ 下降比例
A 3.5 100% 0 100%
B 3.0 86% 2.0 43%
C 0.5 14% 3.0 14%

看 B 这一行。denoising:$A=0$、$B=3$,$C=\mathrm{ReLU}(0-1.5)=0$,$y=3.0$,恢复 $3/3.5=86\%$。noising:$A=2$、$B=0$,这时 $C=\mathrm{ReLU}(2-0)=2$,$y=2.0$,只掉了 $1.5/3.5=43\%$。C 平时贡献很小,B 一被拿掉它就顶上来,是一个“备份”。只做 noising 会低估 B,只做 denoising 又看不到 C 的作用。

再做一次路径修补(Goldowsky-Dill 等,2023-04):在破坏运行里,只把干净的 A 送给 A→B 这条边,C 收到的 A 仍是 0。于是 $B=3$,$C=\mathrm{ReLU}(0-1.5)=0$,$y=3.0$,占 86%。只送给 A→C 这条边:$B=0$,$C=\mathrm{ReLU}(2-0)=2$,$y=2.0$,占 57%。两条路径加起来是 143%,不是 100%。有非线性时,各条路径的效果不能简单相加,“这条路径占几成”这个问题本身就要小心问。

先试什么 应该观察什么 不能据此推出什么
只做 denoising B 能恢复 86% B 是必要的
只做 noising 拿掉 B 只掉 43% B 不重要,或 C 无关
把两条路径的效果相加 得到 143% 每条路径各占多少份额

一个电路说法长什么样:IOI

Wang 等(2022-11)研究的任务叫间接宾语识别(IOI):“When Mary and John went to the store, John gave a bottle of milk to” 应接 Mary。GPT-2 small 有 12 层、每层 12 个 head;在 10 万个样例上,正确名字比重复出现的名字平均高 3.56 个 logit,99.3% 的样例里选对。

他们给出的电路有 26 个 head,分 7 类。大意是:duplicate token head 和 induction head(借助 previous token head)发现 John 出现了两次;S-inhibition head 把这个信息写进 name mover head 的 query,让它别看 John;name mover head 在句末看向剩下的名字 Mary,把它复制到输出;negative name mover head 往反方向写,降低置信度;backup name mover head 平时不怎么用,name mover 被拿掉时才顶上。部件的“拿掉”用均值消融(ablation):换成在三个不同名字的句子分布上的平均激活。

GPT-2 small 里实现间接宾语识别(IOI)的电路:左边的输入 token 进入残差流,各类 attention head 在位置之间搬运信息;query 和输出箭头表示写到哪个位置,key/value 箭头表示从哪里读。正文说的 duplicate token、S-inhibition、name mover 等角色都在图里。
原文图GPT-2 small 里实现间接宾语识别(IOI)的电路:左边的输入 token 进入残差流,各类 attention head 在位置之间搬运信息;query 和输出箭头表示写到哪个位置,key/value 箭头表示从哪里读。正文说的 duplicate token、S-inhibition、name mover 等角色都在图里。图源:Wang et al., 2022 · IOI circuit · Figure 2 · CC BY 4.0 · 转为 WebP

光说“这些 head 组成电路”不够,他们用三条标准检验。设 $F(\cdot)$ 是平均 logit 差:

  • 忠实度:只保留电路时 $F(C)$ 接近完整模型 $F(M)$。实测 $|F(M)-F(C)|=0.46$,是 3.56 的 13%,即电路恢复了 87%。
  • 完整性:从电路里拿掉任意一组部件 $K$,效果应和从完整模型里拿掉 $K$ 差不多。
  • 最小性:电路里每个部件都有某个 $K$ 让它变得必要。

完整性就是为“备份”准备的。回到上面的算例:电路 {A, B}(C 被消融)的输出是 3.0,忠实度 86%,看起来不错;可是拿掉 B,完整模型还剩 2.0(C 顶上),电路只剩 0,差得很远,说明 C 漏掉了。作者自己在摘要里也写道:“Though these criteria support our explanation, they also point to remaining gaps in our understanding”,即这三条标准支持他们的解释,但也暴露了理解上的空缺。这个说法的范围是:GPT-2 small、15 个模板生成的句子、均值消融这种选法。

找电路后来也自动化了:ACDC 在 GPT-2 small 的“greater-than”任务上,从 32,000 条边里选出 68 条,全部是此前人工找到的,并重新发现了 5 类部件中的全部 5 类(Conmy 等,2023-04)。另外,Makelov 等(2023-11)提醒,修补一个子空间可能激活一条平时不用的平行通路,造成假象;他们也把 IOI 当作成功案例,因为先前的人工电路分析说明了特征在哪里。

归因图:把提出假设这一步自动化

IOI 花了大量人工,而且只对一个任务。Anthropic 2025-03 的 Circuit Tracing 想让模型自己把每个提示词上的计算画出来。

做法分四步。第一,训练一个跨层 transcoder(CLT):第 $\ell$ 层的特征从该层残差流读入,可以写到第 $\ell$ 层及之后所有层的 MLP 输出上;在 Claude 3.5 Haiku 上训练的 CLT 总共有 30 万到 3000 万个特征。用它替换所有 MLP,就得到一个替代模型;他们最大的 CLT 在一个 18 层小模型上,只在 50% 的多样提示词上和原模型给出同一个下一 token。第二,针对单个提示词,冻结原模型的注意力模式和归一化分母,并在每个位置、每层加一个“误差节点”补上 CLT 没还原的部分,这样这个局部替代模型的激活和输出与原模型完全一致。第三,在这个已经线性化的图上算边:

$$ A_{s\to t}=a_s\,w_{s\to t} $$

$a_s$ 是源特征的激活,$w_{s\to t}$ 是两者之间经过残差流和冻结注意力的“虚拟权重”。第四,剪掉弱边,把作用相近的特征归成超节点,再回到原模型上做干预来验证。

同期的 Biology 一文报告了一批案例。开头提到的两步推理:抑制 “Dallas” 特征,“Texas” 特征和下游的 “say Austin” 随之变弱,而 “say a capital” 基本不受影响。写诗时的规划:在一行开始前的换行符上,就出现了候选(candidate)押韵词(如 rabbit、habit)的特征,改掉它,模型会把整行改写成以新词结尾;作者说大约一半的诗里找到了这种规划词特征。另外还有多语言、加法、医学诊断、幻觉、拒答、越狱、思维链是否忠实、隐藏目标等案例。

方法论文专门写了局限:不解释注意力为什么看某个位置(QK 电路),所以在 induction 和多选题这类例子里,图会“跳过最有意思的部分”;CLT 还原不全,误差节点有时把关键计算遮住,一个混淆过的越狱提示上几乎全是误差节点;没激活的特征和抑制关系很难表达;图很复杂;特征分裂和吸收让抽象层次不对;只能看单个提示词,全局电路很难;替代模型和原模型未必用同一种机制。Biology 一文说,归因图大约在四分之一试过的提示词上给出令人满意的洞见,文中展示的都是成功案例。

后续进展:2025-05-29 Anthropic 开源了工具,可以在 Gemma-2-2b、Llama-3.2-1b 上画图,也接入了 Neuronpedia;2025-07-31 的 QK 归因把注意力分数写成 query 侧和 key 侧特征的双线性函数,验证了 induction 和多选题里此前只是猜测的机制。另一条路是从训练上下手:OpenAI 训练大部分权重为零的 Transformer,剪出的任务电路小而可读,但更稀疏就更弱,作者说超过几千万个非零参数后还难以保持可解释性(Gao 等,2025-11,ICML 2026)。一篇 2026-02 的 LessWrong 复现(Anthropic Fellows 项目,未经同行评审)认为这类剪出的电路可能“可读但不忠实”:剪枝在一个标签被重新指定、本身没有意义的任务上,也能用约 30 个节点做到 95% 以上的准确率;作者也说明自己改用了零消融,而原论文的均值消融可能会得到更忠实的电路(Drori)。

和安全评估怎么接上

行为评估和思维链监控依赖模型做了什么、说了什么。OpenAI 发现用另一个模型读思维链能抓到编程 agent 的 reward hacking,但如果把这个监控直接放进训练奖励(reward)、优化得太狠,agent 会学会在思维链里藏起意图,继续作弊(Baker 等,2025-03)。可解释性的期望是提供一种不依赖模型自述的检查。reward hacking 的定义见可验证奖励。下面是能核对到的公开结果:

时间与机构 设置 方法 结果 要打的折扣
2024-04,Anthropic 人为植入后门、部署时写不安全代码的 sleeper agent 只用一对通用问答(“你是一个有帮助的 AI 吗?”答“否”和答“是”)的均值差做探针 AUROC 99.3% 后门是人为植入的;1000 个随机方向里最好的也有 95.3%
2025-02,Apollo Llama-3.3-70B 在隐瞒内幕交易、故意压低评估分数等场景里说谎 线性探针 AUROC 0.96–0.999;在 1% 误报率下抓到 95–99% 作者说还不足以作为可靠防线
2025-03,Anthropic 被训练成讨好奖励模型、又隐瞒这一目标的模型 盲审游戏:SAE、行为攻击、训练数据分析 4 队中 3 队找到隐藏目标;只给 API 的那队没找到 目标是人为植入的;SAE 的解法用语义搜索也能复现
2025-09,Anthropic Claude Sonnet 4.5 部署前对齐评估 抑制与“这是测试”相关的 SAE 特征和对比向量 100 条蜜罐提示上,口头的评估意识下降,不当行为从 0 升到最多 8–9%;10 个随机 SAE 特征的对照为 0 实验室自报;在别的数据集上效果小或没有
2026-04,Anthropic Claude Sonnet 4.5 在 7 个“不可能完成”的编程任务上 沿“desperate”情绪向量引导 强度从 −0.1 调到 +0.1,reward hacking 从约 5% 升到约 70% 是引导实验,说明这个方向影响行为,本身不是检测器
2026-05,Anthropic Claude Opus 4.6 部署前审计 自然语言自编码器(NLA) 发现未说出口的评估意识;顺着早期版本用俄语回答英文提问的异常,查到一批提示和回答语言错配的训练数据 实验室自报;NLA 会编造细节

能说到哪一步:探针、引导和字典特征在“有标准答案”的设置里(人为植入的后门、隐藏目标)表现不错,也已进入实验室的部署前审计;但成功多来自人为构造的模型或实验室自报,Apollo 和 Anthropic 都在原文里写了局限。Dario Amodei 2025-04 的文章说 Anthropic 的目标是 2027 年前让可解释性“可靠地检测出大多数模型问题”,并说按当前进度,他很看好可解释性在 5 到 10 年内成为真正的“AI 的 MRI”。这是一家公司负责人的目标和判断,不是测出来的结果。

每一步证据能说明什么

证据 能说明 不能说明
梯度或线性归因 局部、一阶的影响大小 改动较大时的实际效果
denoising 修补 这个部件足以把行为救回来 它是必要的
noising 修补或消融 拿掉它行为掉多少 掉得少就说明它不参与(可能有备份)
路径修补 效果经过哪些边 每条路径各占几成(有非线性时不可加)
忠实度、完整性、最小性 在这个输入分布上电路解释得多完整 换分布、换模型也成立
归因图加干预 替代模型里的机制,并在原模型上验证了一部分 原模型整体用的是同一机制
在人为植入的问题上检测成功 有标准答案时方法能找到问题 能找出自然出现、事先没人知道的问题

这条线接下来看什么

  1. 注意力和全局电路。 QK 归因(2025-07)补上了一块,但 Anthropic 2025-03 报告的“令人满意”比例约为四分之一。能改变判断的结果:后续报告里这个比例明显上升,或出现跨很多提示词都成立的全局电路。
  2. 替代模型忠实吗? Anthropic 2025-07 的一篇短文用玩具模型展示了 transcoder 会出错的情形;2026-02 的复现质疑剪枝电路的忠实性。能改变判断的结果:每个基于图的说法都在原模型上做干预验证,并公开验证失败的比例。
  3. 从人为构造的模型走到真实部署。 截至 2026-10,能核对的检测成功多在人为植入的问题上。能改变判断的结果:可解释性在生产模型里找到行为评估漏掉的问题,并由独立机构复现。
  4. 白盒检查和思维链监控各管什么。 多家机构的作者在 2025-07 联合发文,称思维链可监控性是一个“新的、脆弱的机会”(Korbak 等)。能改变判断的结果:在同一批不当行为上,直接比较白盒探针和思维链监控的检出率和误报率。

最后用复习题把整个系列串一遍。

本页术语 6
提示词 prompt
提供给模型的任务说明、上下文和示例
隐藏状态 hidden state
递归模型在时间步之间传递的压缩表示
消融 ablation
去掉一个组件再测一次,用来判断它到底有没有贡献
候选 candidate
召回阶段捞出来、等待精排挑选的内容
奖励 reward
RL 里指导策略更新的标量信号
编码器 encoder
把原始输入压成向量的那一半模型