什么是 归因修补(Attribution Patching)?
归因修补(Attribution Patching)是激活修补的一阶近似:在受损激活处计算标量指标梯度,再与“干净激活减受损激活”的差做内积,估计把该内部状态替换为干净值会怎样改变指标。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
定义干净、受损与指标契约
选择成对的干净输入和受损输入,只改变待研究特征,并控制其他线索。查看结果前定义有方向的标量指标,例如目标答案减干扰答案的 Logit 差。在相同组件、层、词元位置和 Hook 约定下缓存可比激活。若调换干净与受损状态或改变指标符号,估计方向也会改变。
计算一阶修补估计
沿受损计算对指标反向传播,得到每个缓存激活处的梯度,再与干净激活减受损激活的差做内积。归因修补使大范围筛选远比逐位置精确修补便宜。聚合分数前仍需保留假设所需的组件和词元粒度,避免正负效应相互抵消。
用精确干预复核候选项
先跨提示、随机种子与受损构造排序,再对入围位置执行真正的激活修补,比较效应符号、排名稳定性和残差误差。大步长会破坏局部近似,方向相反的特征会在内积中抵消,接近零的梯度也可能隐藏重要非线性路径。AtP*缓解部分已知问题,但不能替代精确验证。
主要特点
- 用一阶 Taylor 项近似从受损激活到干净激活的替换
- 使用在受损运行附近计算的标量指标梯度
- 一次反向传播可评分大量层、Head、神经元、词元或残差位置
- 依赖匹配的干净与受损样本以及有符号指标契约
- 可能因饱和、非线性、抵消和较大激活差而失效
- 属于候选筛选方法,领先候选仍需精确修补复核
常见用途
- 在精确激活修补前排序候选 Attention Head 或 MLP 位置
- 在大规模机制可解释性研究中扫描词元位置与层
- 比较不同提示与受损构造下的候选回路位置
- 估计干净激活是否可能恢复受损行为指标
- 用预测效应与精确修补效应对照审计近似质量
示例
Loading code...常见问题
归因修补与激活修补有什么区别?
激活修补会真正替换内部状态并重新执行后续前向计算,得到该次干预的实际效应;归因修补则用局部梯度与激活差的内积估计同一变化。后者适合低成本大范围扫描,但近似可靠性较弱,不能把估计分数直接当作精确因果效应。
归因修补应该选择什么指标?
应预先声明与目标行为直接相关且有方向的标量,例如目标答案减干扰答案的 Logit 差、损失变化或校准后的任务分数。不能在看过结果后挑选让组件显得重要的指标;还要记录方向、尺度、聚合方式、词元位置及干净和受损顺序。
一阶归因修补在什么情况下会失效?
当干净与受损激活距离较大、计算强非线性、受损点附近梯度饱和,或多个效应在内积中抵消时,近似可能失效。归一化与组件间交互也会使单位置估计偏离联合干预,因此零分或低分不能自动排除重要非线性路径及组合效应。
怎样验证归因修补筛出的候选项?
应跨提示、随机种子和多种受损构造重复筛选,再对高排名候选及一部分低排名候选执行精确修补,比较符号、幅度、排名稳定性和假阴性率。验证应使用留出样本,而不是只在发现候选的提示上重复,以免把样例特例误判为机制。
归因修补等同于梯度下降吗?
不等同。它使用反向传播计算指标对激活的梯度,但不会通过多轮更新来优化模型参数;该梯度只与观测到的干净减受损激活差相乘,以近似一次内部干预。梯度下降则是反复更新参数以最小化或最大化目标的优化算法,目的并不相同。