什么是 路径修补(Path Patching)?
路径修补(Path Patching)是一种机制可解释性干预方法,只改变指定发送组件传给指定接收组件的贡献,并把其他建模路径保持在参考状态,以检验某条边或路径。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
把模型表示成计算图
选择 Attention Head、MLP、残差位置或更细的 Query、Key、Value 项作为节点,并把组件间贡献定义为有向边。随后确定匹配的干净与受损输入,以及有方向的标量指标。Interpretability in the Wild在追踪 GPT-2 Small 的间接宾语识别回路时提出了路径修补。
隔离发送到接收的指定路线
先缓存两组参考运行,再构造修补计算:选定发送组件写入目标接收组件的贡献来自另一运行,而发送组件通往非目标接收者的效应和接收组件的其他输入保持受控。多边路径必须按顺序执行,并明确每个分支的状态;实现捷径可能在不知不觉中测试另一张图。
用替代路线与精确指标验证
应在留出提示对、多种受损方法、词元位置和随机种子上报告原始及归一化效应,并比较节点修补、直接 Logit 归因、随机边与替代路径。激活修补最佳实践研究表明受损方式和指标会显著改变定位结果,路径修补还会额外继承交互和离分布风险。
主要特点
- 检验指定边或路线,而不是替换组件产生的全部效应
- 依赖明确的计算图以及发送和接收节点定义
- 需要匹配的干净与受损运行及有符号行为指标
- 通过控制非目标路径来隔离被中介的信息流
- 能够暴露冗余、负向路径、补偿与路线交互
- 结果对图粒度、受损设计和修补顺序敏感
常见用途
- 检验某个 Attention Head 是否经指定残差路径影响另一 Head
- 区分发送组件的直接输出效应与后续组件中介效应
- 从输出指标反向追踪候选信息传播路线
- 在匹配干预下比较相互竞争的回路图
- 验证自动回路发现方法保留的边是否真实有效
示例
Loading code...常见问题
路径修补与激活修补有什么区别?
激活修补替换一个节点激活,并允许变化沿全部下游路线传播;路径修补试图只改变指定发送组件到某个接收组件或路径的贡献,同时控制其他路线。因此它能回答更窄的信息流问题,但实现也更依赖准确的计算图和 Hook 约定。
路径修补恢复率为什么可能超过 100%?
隔离一条路线时,完整干净计算中与其方向相反或起补偿作用的效应可能没有一同恢复,非线性交互和分母选择也会造成超恢复。因此必须同时报告干净、受损与修补后的原始指标,不能只展示归一化百分比或据此宣称组件充分。
路径修补实验前必须固定哪些条件?
需要固定模型版本、Token 对齐、干净与受损分布、计算图拆分、发送节点、接收节点、修补方向、指标符号、归一化、聚合方式和随机种子。任何一项变化都可能改变哪条路径显得重要,以及恢复分数能够支持的结论。
路径修补能识别唯一的模型回路吗?
不能。平行或冗余路线可能互相补偿,选定的图粒度也会拆分或合并真实计算。路径修补只检验指定干预下的指定路线;完整回路主张还需要忠实性、完整性、最小性、替代路径与分布变化测试,并报告失败样本及不稳定结果。
什么时候应在直接 Logit 归因后使用路径修补?
DLA 可以低成本找出直接向输出方向写入信号的组件,路径修补再检验上游组件是否通过特定路线影响这些写入者。这种分阶段流程能缩小搜索空间,但低 DLA 不能排除具有强间接作用的发送组件,因此还要保留其他候选发现方法。