Transcoder 在可解释性上优于稀疏自编码器
Transcoders Beat Sparse Autoencoders for Interpretability
skip transcoder在Pythia 160M、k=32的fuzzing为86.4%,高于SAE的74.6%。
- SAE 压缩中间激活,不直接拟合 MLP 等组件的功能。作者比较同一模型上的 transcoder 与 SAE,并用仿射跳跃连接降低重建误差。
- 在 MLP 层训练 SAE、sparse transcoder 与 skip transcoder。后者在 TopK 稀疏瓶颈外加仿射跳跃项,以均方误差拟合 MLP 输出,无辅助损失。用 Llama 3.1 70b 做自动可解释性评分。
- Table 1 中 SST 的可解释性分数高于 SAE,贴回后 CE 增幅更低;pythia-160m 上不带 skip 的 transcoder 则 CE 增幅更高。SAEBench 里 SST 方差解释更高,探测与吸收有高有低。
- 作者未做电路分析,也未能迁移 unlearning 与概念擦除。skip 连接的机制留作后续。实验含 Pythia 160M/410m、Llama 3.2 1B、Gemma 2 2B 的 MLP,以及 SAEBench 的重建、探测和吸收。
- Evaluated models
- Pythia 160MPythia 410mLlama 3.2 1BGemma 2 2B
- Benchmarks
- PileRedPajama v2FineWebOpenWebTextSAEBench
- Metrics
- fuzzingdetectionsimulationCE loss increasevariance explainedsparse probingabsorption score
Gonçalo Paulo、Stepan Shabalin 和 Nora Belrose 在 arXiv 发布的论文对比了 transcoder 与稀疏自编码器(SAE)提取的特征,两者在同一模型和同一数据上训练,结果显示 transcoder 特征的可解释性显著更高。作者还提出 skip transcoder,在 transcoder 架构上加入仿射跳跃连接,重建损失更低,且对可解释性没有影响。SAE 的做法是把网络激活映射到稀疏的高维隐空间再重建激活,transcoder 则改为根据某个组件的输入重建其输出。
Paper analysis
What problem does this paper attempt to solve?
作者用 skip transcoder 拟合 MLP 的输入输出,称其比 SAE 更可解释,贴回后损失增幅更低。
如何在拟合网络组件功能的同时,得到比 SAE 更可解释的稀疏特征。
- 场景:作者引用 Guo et al. (2025),称大模型已在许多任务上达到人类水平推理;可解释性要理解内部机制,以改善安全与可靠性。单个神经元的自然语言解释难以应对多义性(Arora et al., 2018; Elhage et al., 2022)。
- 现有不足:SAE 把激活映射到稀疏高维 latent 再重建。作者指出它侧重压缩中间激活,而不是建模前馈模块等组件的功能。Transcoder 拟合组件的输入输出,但稀疏激活使每种模式对应低秩线性变换;ReLU MLP 的多面体对应较高秩线性函数(Black et al., 2022)。
- 做法:在同一模型与数据上比较 SAE、sparse transcoder(ST)和 skip transcoder(SST)。SST 给 transcoder 加仿射跳跃连接,用来缓解秩限制。
- 作者的主张:摘要称 transcoder 特征比 SAE 更可解释,SST 降低重建损失且不影响可解释性。贡献列表称,在至多 2B 参数的模型上,SST 在重建与可解释性权衡上 Pareto 支配 SAE。作者建议从 MLP 输出上的 SAE 转向 (skip) transcoder。
What related research exists?
相关工作涵盖神经元解释、SAE、transcoder 与稀疏特征基准;作者将本文定位为组件级稀疏编码。
引言讨论相关工作,正文没有单独的 Related Work 节。
- 神经元与多义性
- Olah et al. (2020)、Gurnee et al. (2023; 2024):为单个神经元生成自然语言解释。
- Arora et al. (2018)、Elhage et al. (2022):多数神经元是多义的,会在语义不同的上下文中激活。
- Bills et al. (2023):用 LLM 给神经元解释打分。Bricken et al. (2023a) 把类似做法用于 SAE,即 automated interpretability(autointerp)。
- 稀疏自编码器
- Bricken et al. (2023a)、Templeton et al. (2024b)、Gao et al. (2024):用 SAE 把激活分解为可解释特征。稀疏来自惩罚(Rajamanoharan et al., 2024)、约束(Gao et al., 2024; Bussmann et al., 2024)或信息瓶颈(Ayonrinde et al., 2024)。
- Paulo et al. (2024):SAE 特征在 autointerp 上好于神经元,包括只分析一层 top-k 最活跃神经元的情形。本文的解释与打分沿用该流程。
- 作者指出 SAE 的问题是压缩中间激活,而不是建模组件的功能行为。
- Transcoder 与电路
- Li et al. (2023)、Templeton et al. (2024a) 提出 transcoder。论文称 Dunefsky et al. (2024) 首次做了严格评估,并称其能学到组件行为的输入不变描述,用于细粒度电路分析,补充 Conmy et al. (2023)。
- Black et al. (2022) 描述 ReLU MLP 的多面体与较高秩线性函数。作者用这一点说明 transcoder 的低秩困难,不是在批评该文。
- Marks et al. (2024) 讨论稀疏特征电路;作者后文称线性跳跃连接可以忠实地纳入电路发现。
- 评测与层间特征
- Gao et al. (2024)、Karvonen et al. (2024)、Juang et al. (2024):稀疏特征评测基准。Chanin et al. (2024) 讨论 feature absorption,并认为一般特征被具体特征吸收是不可取的。
- Engels et al. (2024):把重建误差视为未被 latent 捕获的 “dark matter”。
- Balagansky et al. (2024):相邻 residual stream 层上的 SAE 学到很相似的特征,相邻 FFN 上的 SAE 学到不相交的特征。作者用此支持在 FFN 上训练 transcoder。
基线与基准:基线是 SAE,以及 Pythia 160M 上的 ST。自动可解释性用 Paulo et al. (2024);重建、sparse probing 与 absorption 用 SAEBench(Karvonen et al., 2024)。语料为 Pile、RedPajama v2、FineWeb、OpenWebText。
作者把 transcoder 定位为近似组件的输入输出函数,而不是重建激活;skip 连接用来缓解秩限制。作者建议可解释性研究从 MLP 输出上的 SAE 转向 (skip) transcoder。
- 神经元与多义性
How does the paper address this problem?
Skip transcoder 在 TopK 瓶颈外加仿射跳跃连接,用均方误差拟合 MLP 输出。
在 MLP 上训练三类稀疏编码器,并用 skip transcoder(SST) 在 transcoder 上加仿射跳跃连接,以拟合组件的输入输出。
问题设定
- SAE:编码器把激活投到稀疏高维 latent,解码器再重建激活。
- Transcoder:用稀疏瓶颈近似目标组件(如 MLP)的输入到输出函数,而不是重建中间激活。
- 秩限制:作者称 ReLU MLP 把输入分成多面体,每个多面体对应较高秩线性函数;transcoder 的稀疏激活使每种激活模式对应低秩线性变换。
- SST 的角色:用仿射跳跃连接缓解这一限制。论文未报告该连接的 SVD 分析,并把它留作后续。
Skip transcoder
- 形式:论文给出
f(x) = W2 TopK(W1 x + b1) + Wskip x + b2 即稀疏瓶颈的解码输出,再加上输入的仿射项。
- 初始化:W2 与 W_skip 零初始化,b2 取 MLP 输出的经验均值,因此训练开始时是常数函数。
- ST:不带跳跃项的 sparse transcoder。作者未在正文单独写出不含 W_skip 的公式。
- 残余流形式:结论称,把单位矩阵加到 skip 连接上,可以把 FFN 上的 SST 变成 “residual stream transcoder”。论文未报告这一转换后的实验数字。
训练
- 位置与损失:在 MLP 层上训练。损失是 coder 输出与 MLP 输出的均方误差,无辅助损失项。
- 稀疏:采用 Gao et al. (2024) 的 TopK,直接规定活跃 latent 数,不必调 L1。作者称这与先前 transcoder 工作不同。实验中的 k 为 32、64、128。
- 数据与优化:Pythia 上的 coder 用 Pile 前 8B token;Llama 3.2 1B 与 Gemma 2 2B 用 RedPajama v2 的 8B token。Adam,序列长度 2049,batch 为 64 条序列。
- 哪些模型有 ST:方法节写 Pythia 160M 上训练 SAE、ST、SST,Llama 3.2 1B 与 Gemma 2 2B 上训练 SAE 与 SST。Pythia 410m 出现在复现实验中,方法节未单独写其配置。
评测协议
- 解释:用 Paulo et al. (2024) 的流程。在 10M token 上收集激活,Pythia 来自 Pile,Llama 与 Gemma 来自 FineWeb。Llama 3.1 70b 观看 40 个激活样本(十个分位各 4 个,每段 32 token,活跃 token 被标出)后生成解释。
- 打分:scorer 也是 Llama 3.1 70b。detection 与 fuzzing 用 50 个激活样本(十个分位各 5 个)和 50 个非激活样本。simulation 用同样的 50 个激活样本,做法按 Bills et al. (2023)。论文未给出三项分数的计算公式或阈值。
- 贴回:把 coder 换进原模型,计算交叉熵损失增幅。Figure 1 把 autointerp 定义为约 500 个 latent 的 fuzzing 与 detection 的平均(图注写 c.a. 500)。
- SAEBench:方差解释和 CE 增幅在 OpenWebText 的 500K token 上计算。sparse probing 看编码器能否保留情感、语言检测等分类所需信息。absorption 统计一般字母特征被具体特征吸收的频率。
What experiments did the paper conduct?
Table 1 中 SST 的三项可解释性分数均高于同设置 SAE,贴回后 CE 增幅也更低。
实验设置
- 模型:Pythia 160M、Pythia 410m、Llama 3.2 1B(表中 llama-1b)、Gemma 2 2B(表中 gemma-2-2b)。解释与打分都是 Llama 3.1 70b。
- 训练:MLP 层,与 MLP 输出的均方误差,无辅助损失,TopK。k 取 32、64、128。Pythia 用 Pile 前 8B token,Llama 与 Gemma 用 RedPajama v2 的 8B token。Adam,序列长度 2049,batch 64。Table 1 里除 pythia-160m 外,ST 列为未报告。
- 字典宽度:Figure 1 给出 32768、65536、131072。Table 1 的 Size 在抽取文本中为 215、216、217,与 2^15、2^16、2^17 的上标排版一致,分别等于这三个宽度。
- 自动可解释性:激活采集 10M token。fuzzing 与 detection 用 500 个 latent,simulation 用 50 个。论文未给出打分阈值,也未报告重复次数。
- 贴回与 SAEBench:Table 1 图注称 CE 增幅用 0.5M token,未在图注中写语料名。方法节称方差解释和 CE 增幅由 SAEBench 在 OpenWebText 的 500K token 上计算。sparse probing 包括情感与语言检测。
- 未写明项:论文未说明 Table 1 的分数来自哪一层 MLP。不要把 Table 1 的 CE 数字和附录按层数字当成同一次测量。
主结果
据 Table 1。Fuzzing、Detection、CE 增幅为百分数;Simulation 表头无百分号。
Swipe horizontally to read the table
模型与宽度 K Fuzzing SAE/ST/SST Detection SAE/ST/SST Simulation SAE/ST/SST CE增幅% SAE/ST/SST pythia-160m, 2^15 32 74.6/85.4/86.4 70.2/78.7/80.9 0.28/0.46/0.47 1.10/1.23/0.73 pythia-160m, 2^16 64 71.8/83.7/86.9 67.2/77.5/81.1 0.30/未报告/0.42 0.79/1.46/0.59 pythia-410m, 2^16 32 78.4/未报告/89.5 72.7/未报告/83.8 0.35/未报告/0.51 0.49/未报告/0.43 llama-1b, 2^17 32 77.2/未报告/85.7 71.7/未报告/79.4 0.34/未报告/0.44 1.50/未报告/1.00 gemma-2-2b, 2^17 32 80.5/未报告/84.6 75.8/未报告/79.6 0.35/未报告/0.44 1.60/未报告/0.53 - 作者的总括:作者称在所研究的情形中,SST 的自动可解释性分数更高,贴回后 CE 增幅更低。Table 1 五行里,SST 的 fuzzing、detection、simulation 都高于同行 SAE,CE 增幅都低于 SAE。
- ST 的例外:两行有 ST 数字时,ST 的可解释性分数高于 SAE,但 CE 增幅高于 SAE,为 1.23% 对 1.10%,以及 1.46% 对 0.79%。摘要称跳跃连接降低重建损失、不影响可解释性;这两行里 SST 的 fuzzing 与 detection 仍高于 ST。作者未单独解释 ST 的 CE 增幅。
- Figure 1:图注称 32768、65536、131072 三种宽度上,SST 的模型损失增幅更低、平均 autointerp 更高,相对 transcoder 和 SAE 是 Pareto 改进。65536 只有 k=32 和 64。图注未写模型名;纯文本没有各点刻度。
SAEBench 的重建、探测与吸收
- 重建:Table 2 的 gemma-2-2b 上,SST 的 variance explained 在 L10、L14、L18、L22 为 67.1%、72.4%、81.7%、73.2%,SAE 为 16.5%、17.0%、20.9%、21.6%。ΔNLL(%)SST 四层都是 0.5,SAE 为 1.1、1.1、2.1、1.6。Table 3、Table 4 中 SST 的 variance explained 也不低于同行 SAE。Table 3 里 ST 在 L2–L10 低于 SAE,例如 L4 为 74.3 对 75.9;L0 三者为 99.4、99.4、99.9。
- sparse probing:作者称 SST 与 SAE 相近,后期层 SST 以小幅度胜出,并称 transcoder 并未以压缩 residual stream 为目标,仍能接近 SAE,这令他们意外。表格有反例:Table 2 已报告层上 SAE 更高,L10 为 71.5 对 70.6,L14 为 80.0 对 76.0,L18 为 78.9 对 75.2;L22 的 SST 未报告,SAE 为 76.1。Table 4 的 L8 为 SAE 72.2、SST 69.9,L14 为 71.1 对 75.3。Table 3 的 L0 为 SAE 71.9、ST 66.1、SST 69.3,L10 为 69.0、71.0、73.7。
- 吸收:作者称 SAE 与 transcoder 的吸收行为相似,结果噪声大,并认为这不太会成为问题,因为有与本文正交、似乎能改善吸收的方法。高低都有:Table 4 L0 为 SAE 80.7±12.7、SST 4.7±2.8,L14 为 0.1±0.4 对 52.0±19.9;Table 2 L18 为 26.3±23.7 对 53.3±19.6。引言称吸收与 sparse probing 的质量更好;与第 3 节和这些表不一致时,以表为准。作者未解释单个层的高低。
解释泛化与特征密度
- Figure 2:图注称 detection 与 fuzzing 上 ST、SST 高于 SAE,SAE 的分布更宽;左图的点是平均分。低分位上解释准确率仍然更高。正文称准确率随激活变小下降得更慢,假阳性率更低,并认为这些 latent 可能在整个激活分布上表示更单义的概念。纯文本看不到刻度。
- Figure 3:附录 B 比较 feature density 与 consistent activation heuristic,层为 pythia-160m Layer 6、llama-1b Layer 12、gemma-2-2b Layer 12。作者称 ST 与 SST 密度相近,高密度特征更少、低密度特征更多,并称已有方法可去掉低密度特征,而没有正则高密度特征的方法。纯文本看不到点的位置。第 5 节称 feature density 图没有显示出差别,并据此认为 SAE 与 SST 在机制层面相似。
其他消融与分析
- Figure 1 含活跃 latent 32、64、128;宽度 65536 只有 32 和 64。Table 1 未报告 k=128。
- pythia-160m、k=64 的 ST simulation 在 Table 1 为未报告。
- Table 2 L22 的 SST sparse probing、Table 4 L12 的 SAE sparse probing 为未报告。
- Table 4 中 SST 的 ΔNLL 不高于 SAE;L2、L12、L14 两者相同,为 1.5、2.0、2.0。
What are some points that can be further explored?
作者把电路分析、skip 连接的作用,以及未能迁移的遗忘类评测列为后续。
作者指出的局限与后续方向
- skip 连接的机制:第 2 节把用 SVD 等方式深入分析 skip 连接留作未来工作。第 5 节称,后续可以把 skip 连接与 MLP 的学习得到或解析得到的仿射近似比较;作者认为跳跃项让 transcoder 不必重复翻译线性映射,从而专注于重要特征。
- 电路分析:第 5 节写明没有做 Dunefsky et al. (2024) 那种电路实验。作者预期 SST 因重建误差更低而更利于重建电路,并认为跳跃连接不太可能妨碍基于梯度的电路发现,依据是 Marks et al. (2024) 可以把线性跳跃连接纳入电路发现。
- 转向与擦除基准:第 5 节称 transcoder 特征或许可用于 steering,但作者未能把 Karvonen et al. (2024) 的 unlearning 与 concept erasure 基准迁移过来,因为那些基准要求 latent 包含任意 residual stream 位置的全部信息。
- 不改善特征学习:第 5 节称 transcoder 并不像 Gao et al. (2024) 一类新架构那样改善 SAE 的特征学习;它们只改变目标,不能减轻训练中的低效。吸收可以和 SAE 一样出现。作者提到 Matryoshka SAE(Bussman et al., 2024; Nabeshima, 2024)或许对 SAE 和 SST 都有帮助。
- 不能直接训练在残余流上:第 4 节称,相对 SAE 的唯一 downside 是 SAE 可直接训练在 residual stream 上,transcoder 需要针对具体组件,通常是前馈层。作者同时给出把单位矩阵加进 skip 连接的转换,并称这把两类稀疏编码接起来。
实验覆盖范围
- 被测模型为 Pythia 160M、Pythia 410m、Llama 3.2 1B、Gemma 2 2B。方法节写明 Pythia 160M 的 MLP 上有 SAE、ST、SST,Llama 3.2 1B 与 Gemma 2 2B 上有 SAE 与 SST。
- Pythia 上的 coder 用 Pile 前 8B token,另两个模型用 RedPajama v2 的 8B token;Adam,序列长度 2049,batch 64;k 为 32、64、128;损失为与 MLP 输出的均方误差,无辅助损失(第 2.1 节)。
- 自动可解释性由 Llama 3.1 70b 生成解释并打分;fuzzing 与 detection 用 500 个 latent,simulation 用 50 个;激活采集 10M token;Table 1 的 CE 增幅用 0.5M token。SAEBench 的方差解释与 CE 增幅用 OpenWebText 的 500K token(第 2.2 节)。
- 附录 A 报告 SAEBench 的 core、sparse probing 与 absorption,层见表 2–4。Figure 1 的字典宽度为 32768、65536、131072;图注未写模型名。
- 论文未报告 Table 1 分数对应的 MLP 层、实验重复次数和打分阈值,也未在 Table 1 报告 k=128。
Summarize the main content of the paper
作者称 skip transcoder 在可解释性与贴回损失上优于 MLP 输出上的 SAE,建议转向前者。
作者比较 MLP 上的 SAE 与两类 transcoder,主张可解释性研究转向拟合组件功能的稀疏编码。
- 问题:SAE 重建中间激活,不直接描述 MLP 的输入输出。Transcoder 用稀疏瓶颈近似该映射,但稀疏激活对应低秩变换。
- 方法:SST 在 TopK 瓶颈外加仿射跳跃连接。W2 与 W_skip 零初始化,b2 为 MLP 输出均值,开训时是常数函数。损失是 coder 输出与 MLP 输出的均方误差,无辅助损失。k 为 32、64、128。解释与打分用 Llama 3.1 70b。
- 主结果:Table 1 中,SST 的 fuzzing、detection、simulation 高于同设置 SAE,贴回后 CE 增幅更低。pythia-160m、k=32 时,SAE 的 fuzzing 为 74.6%,SST 为 86.4%;CE 增幅分别为 1.10% 与 0.73%。同一行不带 skip 的 ST,CE 增幅为 1.23%,高于 SAE。
- 其他测量:gemma-2-2b 的 L18 上,variance explained 为 SST 81.7%、SAE 20.9%(Table 2)。sparse probing 与吸收的高低因模型和层而异;作者称探测相近、吸收噪声大。Figure 1 图注称 SST 在三种字典宽度上同时有更低的损失增幅和更高的平均 autointerp。
- 作者结论:实验提示应把重心从 MLP 输出上的 SAE 转到 (skip) transcoder。作者认为唯一 downside 是 transcoder 需针对具体组件;把单位矩阵加到 skip 上可得到 residual stream 形式。依据 Balagansky et al. (2024) 关于相邻 FFN 特征不相交的结果,作者建议若要训练多个 coder,应在 FFN 上训练 transcoder,而不是在 residual stream 上训练 SAE。