大语言模型在自然语言处理方面表现出令人印象深刻的能力。然而,大模型内部机制仍然不明确,其缺乏透明度的黑盒特性给下游应用带来了不确定的风险。因此,理解并解释LLM内部的运行机制对于设计更好的模型结构,提高模型在下游任务上的表现性能十分重要。本文将介绍大模型可解释性的几种研究方法和相关论文。
1. 回路分析
回路分析方法通常假设模型里面的只有部分的参数是重要的,因此可以将模型简化为一个稀疏的电路。那么具体如何去找这个电路呢?比较通用的方法是构建计算图,论文[1]定义了一个比大小的简单任务,并通过构建计算图来理解大模型对于数值比较的内部机制,该方法视模型内各层的注意力头和前馈神经网络为计算图的基本节点,并通过观测节点对于预测结果的影响来定影计算图的边,具体来讲,对于特定的节点,我们会观测移除该节点前后语言模型预测 logits 的变化,如果对预测结果影响不大,那么就认为该节点对该能力没有贡献,并在计算图中去除与该节点关联的边,经过迭代遍历后,就能得到最终的计算图。该论文用测试集进一步验证了构建回路的正确性,即发现如果对计算图中的重要节点所在的边进行干预的话,会使模型在下游相关任务上的性能显著下降,而如果干预不重要的模型模块,那么性能表现变化则不明显。
论文[2]也采用了类似方法,探索了不同任务下的模型内部的知识回路构建,并探究了不同场景下(如知识编辑、幻觉、上下文学习)知识回路的变化,例如,作者通过不同知识编辑方法下模型内部知识回路的变化发现,对模型内部参数进行直接编辑很可能会影响与之无关的知识回路,进而导致意料结果的的偏差,而通过对比不同上下文场景下知识回路的变化,作者发现合理的示范示例有助于激活模型内部与任务相关的知识回路,进而提高模型在下游任务中的性能表现。
此外,还有一些别的类似研究,如论文[3]介绍了一种自动建立回路的方法、论文[4]通过对比原模型和微调后模型的回路,发现微调通过增强推理时的相关机制来提高模型在下游任务上的性能。总结来说,这类方法通常以模型某层的注意力头或者前馈神经网络作为基本模块,通过搭建计算图来解释模型处理相关任务时内部各模块的功能和他们各自之间的相互作用。
2. 因果追踪
因果追踪核心思路是是追踪模型在处理数据时的因果链路,即输入变量如何通过一系列中间变量影响最终输出,以分析模型中对于输出贡献较为重要的模块。通过逐层追踪输入在模型内部的传播链路,我们可以分析模型中每个中间状态(如某些隐藏层的神经元激活)如何影响最终输出。
大部分这类工作的方法起源于ROME[5],这篇工作通过因果追踪的方法,识别并定位了模型在处理事实语句过程中事实关联在模型内部所处的位置,并提出了一种称为ROME的方法,该方法能够通过对MLP模块进行微小的修改,来精确编辑模型内事实关联知识,并使模型在不同语境下都能正确应用编辑后的知识。实验证明,ROME修改后的模型具有很好的专一性和泛化性,这表明模型真正理解了新知识,而不是对新信息的简单重复。
受ROME启发,Memit[6]在其基础上进一步提出了一种能够同时为大模型注入大量知识的方法,ROME揭示了模型知识的储存与提取主要发生在中间层的MLP层中,因此该方法主要聚焦于对中间层的MLP进行操作,从而达到向大模型注入知识的目的。进一步的,为了防止模型发生遗忘,Memit额外增加了模型参数关于原有知识的约束。这样编辑后得到的模型仍然能够保留对原有知识的记忆。
此外,还有很多其他类似研究,例如,论文[7]将适用于transformer模型的因果追踪方法的模型拓展到了Mamba上,并得出了类似结论,论文[8]以信息流的视角研究模型内部如何聚合主语和关系信息以检索和提取内部的知识,并分析模型各个模块在预测next token中的作用,论文[9]探究了大模型进行算数运算时的内部信息的流动过程,这篇论文通过对注意力头进行干扰以及对内部神经元进行对比分析的方法定位算数运算中的重要参数。
总结来说,因果追踪的实现方法多种多样,但主要思路是通过干预来测试和验证模型内部的因果关系,通常包括以下步骤:
(1)在模型中选择一个或多个中间变量,这些变量通常为输入和输出之间潜在的因果桥梁。
(2)对选择的中间变量进行干预。
(3)观察并对比模型在无干预的正常情况下和进行了干预的情况下的输出的差异,如果变化明显,那么相关的中间变量和最终输出很可能具有因果关系。
3.unmbedding space投影
论文[10]指出,transformer 中的前馈神经网络 ffn 的作用可视为根据 key vector 计算获得的系数将 value vector 进行线性组合,其中 value vector 对应了特定的token概率分布,key vector 用于计算概率分布的激活值。自然而然的,我们会想到,将 ffn 层的向量投影到unmbedding space上或许能获得一些较强的可解释性信息,论文[11]对这一观点进行了实验探究,它将每个token表示看作词汇表上不断变化的分布,每个FFN层将会对该分布进行加性更新。具体来说,token 进入 FFN 层前后的表达式为 output=input+FFN(input) ,因此FFN层的输出则为对词汇表的更新,但是这个更新解释性较差,因此作者考虑在此基础之上将其分解为更小的子更新,即将各层的value vector投影到unmbedding space,并根据靠前的token对其进行concept标注(但注意并不是所有value vector都能标注concept),然后观察FFN层中value vector对应的logit分布变化对最终预测 token的影响。进一步的,论文[12]发现除了ffn层,模型内部的其他参数也可以投射到token空间中,这篇工作推导出一种简单的理论框架来支持所提出的论点,并证明训练和微调模型的参数都可以在嵌入空间中得到解释。
总结来说,这种方法通常情况下能对模型中间层隐表征的变化有不错的可解释性,但是并非在所有条件下都能适用,比如浅层的相关表征一般不具备较好的可解释性,且模型内部同一个neuron-level参数可能具有多个作用,不能简单将其解释为单一的concept。
参考文献
[1] Hanna M, Liu O, Variengien A. How does GPT-2 compute greater-than?: Interpreting mathematical abilities in a pre-trained language model[J]. Advances in Neural Information Processing Systems, 2024, 36.
[2] Yao Y, Zhang N, Xi Z, et al. Knowledge Circuits in Pretrained Transformers[J]. arXiv preprint arXiv:2405.17969, 2024.
[3] Conmy A, Mavor-Parker A, Lynch A, et al. Towards automated circuit discovery for mechanistic interpretability[J]. Advances in Neural Information Processing Systems, 2023, 36: 16318-16352.
[4] Prakash N, Shaham T R, Haklay T, et al. Fine-tuning enhances existing mechanisms: A case study on entity tracking[J]. arXiv preprint arXiv:2402.14811, 2024.
[5] Meng K, Bau D, Andonian A, et al. Locating and editing factual associations in GPT[J]. Advances in Neural Information Processing Systems, 2022, 35: 17359-17372.
[6] Meng K, Sharma A S, Andonian A, et al. Mass-editing memory in a transformer[J]. arXiv preprint arXiv:2210.07229, 2022.
[7] Sharma A S, Atkinson D, Bau D. Locating and editing factual associations in mamba[J]. arXiv preprint arXiv:2404.03646, 2024.
[8] Geva M, Bastings J, Filippova K, et al. Dissecting recall of factual associations in auto-regressive language models[J]. arXiv preprint arXiv:2304.14767, 2023.
[9] Yu Z, Ananiadou S. Interpreting arithmetic mechanism in large language models through comparative neuron analysis[J]. arXiv preprint arXiv:2409.14144, 2024.
[10] Geva M, Schuster R, Berant J, et al. Transformer feed-forward layers are key-value memories[J]. arXiv preprint arXiv:2012.14913, 2020.
[11] Geva M, Caciularu A, Wang K R, et al. Transformer feed-forward layers build predictions by promoting concepts in the vocabulary space[J]. arXiv preprint arXiv:2203.14680, 2022.
[12] Dar G, Geva M, Gupta A, et al. Analyzing transformers in embedding space[J]. arXiv preprint arXiv:2209.02535, 2022.
(文:机器学习算法与自然语言处理)