用程序合成解释注意力
Explaining Attention with Program Synthesis
精选理由
将注意力头反编译为可执行程序,让研究者更直观地理解并替代部分神经网络计算。
AI 摘要
arXiv:2606.19317v3 公告类型:替换 摘要:可解释深度学习研究的一个长期目标,是用人类可理解的符号化描述取代不透明的神经计算。本文提出一种用可执行程序近似深度网络组件行为的方法。我们聚焦于 transformer 语言模型中的注意力头。对于给定的注意力头,我们首先在一组随机选取的训练样本上计算其对应的注意力矩阵。接着,我们将这些矩阵的摘要作为提示输入预训练语言模型,并指示它生成一组 Python 程序,使其仅根据输入句子的文本就能复现相应的注意力模式。最后,我们根据程序对留出输入上行为的预测效果,对程序重新排序。我们证明,一组不到 1,000 个此类生成程序就能复现 GPT-2、TinyLlama-1.1B 和 Llama-3B 中注意力头的注意力模式,在 TinyStories 上达到超过 75% 的平均交并比相似度。此外,拟合效果最佳的程序能够替代神经注意力头,而不会显著影响模型行为:在这三个模型中,用程序化替代方案替换 25% 的注意力头,仅导致困惑度平均增加 16%,同时保持了在多种下游问答基准上的性能。这项工作提供了一套可扩展的流程,利用人类可读的可执行代码对 transformer 模型中的注意力头进行逆向工程,推动神经模型朝着符号层面的透明性迈进。