Summary
Interpretability in Parameter Space: Attribution-based Parameter Decomposition (APD) + Stochastic Parameter Decomposition (SPD)
- 核心: 把可解释性的分解对象从「激活」转到「权重」——直接将网络参数向量分解成一组最小描述长度的 parameter components(机制),而非分解激活空间,从而绕开激活 SAE 受 superposition 制约的诸多难题。
- 方法: APD 用三个损失(faithfulness / minimality / simplicity)把参数分解成「相加还原原网络、每个输入只需少数几个、各自尽量低秩低跨层」的 components;minimality 靠梯度 attribution + top- 稀疏前向实现。SPD 是其可扩展后继:改为分解成 rank-one subcomponents,用学习到的 causal importance function + 随机掩码采样替代 attribution 与 top-。
- 结果: 在 TMS、compressed computation、cross-layer distributed representation 三个有 ground-truth 机制的 toy model 上,APD/SPD 均恢复出对应单个特征/计算的机制;SPD 还攻下了 APD 搞不定的 hidden-identity TMS 与更深的跨层模型。
- Sources: paper | github
- Rating: 2 - Frontier(开辟「linear parameter decomposition」这一正交新家族的奠基+后继两篇,概念上重要、社区已快速跟进,但目前仍停在 toy model,未在真实模型验证,故属前沿支线而非已奠基必读)
Key Takeaways:
- Parameters-first 而非 activations-first: 主流机制可解释性(SAE / transcoder / circuit discovery)都是先把激活分解成方向、再拼电路(activations-first)。本工作主张机制天然活在「参数空间」里——网络的权重向量才是 gradient descent 刻下机制的地方,因此直接在参数空间找分解。
- 机制 = 最小描述长度的 parameter component: 用 MDL 原则把「好的机制分解」操作化为三条性质——faithfulness(各 component 相加还原原参数)、minimality(任一输入只需激活极少数 component)、simplicity(每个 component 尽量低秩、跨层尽量少)。
- 绕开 superposition 给激活 SAE 带来的麻烦: feature splitting、feature geometry 无法解释、跨层/跨 head 表示难适配——这些 SAE 的老大难在参数视角下被重新表述甚至化解(component 之和必须等于原权重,无法靠加字典元素免费提升稀疏度)。
- SPD 是让这条路线可扩展的关键一步: APD 的三宗罪(每个 component 与全网同样大→内存爆炸、对 top- 等超参极敏感、依赖不可靠的 gradient attribution)被 SPD 用 rank-one subcomponent + 可学习 causal importance function 逐一替换。
- 诚实的局限: 两篇都只在 toy model 上成功;SPD 只给出单层 rank-one subcomponent,要拼成跨层多秩的「完整机制」还缺一个通用 clustering 算法。距离语言模型仍有距离。
Teaser. APD 的目标:把 target network 的参数向量分解成既 faithful、又 minimal、又 simple 的 parameter components。 每个 component 是与原网络同形的参数向量,相加还原原网络(faithful),但对任一输入只有少数被「用到」(minimal),且各自尽量简单(simple)。

为什么要从激活转向参数(动机)
机制可解释性的终极目标是把网络参数映射到人类可懂的算法。障碍在于:机制并不整齐地对应单个 neuron / attention head / layer——表示常常跨这些架构单元分布。当前最流行的 sparse dictionary learning(SAE 等)走的是 activations-first:把某层激活分解成稀疏激活的方向(latent),再试图用这些方向当积木去拼电路。论文列举了这条路线的系统性问题:
- 不能识别出「典范的分析单元」(canonical units),且重构误差显著;
- 以 sparsity 为代理目标,但 sparsity 在极限下未必等于 interpretability;
- feature splitting:字典越大能切出越多越细的 latent,没有自然停点;
- feature geometry 无法解释(Einstein latent 与其它物理/名人 latent 方向相近,暗示底层有语义流形,但 SAE 把 latent 当孤立单元,忽略了它);
- 跨层、跨 head 的分布式表示需要对 SAE 逐一打补丁(crosscoder/transcoder 等),缺乏统一框架。
❓ 这里所有「SAE 的缺陷」都是作者(Apollo / Sharkey 团队,本身是 SAE 路线的重要参与者)的批判性自述。其中 “sparsity 不是 interpretability 的可靠代理” 是有力的 first-principles 质疑,但「参数视角能根治这些」在论文里基本还是 argument,toy model 之外没有证据——读时要把「化解」当 conjecture。
作者的核心 reframe:gradient descent 在训练中把机制「刻」进参数向量,所以机制就应当在与整网相同的参数空间里寻找。参数向量天然满足几条诉求:能表达「介于整网与零网之间」的子算法、能容纳 basis-unaligned / 跨层 / superposition / 多维机制。
APD:方法
APD 把网络参数 分解成 个 parameter component ,并直接对三条性质优化。底层动机是 最小描述长度(MDL):对每个数据点用尽量短的机制描述去解释网络行为。
Equation 1. 三个损失
- Faithfulness(上式):所有 component 之和要逼近原网络参数(MSE)。这是与 SAE 的根本区别——component 必须「加起来还原原权重」,因此不能像字典那样无成本地添加元素来提升稀疏度,从结构上堵死了 feature splitting。
- Minimality:对任一输入,只需极少数 component 就能复现网络输出。分两步实现(见下图):
- Attribution step:估计每个 对该输入输出 的因果重要性 。精确做要对每种 component 组合做 ablation,不可行;故用 gradient attribution 近似(一次前向 + 每个输出维一次反向)。
- Minimality step:只把 attribution 最高的 top- 个 component 相加成 做一次「稀疏前向」,训练其输出匹配原网络:。实验里用 batch top- 选固定数量的活跃 component。
- Simplicity:惩罚 component 跨越过多的秩 / 层。实践中对活跃 component 各权重矩阵奇异值取 Schatten- 范数():,鼓励低秩。
(bias 暂不分解,作为「永远活跃」的单独 component 处理。)
Figure 2. Minimality 的两步:上=算 attribution ;下=用 top- component 做稀疏前向并优化 minimality loss。

❓ Minimality 的 attribution 与 top- 是 APD 的两个脆弱点:gradient attribution 只是因果 ablation 的一阶近似(softmax 饱和时失真,见 AtP* 的讨论),而 top- 要预先知道「每个输入用几个机制」——真实模型里根本不知道。这正是 SPD 要替换掉的两件东西。
APD 实验:三个有 ground-truth 的 toy model
1) Toy Model of Superposition(TMS) 。其 ground-truth 机制是一组 rank-1 矩阵 (只在第 列非零),满足 。APD 学到的 component 几乎对齐这些 :
Figure 3. TMS 上跑 APD 的结果。上排:target 权重列、APD 各 component 之和、以及每个 component;每个 component 对应一个机制(即一个「特征」)。下排:对应的参数化网络。

定量上用 MMCS(方向对齐)与 ML2R(模长比)衡量:
Table 1. 学到的 component 与 target 权重的 MMCS / ML2R(±标准差)。
| MMCS | ML2R | |
|---|---|---|
| 0.998 ± 0.000 | 0.893 ± 0.004 | |
| 0.996 ± 0.003 | 0.935 ± 0.001 |
MMCS ≈ 1 说明方向几乎完全对齐;ML2R < 1 说明存在「shrinkage」(模长偏小),作者归因于 minimality 与 simplicity 损失的 trade-off,类似 SAE 的 feature shrinkage。SVD / NMF 这类经典分解最多只能得 个 component,原则上无法切出 superposition 下的 ground-truth 机制——这是参数分解相对线性代数分解的关键差异。
2) Compressed Computation:1 层 residual MLP(, , 100 个输入特征),任务是对每个输入算 ——即用 50 个 neuron 算 100 个非线性函数(计算量多于 neuron 数)。APD(用 130 个 component,因训练中部分会「死」)学到每个 component 对应一个输入特征的计算:
Figure 6. 前 10 个输入特征的 neuron contribution:上=target,下=对应 parameter component;二者用相同 neuron 计算同一函数(非完美匹配反而符合预期,因 component 滤掉了 target 里来自其它机制的干扰项)。

用 causal-scrubbing 式实验验证「单个 component 在其特征未激活时影响极小」:ablate 掉一半 无关 component(scrubbed)几乎不增 MSE,而 ablate 掉 相关 component(anti-scrubbed)则 MSE 大涨:
Figure 8. scrubbed(粉,未删相关 component)vs anti-scrubbed(绿,删了相关 component)vs top- 稀疏前向 的 MSE 分布;灰线为 monosemantic(每特征一 neuron)基线。

scrubbed 分布呈双峰,暴露了一个真实缺陷:部分 component 仍「兼职」表示了次要特征的计算。
3) Cross-Layer Distributed Representations:把上面扩到 2 层 MLP(每层 25 neuron)。APD 仍能学到跨两层、对应单个输入特征计算的 component,但瑕疵明显更多(更多 component 表示了两个特征),且 batch top- 会迫使某些输入把计算摊到多个 component 上。
SPD:让这条路线可扩展的后继(arXiv 2506.20790)
SPD 直指 APD 的三宗罪:(1) 内存——每个 full-rank component 与原网同样大,最坏 ;(2) 超参敏感——只在很窄的超参范围恢复机制,且 top- 须预先指定;(3) attribution 不可靠——gradient attribution 常常连基本 sanity check 都过不了。SPD 的三处替换:
① 分解成 rank-one subcomponent,而非 full-rank component。 把每个权重矩阵分解成 个 rank-one 矩阵( 可大于矩阵的秩,以容纳 superposition),事后再 cluster 成完整机制:
Equation 2. Rank-one 分解
因为起点就是「单层 rank-one」,simplicity 不再需要单独优化——省掉了 APD 的 Schatten 范数项与巨大内存开销。
② 用「可学习的 causal importance function + 随机掩码」替代 attribution + top-。 把 subcomponent 的因果重要性 定义为「它在该输入上有多 不可 ablate」:causally important 的不该被 ablate,可 ablate 的就 causally unimportant。沿着插值的「ablation 曲线」对 mask 随机采样,要求任意 mask 下输出都不变:
Equation 3. 随机掩码与不变性目标
本身由一组很小的 MLP(causal importance function)从 subcomponent 的 inner activation 预测,经 leaky-hard sigmoid 输出。掩码从 采样,用 reparametrization trick 回传梯度。直觉:所有 ablation 组合都以一定概率被「抽查」到,因此只有真正被网络「用到」的 subcomponent 才会被赋予高 。
③ 用 importance-minimality 损失迫使尽量多 subcomponent 不重要。 否则 causal importance function 可平凡地对所有 subcomponent 输出 (无 ablate 动机):
Equation 4. Importance-minimality
一个微妙但漂亮的点:SDL 里 会鼓励把一个 active feature 拆成多个来降损失(feature splitting 的根),但 SPD 里 不会——把一个 important subcomponent 拆成两个,两个仍都 (都还被需要), 反而上升。这从损失结构上再次堵死 splitting。
总损失(四项;mask 采样 即够):
SPD 结果:在 APD 测过的全部 toy model 上恢复 ground-truth 机制,且额外攻下两个 APD 搞不定的更难模型——hidden-identity 的 TMS、以及更深的跨层模型。作者据此称 SPD 比 APD 更 scalable、更稳定。
遗留挑战(作者自陈):仍需 scale 到更大模型(要更好的训练稳定性);SPD 只产出单层 rank-one subcomponent,把它们拼成「跨层多秩的完整机制」目前在 toy model 里靠 ground-truth 隐式 cluster,缺一个通用 clustering 算法。
关联工作
基于
- Toy Models of Superposition(Elhage 2022): APD/SPD 的第一个验证场景 TMS 直接取自此文;compressed computation 也是其「computation in superposition」的变体。整条路线要解决的正是这篇揭示的 superposition 给可解释性带来的难题。
- computation in superposition 理论(Bushnaq & Mendel 2024): 论证「网络能算的机制数被参数量上界约束」「无干扰的 component 须低秩或局部于少数层」——这既支撑「在参数空间找机制」的合法性,也指明 SPD 走 rank-one 的理由。
- MDL 原则: minimality + simplicity 本质是对「每数据点机制描述长度」的最小化。
对比
- Sparse Dictionary Learning: 最直接的对立范式(activations-first)。APD 全篇在论证参数视角如何化解 SAE 的 feature splitting、feature geometry、跨层适配等问题。关键结构差异:SAE 可无成本加字典元素提稀疏度,APD/SPD 的 component 之和必须等于原权重,加 component 会破坏 faithfulness。
- Transcoder / Crosscoder: 同样想分解「层的变换」,但仍在激活空间、且有不可消除的重构误差;APD/SPD 在参数空间分解,且架构无关(attention / RNN / SSM 无需改方法)。
- Weight masking & pruning(Csordás 2021 等): 激活一个 component ≈ 留它不 mask、mask 掉其余,故 APD 像「为每个 component 学一组 mask」。但传统 mask 限制在 会偏向 neuron/parameter basis,APD 的隐式 mask 允许出界以保持 basis 无关。
方法相关
- Causal Mediation / Activation Patching / circuit discovery: 都靠(近似)因果干预找核心机制。区别:circuit discovery 预设「neuron/head/层」这套分解、且把连接抽象成标量强度;APD 不预设架构单元、每个 component 自带解释其功能所需的全部参数。SPD 对 causal importance 的定义(“多不可 ablate”)正是 causal mediation 思想在参数空间的落地。gradient attribution 与 AtP / AtP* 一脉。
- ROME 式模型编辑: 作者展望——若真能把网络拆成机制,参数视角下做精确编辑/unlearning 比激活视角更自然(要改的本就是参数向量)。
- Features & Dictionary Learning 的「feature」定义: 论文用「激活特定机制的输入属性」重新定义 feature,声称化解了 Elhage 等列出的三种旧定义的缺陷。
- 谱系定位: 在我们的可解释性方法谱系上,APD/SPD 是一条正交新家族——参数空间转向:分解「权重」成最小描述长度的机制,而非像 Logit Lens / SAE / patching 那样围绕「激活」。它与同期 Inference Manifolds、Circuit Lasso 同属 2025-2026 frontier 支线。
论文点评
Strengths
- 真正的 reframe,而非 +0.3% SOTA: 把「机制活在激活还是参数」这个 problem formulation 本身翻了个面。无论最终是否 scale,提出「mechanism space = parameter space」并给出可操作损失,是有 insight 的工作。
- 诚实且自我批判: 作者本身深耕 SAE,却系统列出 SAE 的结构性缺陷,并对自己方法的脆弱(shrinkage、bimodal scrubbing、超参敏感、只在 toy model 成功)毫不掩饰。
- faithfulness 约束从结构上堵 feature splitting: 「component 之和=原权重」是一个干净的约束,比 SAE 靠调字典大小更有原则性。SPD 里 不诱发 splitting 的论证尤其漂亮。
- SPD 的 delta 扎实: 不是换皮,而是逐条针对 APD 的 scalability / 超参 / attribution 三个病根做替换,并用「攻下 APD 搞不定的更难 toy model」给出可证伪的进步证据。
- 架构无关: 方法不依赖 attention/MLP/层的具体结构,理论上可用于任意架构——若 scale 成功,这是相对 transcoder 类方法的实质优势。
Weaknesses
- 只在 toy model 验证: 最大软肋。所有「化解 SAE 难题」的论断在真实语言模型上零证据,目前都是 conjecture。APD 自陈仅适用 toy model(算力 + 超参)。
- clustering 缺口: SPD 只产单层 rank-one subcomponent,「拼成完整机制」在 toy model 里靠已知 ground-truth 隐式完成;真实场景缺通用 clustering 算法时,这一步可能比分解本身更难、更主观。
- “机制” 的可解释性未被独立检验: 即便恢复了 ground-truth,“parameter component = 人类可懂的算法步骤” 仍是设定而非验证;在没有 ground-truth 的真实模型上,如何确认一个 component 真是「一个机制」是开放问题。
- 依赖隐含假设: 整条路线默认网络确实存在「离散、可分离、低秩/局部」的机制,且它们近似线性叠加(与 线性表示假设 同源)。若真实机制高度纠缠/高秩/强跨层,rank-one 起点与 faithfulness 约束可能两头受挤。
- 算力: APD 每 component 与全网同大;SPD 缓解但仍需对每个 subcomponent 配一个 causal importance MLP,规模化代价未在真实模型量化。
可信评估
Artifact 可获取性
- 代码: inference+training,开源。APD:
github.com/ApolloResearch/apd;SPD/后继:github.com/goodfire-ai/param-decomp(含nano_param_decomp/紧凑实现,并发布 SPD v1 与后续 VPD 的 release tag)。 - 模型权重: 仅 toy model,训练脚本与 canonical run(如
goodfire/spd/runs/s-55ea3f9b)在 repo / WandB 报告中给出。 - 训练细节: 完整——两篇都在附录给出超参、架构、训练细节,并附 WandB 报告。
- 数据集: toy model 的合成数据,由任务定义(如 、稀疏 one-hot 输入),可完全复现。
Claim 可验证性
- 可信:在三个 toy model 上恢复 ground-truth 机制:有 MMCS/ML2R(Table 1)、neuron-contribution 对比图、causal-scrubbing 直方图支撑,且代码开源可复现。
- 可信:SPD 攻下 APD 搞不定的 hidden-identity TMS / 更深跨层模型:论文给出对应实验,属可证伪且已开源的进步证据。
- 存疑:“参数视角化解 SAE 的 feature splitting / geometry / 跨层难题”:论证有力但 grounding 主要是概念推理 + toy model;真实模型上未验证,应视为 conjecture。
- 存疑:“SPD 更 scalable / 更稳定”:相对 APD 在 toy model 上成立;“可 scale 到语言模型” 是展望,作者自己也将训练稳定性列为遗留挑战。
- ❌ “a fundamental shift in mechanistic interpretability”(结论措辞):方向性 framing/愿景,不是已兑现的技术 claim——其影响力取决于能否走出 toy model。
Notes
- 这条线的真正赌注是:真实网络的机制到底更像「激活方向」还是「参数向量」?若两年内有人把 SPD/VPD 跑通在一个真 LM 子模块并给出可读机制,rating 应从 2 升 3;若始终困在 toy model,则降为 1。
- 与我自己的兴趣(continual learning)的潜在连接:参数空间的机制分解若成立,对「定位/隔离/编辑特定能力」(持续学习里的抗遗忘、模块化)是天然工具——值得追踪 clustering 那一步的进展。
Rating
Metrics (as of 2026-06-27): citation=N/A (S2 IP throttled), influential=N/A, velocity=N/A; HF upvotes=APD N/A · SPD 1; github(后继 repo goodfire-ai/param-decomp)132⭐ / forks=50 / pushed 0d ago(活跃);原 APD repo ApolloResearch/apd 35⭐ / forks=9 / pushed ~2025-06。
分数:2 - Frontier 理由:这是开辟「linear parameter decomposition」正交新家族的奠基(APD)+ 关键可扩展后继(SPD)两篇,concept 上重要、problem-formulation 有真 insight,且社区已快速跟进(被 Goodfire 接续为 param-decomp / VPD,repo 当日仍在活跃提交、132⭐)。但定档 2 而非 3:方法目前只在 toy model 成功,所有「化解 SAE 难题、可 scale 到 LM」均为 conjecture,缺通用 clustering、未在真实模型验证——尚是值得紧盯的前沿支线,而非「只读它就能理解方向主脉络」的已奠基必读。也未降到 1:它不是 incremental,而是定义了一个新范式方向,且后继仍在高速演进。