语言模型激活修复的最佳实践:度量与方法
激活修补是一种流行的机械解释技术,但在应用和解释结果方面存在许多细微之处。我们根据使用这种技术的经验提供了建议和最佳实践的摘要,包括不同的激活修补应用方式的概述及结果解释的讨论。我们着重介绍激活修补实验对电路的提供的证据以及度量选择及相关陷阱。
Apr, 2024
本文介绍了一种名为 “路径修补” 的技术,通过该技术可以对神经网络的本地化行为进行量化测试,从而分析网络机制和可能的故障模式,并通过对 GPT-2 的行为进行表征来优化了归纳头的解释,并开源了一个运行类似实验的框架。
Apr, 2023
机械性可解释性旨在通过特定的可解释特征来理解模型行为,最近的研究探讨了亚空间干预作为同时操纵模型行为和将特征归因于给定亚空间的方式。然而,我们证明了这两个目标是不同的,可能会导致一种虚假的解释感觉。即使亚空间干预使模型的输出表现得好像特征的值发生了变化,但这个效果可能是通过激活一个与模型输出因果断开的并行路径来实现的。我们在数学示例、两个真实领域(间接对象识别任务和事实回忆)中展示了这一现象,并呈现了实践中支持该现象普遍存在的证据。然而,这并不意味着亚空间激活干预在可解释性方面本质上不适用。为了将我们的发现置于背景中,我们还展示了在一项任务(间接对象识别)中的成功案例,其中以前的手动电路分析为理解特征的位置提供了信息。我们探讨了需要的额外证据来论证修补的亚空间是否忠实。
Nov, 2023
Activation Patching 是一种直接计算行为因果归因于模型组件的方法,但全面应用需要成本与模型组件数量线性增加,对于 SoTA 大型语言模型来说成本过高。我们调查了 Attribution Patching(AtP),这是一种基于梯度的快速近似方法,发现了两类 AtP 失败模式,会导致显著的假阴性。我们提出了 AtP * 的变体,通过两个改进解决了这些失败模式同时保持可扩展性。我们首次系统性地研究了 AtP 和其他更快的激活修补方法,并证明 AtP 明显优于所有其他研究方法,而 AtP * 提供了进一步显著的改进。最后,我们提供了一种限制 AtP * 估计的假阴性概率的方法。
Mar, 2024
本文探讨了将计算语言学等其他领域的机器学习模型用于软件工程任务的现象,特别针对代码修复任务所面临的挑战,并通过基于本身特点的原则性模型设计以及条件编辑代码综合方案的实现与效果验证,展示了如何优化这些模型,提高其效果,促进领域的进一步创新。
Aug, 2020
基于稀疏字典学习和机制解释性,提出了一种电路发现框架,用于从模型激活中提取更多人可理解的特征。该框架能够识别连接大量字典特征的电路,并在渐近复杂度方面具有更高的效率。在合成任务 Othello 的小型 Transformer 中,发现了许多人可理解的细粒度电路。
Feb, 2024
使用 Patchscopes 框架可以解释大型语言模型的内部表示,统一之前的解释技术并扩展新的应用,如使用更强大的模型来解释较小的模型的表示和多跳推理中的自我校正。
Jan, 2024
基于梯度的度量方法探索了大型语言模型内部的参数激活程度,发现参数在浅层被密集激活,而在深层被稀疏激活;当输入跨越不同领域时,浅层参数的激活行为更相似;在深层,参数的激活分布与实际数据相关性呈正相关;进一步验证了这些发现,并期望能在实际应用中产生更多启发。
May, 2024
本文提出了一个完整的框架,将基于概念的解释性方法扩展到 NLP 领域, 提出了一种后期解释性方法,从预训练模型的隐藏层激活中提取具有预测高水平特征(概念),优化具有高影响力的特征的存在,设立了多种评估指标。在真实和合成任务上的广泛实验表明,与基线相比,我们的方法在预测影响、可用性和忠实度方面都取得了卓越的结果。
May, 2023