论文

用程序综合解释注意力

Explaining Attention with Program Synthesis

模型评测模型行为与机制分析

摘要

可解释深度学习研究的一个长期目标是用对人类有意义的符号描述取代不透明的神经计算。在本文中,我们提出了一种用可执行程序来近似深度网络组件行为的方法。我们关注 Transformer 语言模型中的注意力头。对于给定的头部,我们首先在随机选择的训练示例集合上计算其相关的注意力矩阵。接下来,我们用这些矩阵的摘要来提示预先训练的语言模型,并指示它生成一组 Python 程序,这些程序可以在仅给定输入句子中的文本的情况下重现相关的注意力模式。最后,我们根据最终的一组程序对保留输入的行为的预测程度对程序进行重新排序。我们证明,一组少于 1,000 个此类生成的程序可以重现 GPT-2、TinyLlama-1.1B 和 Llama-3B 中头部的注意力模式,在 TinyStories 上实现平均 Intersection-over-Union 相似度高于 75%。此外,最适合的程序可以替换神经注意力头,而不会显着影响模型行为:在三个模型中,用程序化代理替换 25% 的注意力头只会导致平均困惑度增加 16%,同时保持各种下游问答基准的性能。这项工作使用人类可读的可执行代码为 Transformer 模型中的逆向工程注意力头提供了一个可扩展的管道,从而推进了神经模型符号透明的道路。