
- 日期:2026-10-21
- 读者:研究生、科研新人和工程型研究者
- 范围:真实 GPT-2 small、公开模板构造的二百五十六条合成材料;仅检验末位注意力节点,不是完整 IOI 电路复现。
摘要:重要的三个头,还不足以成为解释
上一实验发现,冻结三个注意力头后,干预方向能够迁移到新名字和新句式。但“动它会影响答案”只回答了重要性,没有回答“靠它能否解释答案”。本篇反过来做:保留三个候选头,把其余末位注意力输出替换为参考值,再比较保留系统与完整模型。
本次实际验证得到一个明确负结果:零替换时,四组的正确答案词表首选数全部归零;均值替换保留了部分信号,却仍留下明显误差。更关键的是,继续同时消融两套系统中的同一候选头,差距还能扩大。我们交付的不是一张宣布成功的电路图,而是一组能够推翻过强解释的对照记录。
一、复现价值:从定位组件走向检验解释
间接宾语识别(IOI)要求模型补出接受物品的人,例如“甲和乙去商店,乙把戒指交给……”应接甲。这里的注意力头,是 Transformer 内部读取上下文并写入表示的一组计算单元;末位 END 是提示词最后一个 token 所在位置。
论文报告区分忠实性、完整性和最小性:保留解释能否接近原模型;在继续敲除组件后能否仍与原模型一致;解释是否包含不必要的组件。论文也报告其解释存在未消除的缺口。本篇借用这些检验问题,不复用论文成绩,也不声称复现其完整电路。原论文第四节
这一步的研究价值,是把“找到三个高分头”的叙事变成可失败的预测。如果三个头已经足以承担所声称的末位计算,那么保留它们后的输出不应严重偏离原模型。结果失败后,应缩小解释范围,而不是修改成功标准。
二、核心思想与公式:平均接近仍可能漏掉计算
设输入为 ,完整模型为 ,正确名字与干扰名字分别为 和 。使用未归一化的输出分数,即 logit,定义:
这里 是相应 token 的分数,正差值只说明正确名字胜过这个干扰名字,不能保证它超过整个词表。因而同时记录词表首选和正确名字概率,不把二选一优势叫作完整正确率。
令 为十二层、每层十二个头在 END 的一百四十四个节点;候选集合 为 A=L8H10、B=L8H6、C=L9H9,层和头从零编号。把 中不属于 的输出替换后,得到局部保留系统 。所有非末位位置、MLP、嵌入、残差与归一化仍存在;它们是共享背景。因此这个记号绝不意味着模型只剩三个头。
对同组 个输入,定义 ,其中 可指任一干预后的系统。首先报告:
是组均值差, 是逐样本绝对残差均值。两者一起看,才不会让正负误差相抵。完整性压力检验再枚举 的八个子集 :
这里的集合差表示把指定头输出替换为参考值,不是删除权重。两边使用相同 和相同替换规则,剩余节点重新前向计算。我们穷举的是三个候选节点的子集,没有穷举模型所有节点,更没有证明全局完整性。
三、官方代码阅读路线:先读“保留”的反面
先读官方 process_heads_and_mlps:保留清单会转成移除位置清单。再读 get_circuit_replacement_hook,检查哪个头、哪个 token 被覆盖。最后读 do_circuit_extraction 的参考数据与分组均值。省略这一步,容易把“其他头继续正常工作”误认为“其他头已被排除”。官方提取代码
本地实现独立使用 Transformers 的完整 GPT-2 前向过程,在注意力输出投影 c_proj 之前替换切片。输入形状为 ,可按十二个头理解为 ; 是当前提示词长度,每头包含六十四个数。只覆盖末位切片,未覆盖部分通过精确相等断言检查。输出仍经过官方后续层与词表投影,没有把缓存的干净答案强塞回保留系统。官方 GPT-2 实现
四、最小实验与评测协议:改变保留范围,冻结选择
沿用上篇的四组样本:旧名字旧模板、新名字旧模板、旧名字新模板、新名字新模板,每组六十四条。名字取公开列表的前八个与后八个,模板为索引零至三;地点和物品固定。八个循环名字对、两种角色方向、两种出现顺序构成平衡设计。官方模板与名字
这些数据在上篇已经全部推理过,本篇是已观察数据上的探索性检验。此前的头选择保持不变,不能看到失败后重新挑头,再把同批样本称为确认集。新增变量是“移除候选子集”与“移除候选集合之外的全部末位头”的配对关系。
替换基线有两种。零替换把指定向量清零;ABC 均值替换用三个不同名字填入三个名字位置,取六种排列的平均输出。四个模板各有六条参考,共二十四条,均来自未干预模型。参考名字固定为 Michael、Christopher、Jessica,分模板在 END 求均值,不使用目标答案筛参考。
这个小参考库不等于对所有名字积分:它保留参考分布的常量信息,还可能偏向旧名字。新旧组之间的差距不能单归因于电路迁移。我们选择报告两种替换的差异,并保留此边界,而非挑表现较好的基线作为唯一答案。

图中绿色区域表示始终参与计算的背景模块;橙色控制分别进入两条分支。方法图仅解释流程,不承载测量值。
运行使用 GPT-2 固定 revision 607a30d783dfa663caf39e06633721c8d4cfcd7e、CPU 四线程、float32、batch 一、随机种子一百零五;没有训练、生成、补齐或截断。先做单样本资源试跑,再执行二百五十六条:共七千九百三十六次独立计分前向,另有一千零二十四次控制前向及二十四次参考前向。正式进程实测约二百三十一秒、峰值常驻内存约一点四六五 GB;未测 GPU 显存与能耗。
五、本次实际验证:保留信号不等于保留行为
下表均为本次保存日志复算, 表示上述组均值,首选数每组满分六十四。没有与论文原始基准混比。
| 名字/模板 | 完整模型 | 零替换保留 | 均值替换保留 | 完整/均值保留首选数 |
|---|---|---|---|---|
| 旧/旧 | 4.446 | 0.125 | 2.608 | 64/24 |
| 新/旧 | 2.947 | 0.061 | 1.688 | 64/0 |
| 旧/新 | 3.877 | 0.115 | 1.976 | 56/15 |
| 新/新 | 2.479 | 0.046 | 1.287 | 53/0 |
零替换四组首选数均为零,但仍有不少样本的正确名字胜过干扰名字。均值替换也出现“两个名字之间偏好尚在、词表答案已经错了”的情况,因此一个正的平均 logit 差不足以交代剩余误差。
旧/旧组均值替换的 ,,说明抵消确实存在。按事先写下的规则取最大绝对残差,样本四十六的正确答案是 Amanda:完整模型差值为 5.656,局部保留后变为 −0.455。它不仅变弱,还改变了两个名字之间的方向;这条样本连同提示词和 token 编码保存在逐例记录中。
继续消融 C 头时,同组完整系统均值为 3.975,保留系统为 0.415,差距扩大到 3.559;对应词表首选数是六十三与五。全部八个子集都保留,四组均值替换的最大差距均出现在消融 C 时。这个最大值来自预定集合的穷举,是描述性压力结果,不是新数据上验证的显著性发现。
六、失败排查:先排除测量错误,再解释负结果
所有目标样本的空干预和一百四十四个末位头自替换均与完整模型精确一致。另一条实现路线在输出投影之后加入向量差,正式控制的最大词表分数误差约为 0.000221,低于预定的千分之一阈值。独立脚本重新计算完整逐样本减法、组均值、绝对残差、计数与反例选择,并以八种损坏记录确认审计会拒绝错误证据。
独立模型重放已完成全部七千九百三十六个计分条件:词表首选全部一致,候选分数最大差约为 0.000183,概率最大差小于十万分之一;参考均值的双精度复算差小于百万分之一。算术复算只能证明聚合一致,不能凭两个保存的分数证明整个词表的 argmax,所以这两层核验分别记录。来源网络首次读取失败后已通过授权匿名读取恢复,失败记录保留;没有修改实验配置来迎合结果。
解释层面仍有三个限制。大范围零替换可能造成分布偏移;ABC 均值并非中性的“没有信息”;非末位与 MLP 路径继续工作,可能提供候选之外的支持。发现误差不自动定位哪条遗漏边,发现消融后差距扩大也不自动证明存在备用电路。
样本共享名字、模板和角色配对,因此不报告普通独立同分布置信区间。测得的是这组构造材料、这些替换值和局部节点定义下的差距,不是自然文本总体误差率。
七、可检验的研究问题与停止边界
作者推断是:候选头确有局部作用,但不足以独立承担被省略的末位计算。下一步应区分“候选集合缺少关键下游头”与“参考替换携带名字偏置”两种解释。可以先冻结更均衡的参考名字库,检验组间差距是否改变;再在开发数据上扩展候选,匹配节点数并保留简单对照。只有另设未观察样本,才适合确认改进。
这些是尚未运行的后续问题,不能从当前表格推出哪种解释已经成立。本篇到此停止搜索,不把一张漂亮图当作发现,也不为了凑齐电路而继续添加能改善同批分数的组件。
源码与复现入口
配套源码已公开并完成匿名下载核验:固定版本源码目录、运行说明 README、官方实现对应表 SOURCE_MAP。五十四个文件与本地归档逐字节一致,公开副本的审计与真实模型试跑通过。
安装锁定依赖后,最小真实运行命令是 python run.py --cache ./cache --out smoke-new --smoke。首次需下载约五百五十 MB 模型资源;也可复用已逐文件核验的缓存。预期产物包括逐例分数、参考均值、阶段状态、环境与耗时记录。去掉 --smoke 并更换输出目录可运行完整二百五十六条;audit.py 不加载模型,replay.py 则执行独立模型重放。本次实际执行了试跑与全量实验,未运行完整论文基准。
总结
本篇把组件定位推进为解释审计:保留候选、比较残差,再对两边施加相同子集消融。真实结果没有支持完整电路的说法,却明确指出仅靠三个末位头会遗漏多少行为。可审查的失败记录,比缺少边界的成功图更适合作为下一项研究的起点。
参考资料
检索日期:2026-10-21。以下为实际打开并核验的一手材料;官方文件固定提交及许可证见源码地图。
- Kevin Wang、Alexandre Variengien、Arthur Conmy、Buck Shlegeris、Jacob Steinhardt,2022,Interpretability in the Wild: a Circuit for Indirect Object Identification in GPT-2 small,arXiv v1 与全文。
- Redwood Research,固定版本的电路提取实现与数据模板,MIT。
- Hugging Face,Transformers 4.49.0,GPT-2 官方前向实现,Apache-2.0。
- OpenAI/Hugging Face,GPT-2 固定模型卡,MIT;模型与 tokenizer 精确 revision 一致。