Circuit Compositions: Exploring Modular Structures in Transformer-Based Language Models¶
会议: ACL 2025
arXiv: 2410.01434
代码: https://github.com/mainlp/circuit-compositions
领域: LLM/NLP
关键词: 机械可解释性, 电路发现, 模块化结构, 连续稀疏化, 子网络组合
一句话总结¶
通过在 PCFG SET 数据集上识别 10 个组合性字符串编辑操作的电路(circuits),研究 Transformer 中功能相关电路之间的模块化关系,发现功能相似的电路具有显著的节点重叠和跨任务忠实度,且电路可以通过集合运算(并集)组合以表示超出单个电路能力的更复杂功能。
研究背景与动机¶
- 领域现状:机械可解释性通过因果介入分析(activation patching)识别语言模型中负责特定行为的最小计算子图——"电路"。已有研究成功识别了间接宾语识别、事实回忆、算术运算等任务的电路。
- 现有痛点:
- 大多数研究仅聚焦于单个任务的电路识别,未探究功能相关电路之间的关系
- 少数比较电路的研究关注的任务间功能相似性有限
- 缺乏对电路"组合性"的系统研究——电路能否像乐高积木一样组合出新功能?
- 核心矛盾:神经网络是否实现了可复用的模块化功能子网络?这些子网络能否组合以执行更复杂的任务?
- 切入角度:选择 PCFG SET 这个高度组合性的字符串编辑任务集(copy, echo, repeat, reverse, swap 等),这些操作之间有明确的功能关系(如 repeat ≈ copy×2),非常适合研究电路的模块化和组合性。
- 核心 idea 一句话:用连续稀疏化方法自动发现 10 个功能相关操作的电路,分析其节点重叠和跨任务忠实度,并展示电路可通过并集操作组合出新的功能能力。
方法详解¶
整体框架¶
训练 encoder-decoder Transformer(~58M 参数)执行 PCFG SET 的所有操作 → 对每个操作用激活剪枝+连续稀疏化识别电路(二值 mask \(\mathbf{m} \in \{0,1\}^N\))→ 评估电路的忠实度、跨任务性能、节点重叠 → 通过集合运算(并集)组合电路并测试新能力
关键设计¶
- 激活剪枝通过连续稀疏化 (Activation Pruning via Continuous Sparsification):
- 做什么:自动发现忠实且最小的电路
- 核心思路:将电路发现表述为优化问题——联合最小化忠实度损失和电路大小
- 用 sigmoid 重参数化二值 mask:\(\sigma(\beta \cdot \mathbf{s})\),\(\beta\) 逐步退火趋向 Heaviside 函数
- 损失:\(\mathcal{L}_{CE}(\text{full model}, \text{circuit output}) + \lambda \|\sigma(\beta \cdot \mathbf{s})\|_1\)
- 设计动机:避免 activation patching 的组合爆炸问题,通过连续松弛实现端到端优化
-
在 Tracr 编译的ground-truth电路上验证,100% 回复所有相关神经元
-
跨任务忠实度分析:
- 评估每个电路在其他任务上的表现(FT 和 accuracy)
-
区分"所有 token 上的忠实度"和"仅在差异 token 上的忠实度",后者更精确
-
电路组合(集合运算):
- 两个电路的并集:\(\mathbf{m}^{T_1, T_2} = \mathbf{m}^{T_1} \cup \mathbf{m}^{T_2}\)
- 使用第一个电路的消融值处理并集外的节点
- 测试组合电路在新任务上是否获得了单个电路不具备的能力
实验关键数据¶
电路性能(忠实度 \(F_T\))¶
| 电路 | 本任务 \(F_T\) | 电路大小 (剩余激活%) |
|---|---|---|
| copy | >0.94 | ~8% (最小) |
| echo | >0.94 | ~15% |
| repeat | >0.94 | ~20% |
| reverse | >0.97 | ~22% |
| prepend | >0.90 | ~39% (最大) |
所有电路在各自任务上 \(F_T > 0.90\)。
电路组合结果(accuracy,单电路→组合电路)¶
| 组合 | 新任务 | 单独 acc | 组合 acc |
|---|---|---|---|
| repeat ∪ reverse | echo | 0% + 0% | 78% |
| swap ∪ reverse | shift | 0% + 0% | 33% |
两个都不能解决 echo 的电路,组合后获得了 78% 的 echo 能力!
节点重叠¶
| 电路对 | IoU | IoM |
|---|---|---|
| reverse-swap | 0.42 | ~0.60 |
| reverse-shift | 0.36 | ~0.60 |
| append-prepend | 高 | 高 |
| copy vs 其他 | 低IoU | 高IoM(copy被包含在其他电路中) |
关键发现¶
- copy 电路是最小的(~8% 激活),且几乎完全嵌入在 echo、repeat、swap 的电路中,说明这些操作在内部复用了 copy 功能
- 功能相似的电路节点重叠高:reverse-swap-shift 三者 IoU 0.36-0.42,IoM ~0.60
- 电路组合可以产生新能力:repeat∪reverse → echo (78%),这是一个重要的"涌现组合性"发现
- copy 电路的局部稀疏性揭示了机制:decoder 中 cross-attention 几乎全部保留,FFN 和 self-attention 几乎全部剪除——符合 copy 任务主要依赖"从 encoder 复制"的直觉
- 更复杂的操作(prepend、append)使用更大的电路(39%),简单操作(copy)用最小电路
亮点与洞察¶
- 电路组合获得新能力是最令人兴奋的发现:两个单独都无法执行 echo 的电路(repeat 和 reverse),通过并集操作获得了 78% 的 echo 准确率。这暗示神经网络中确实存在可复用和可组合的功能模块
- 连续稀疏化的电路发现方法解决了传统 activation patching 的组合爆炸问题,可扩展到更大模型
- copy 电路嵌入在其他电路中的发现支持了"基础操作被复杂操作复用"的假说,是对神经网络模块化的有力证据
- 局部稀疏性分析(哪些层的哪些模块被保留)提供了机制性的理解
局限性 / 可改进方向¶
- 仅在小型 encoder-decoder 模型(58M 参数)上验证,大模型(GPT-2/LLaMA 规模)上的适用性未知
- PCFG SET 是高度受控的合成任务,自然语言任务的电路可能更复杂
- 未保证电路的完备性(completeness)——可能遗漏了一些因果相关的节点
- 消融值(mean vs zero)会显著影响电路识别结果,选择不同消融方式得到不同电路
- 电路组合的并集操作是非对称的(使用第一个电路的消融值),可能引入偏差
相关工作与启发¶
- vs Merullo et al. (2024):他们研究了电路组件跨任务的复用,但未系统地通过集合运算组合电路
- vs Hanna et al. (2024b):他们指出不应仅看电路重叠来判断功能关系,本文同时跟踪忠实度和重叠
- vs Edge Pruning (Bhaskar et al.):边剪枝关注边而非节点,本文用节点级连续稀疏化,通过 Tracr 验证了 100% 回复率
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 电路组合产生新功能的发现具有重要理论意义,是关于神经网络模块化的里程碑式工作
- 实验充分度: ⭐⭐⭐⭐ Tracr 验证、10 个操作、跨任务分析、节点重叠、组合实验,但模型规模受限
- 写作质量: ⭐⭐⭐⭐⭐ 数学形式化清晰,实验设计严谨,可视化丰富
- 价值: ⭐⭐⭐⭐ 对机械可解释性领域有重要理论贡献,为理解神经网络的模块化和组合性提供了新工具