Explaining Attention with Program Synthesis(用程序合成解释注意力机制)
图1:四步法流水线——提取注意力矩阵 → LLM 合成 Python 程序 → 排序筛选 → 因果替换验证。
问题与动机
深度学习可解释性(interpretability,即理解神经网络内部在"算什么")的长期目标是用人类可理解的符号描述替代不透明的神经计算。现有方法主要有两条路线:自上而下(训练探针检测预定义概念)和自下而上(用自然语言描述神经元激活模式)。但前者依赖人类先验定义的概念,后者产生的自然语言解释本身也可能模糊、难以形式化验证。
MIT CSAIL 团队的核心洞察是:可执行程序(executable programs) 天然处于"十亿参数黑箱"和"自然语言解释"之间的甜区——既人类可读,又可被形式化验证,还能直接替换神经组件进行因果检验。他们聚焦于 Transformer 中的注意力头(attention head,即决定每个 token 关注哪些其他 token 的计算单元),因为注意力头是理解模型内部信息流动的关键入口。
方法要点
整体流程可概括为"提取 → 合成 → 排序 → 替换"四步:
(1)注意力模式提取。 对目标模型(GPT-2、TinyLlama-1.1B、Llama-3B、BERT-base)中的每个注意力头,在一组训练样本上记录其注意力矩阵(即每个 token 对每个其他 token 的"关注权重"),保留前 2.5% 最显著的 token 对交互。
(2)LLM 驱动的程序合成。 将过滤后的注意力模式格式化为约 4,000 token 的结构化文本提示,输入给一个"解释器"语言模型(Claude Sonnet 4),要求它生成能仅凭输入文本重现这些注意力模式的 Python 程序。程序可调用 NumPy、spaCy 和 NLTK 等库。首轮生成后,用 Jensen-Shannon 距离(JSD,衡量两个概率分布相似度的指标)选出最优和最差案例,构造对比反馈,再让解释器做一轮修正。
(3)重排序。 对所有候选程序在留出数据上计算 IoU(Intersection-over-Union,交并比)相似度,选出每个头的最佳拟合程序。值得注意:为某个头合成的程序("目标程序")往往不如从整个程序库中跨头搜索到的"最佳程序"——说明某些程序足够通用,可以近似多个头。
(4)因果替换验证。 在模型前向传播中,直接用程序输出替换神经注意力矩阵,测量困惑度(perplexity,衡量模型预测不确定性的指标)变化和下游任务表现。这是最关键的一步:不仅看相似度数字,还要看替换后模型还能不能正常工作。
证据
实验覆盖四个模型架构(BERT-base 144 头、GPT-2-small 144 头、TinyLlama-1.1B 704 头、Llama-3B 672 头),在 TinyStories 数据集上生成程序,在六个下游基准(HellaSwag、PIQA、SciQ、ARC-Easy、Social IQA、COPA)上评估替换效果。
主结果:
- 注意力对齐:基于不足 1,000 个程序的库,在 TinyStories 上实现平均 IoU 相似度 > 75%。自回归(因果)模型的拟合质量显著优于双向模型 BERT,且随着模型规模增大,IoU 分数提升:GPT-2 均值 69%、TinyLlama-1.1B 均值 74%、Llama-3B 均值 79%。
- 因果替换:按 IoU 从高到低贪婪替换注意力头,替换 25% 的注意力头仅导致约 16% 的平均困惑度增加;替换 30–40% 的注意力头后,下游问答任务表现仍无明显退化。IoU 分数与替换后困惑度增加之间的 Spearman 相关系数在所有模型上均 > 0.9。
- 定性发现:程序自动聚类为六类(首 token 注意力、句法、话语等),早期层以"首 token 注意力"程序为主,中间层以句法程序为主——与先前关于 BERT 层功能分化的发现一致。
- 成本:整个程序库(1,664 个程序,覆盖四个模型的所有头)使用 Claude Sonnet 4 约 $150 API 费用生成。
局限与边界
- 覆盖不全:仍有大量注意力头 IoU 低于 40%,尤其 BERT 的双向注意力更难被符号化近似。
- 程序复杂度有限:许多高分程序并不复杂(如"始终关注首 token"),可能更接近"剪枝效应"而非完整解释。
- 仅关注注意力模式:未解释 value 投影和后续 FFN 层的计算,解释的是"模型在看哪里"而非"在看什么"。
- 模型规模:仅在 GPT-2 到 Llama-3B 规模验证,尚未在更大模型上测试。
一句话 Takeaway
Transformer 中相当一部分注意力头可以用不足 50 行 Python 代码替换而几乎不影响模型表现——这意味着"神经网络黑箱"并非铁板一块,用程序合成做可解释性是一条可规模化、可因果验证的路径。
原文:Explaining Attention with Program Synthesis(arXiv:2606.19317v1,2026-06-17 提交,MIT CSAIL,3 位作者)
https://arxiv.org/abs/2606.19317


