CircuitLasso:不用反复干预,也能学出 SAE feature circuit?1×0:0012:370:08开场1:19为什么旧方法会卡住2:48CircuitLasso 到底在学什么4:25第一个实验:便宜,但是否准5:45第二个实验:把 circuit 搬到 SAE feature 空间8:10第三个实验:这些 circuit 能不能帮忙做事9:41这篇论文放在领域里怎么读11:18收尾0:08主持人今天这篇论文想解决一个很现实的问题:我们已经有了 SAE feature,也想把模型行为画成 circuit,可一旦真的按 feature 级别去做干预,维度太高,成本直接爆掉。所以作者换了一个问题问法:能不能先别急着 patch,先用观测到的激活,把 circuit 的骨架学出来?0:29嘉宾这就是 CircuitLasso 的切入点。它不是说干预不重要,而是说如果目标是找到「哪些组件大概率连着哪些组件」,也许不必先做成千上万次 counterfactual intervention。先用稀疏线性回归筛出依赖骨架,再把最有意义的部分拿去验证,可能更合算。0:53主持人这篇论文新提交在二零二六年六月十五号,也被 ICML 二零二六的 Mechanistic Interpretability Workshop 接收。它和我们前几期讲的 SAE、transcoder、attribution graph 正好接上:前面的问题是「feature 能不能解释」,这期的问题是「feature 和 feature 之间的计算关系能不能便宜地学出来」。1:19嘉宾先说背景。传统 circuit discovery 常用 activation patching、causal tracing、edge attribution patching 这类方法。它们的优点是因果语义比较清楚:你改一个组件,看输出或中间表示怎么变。但代价也明显,每条边、每个节点、每组 prompt 都可能要额外 forward,甚至 backward。1:44主持人如果我们只在 attention head 或 MLP neuron 这种较粗粒度上做,还能忍。可 SAE 把一个原始激活空间拆成成千上万个 feature。feature 更接近人能读懂的概念,比如语法、情绪、主题词、某类实体;但维度一下子上去了,干预式方法就开始吃不消。2:21嘉宾作者的判断很直接:polysemantic neuron 让 circuit 难解释,SAE feature 让 circuit 好解释;可是 SAE feature 太多,又让 circuit 难计算。CircuitLasso 就是夹在这两个需求中间的折中方案。它牺牲一点精确的因果解释,换来可扩展的结构发现。2:48主持人方法本身可以用一句话概括:把不同层、不同组件的激活排成一个大矩阵,然后用 Lasso 学一个稀疏邻接矩阵。矩阵里某个系数不为零,就表示前面的组件对后面的组件有一个强线性依赖。这里的「前后」来自 transformer 的计算顺序。3:10嘉宾对,这个计算顺序很关键。作者没有真的去解一般有向无环图,那会很贵。他们利用 transformer 前馈结构,规定早的 layer 只能指向晚的 layer,于是邻接矩阵变成块上三角。这样无环约束就不用额外求解,问题退化成一堆更容易优化的稀疏回归。3:35主持人听起来像 causal discovery,但作者其实很谨慎。他们反复强调,这不是严格的结构方程模型。LLM 不是线性系统,残差流、LayerNorm、attention、MLP 都不是这套公式能完整表达的。这里的线性模型只是一个 surrogate,一个用来找依赖骨架的一阶近似。3:58嘉宾这点很重要。CircuitLasso 的边权不是「真实因果效应大小」。更准确地说,它告诉你:在当前收集的激活、当前选定的组件范围里,哪些关系是强到值得保留的。它像一张低成本地图,地图上画的是最可能有用的路,不等于已经证明每条路都能通车。4:25主持人论文先在 InterpBench 上做 sanity check。InterpBench 有八十六个带真实 circuit 标注的半合成 transformer,作者使用其中十六个主要合成案例,加上一个真实的 IOI,也就是 indirect object identification 任务。评价指标是结构汉明距离,越低越好;效率用单张 A 一百上的 runtime。4:50嘉宾结果挺清楚。CircuitLasso-linear 的平均结构汉明距离是三点一六,EAP-ig 是二点九八,统计上没有显著差异;EAP 是三点六一。也就是说,结构恢复质量基本站在最强干预基线旁边。runtime 则是十六点三秒,EAP-ig 是四十九点一秒,EAP 是三十三点七秒。5:19主持人也就是线性版 CircuitLasso 大约比 EAP-ig 快三倍,比 EAP 快两点一倍。作者还试了非线性版,结构汉明距离降到二点八四,略好一点,但 runtime 是线性版的三点七倍,多数情况下比 EAP-ig 还慢。这个结果反而支持他们的选择:如果只想找骨架,线性代理已经够用了。5:45嘉宾真正有意思的是第二部分。作者把 CircuitLasso 用在 GPT-2 small 的 SAE feature 上,任务是 CoLA,也就是句子语法可接受性判断。CoLA 有一万零六百五十七个来自语言学出版物的句子,公开训练集里有八千五百五十一条。作者说这是 CoLA 第一次被用在 mechanistic interpretability 的案例研究里。6:13主持人流程是这样的:先取每个 transformer block 输出位置的激活,再通过预训练 SAE 得到每层 feature。然后学相邻层之间的 feature 邻接矩阵,也学最后一层 feature 到预测目标的稀疏系数。最后从最重要的最终层 feature 往回追,画出跨层树形路径。6:46嘉宾这些路径有几类现象。第一是 persistence,某个语义概念会沿着多层持续存在,比如论文里提到「-self」相关 feature 从第十二层一路往前追到第八层。第二是 merging 和 dropping:后层 feature 会合并多个父 feature 的概念,也会丢掉一部分父概念。7:11主持人这听起来像我们希望 SAE circuit 给出的东西:不是一个抽象的 neuron 编号,而是「这个语义概念怎样跨层传播、哪里被拆开、哪里被合并」。它比单个 feature 的 top activating examples 多了一层结构信息。7:42嘉宾但论文也没有把它说得太满。作者观察到一些路径会出现「人类语义上反因果」的方向,比如 hunger 和 eat 的关系;也会捕捉到训练数据里的虚假相关,比如「-self」和「hunger/thirst」的共现。换句话说,这张 circuit 图既可能揭示机制,也可能揭示数据偏差。8:10主持人作者还做了一个 utility demonstration,用 Bias-in-Bios 测试领域泛化。这个数据集的训练集里职业和性别有虚假关联,平衡测试集里职业和性别独立。任务是预测职业,同时尽量不要让预测表示泄漏性别。8:30嘉宾他们在 Pythia 七千万、Gemma 二二B、Gemma 二九B 上用预训练 SAE。CircuitLasso 根据 feature 到职业目标的系数排序,人工识别性别相关的 spurious feature,把它们置零,再看分类效果。和 shift 方法相比,CircuitLasso 选中特征数量略少,runtime 大幅下降。8:55主持人具体数字很直观。Pythia 七千万上,shift 是二百五十七点六秒,CircuitLasso 是三十六点五秒;Gemma 二二B 上,三百七十一点二秒对四十七点二秒;Gemma 二九B 上,九百零八点四秒对一百零七点四秒。模型越大,省下来的时间越明显。9:17嘉宾性能上,CircuitLasso 和 CircuitLasso-retrain 大体接近最强的非 oracle 基线,有些列还略好。作者没有把这说成核心贡献,他们很克制地说,准确率优势可能只是因为 SAE feature 粒度更细。核心贡献仍然是:用更便宜的方式找到可操作的 feature 集合。9:41主持人我觉得这篇论文最有价值的地方,不是发明了一个复杂模型,而是把 circuit discovery 的成本结构讲清楚了。Anthropic 的 per-prompt attribution graph 很强,适合追一个具体输入的计算链。但如果你要理解一个数据集层面的行为,或者要找一类可以编辑的 feature,population-level skeleton 反而更合适。10:04嘉宾论文也明确把 CircuitLasso 放在这个位置:它不是 per-prompt graph 的替代品,而是互补工具。per-prompt 方法回答「这一个输入为什么这样输出」;CircuitLasso 回答「这批数据里,哪些 feature 之间反复出现稳定依赖」。这两个问题都重要,只是粒度不同。10:27主持人它也和前几期的 SAE 讨论形成一个有趣闭环。EP008 里我们说,SAE 的强项不是执行你已经知道的概念,而是发现未知概念。那这篇论文往前走一步:发现 feature 之后,还要问这些 feature 如何连接,哪些关系稳定,哪些可能只是数据里的共现。10:50嘉宾不过局限也要放在台面上。第一,线性代理不是精确因果模型,边权不能直接当真实 causal effect。第二,block upper triangular 依赖 transformer 的前馈顺序,遇到带层内反馈的架构就没法直接套。第三,残差流和 SAE 重建误差都意味着因果充分性只是近似成立。11:18主持人所以这期的结论很简单:CircuitLasso 把 circuit discovery 从「先做很多昂贵干预」改成「先用稀疏回归学一张低成本结构图」。它不解决所有因果问题,但它让 SAE feature circuit 更容易跑起来,也让后续验证更有目标。11:39嘉宾如果你在做 mechanistic interpretability,这篇论文值得关注的不是 Lasso 这个名字,而是它给出的工作流:先低成本找到 dependency skeleton,再用消融、patching 或下游任务验证关键边。对于越来越大的模型和越来越高维的 SAE feature,这种分层流程可能会变成标配。12:06主持人本期就到这里。下一期如果没有更新的高质量论文,我们可能会接着看 feature universality 或 circuit validation 相关工作。它们都在回答同一个更大的问题:我们画出来的 feature 和 circuit,到底是模型真的在用的结构,还是我们为了理解模型而临时搭的脚手架。
このコンテンツについて、さらに観点や背景を補足しましょう。