Transformer是谷歌团队于2017年6月提出的NLP经典,由AshishVaswani等人在论文《 Attention Is All You Need 》中提出。自Transformer出现以来,在NLP、CV、speech、biology、chemistry等领域引起了诸多进步。Transformer在现实世界中的应用越来越广泛,如GPT-3、LaMDA、Codex等.都是基于Transformer架构的。然而,随着基于Transformer的模型的扩展,它们的开放性和高容量为意外甚至有害行为创造了越来越多的空间。即使在训练大型模型多年后,创建者和用户也经常会发现他们以前从未见过的模型问题。解决这些问题的一种途径是机械可解释性,这是转换器计算的逆向工程,有点类似于程序员如何尝试将复杂的二进制文件逆向工程为人类可读的源代码。如果逆向工程是可能的,那么我们就有了一种更系统的方法来解释当前模型的安全问题、识别问题,甚至可能预见尚未构建的未来模型的安全问题。这有点像反转Transformer的黑盒操作,让这个过程可见。此前,有研究人员开发了DistillCircuits线程项目,并尝试对视觉模型进行逆向工程,但迄今为止还没有可与之媲美的transformer或语言模型进行逆向工程研究。在这篇论文中,一篇由25位研究人员共同撰写的论文尝试使用最原始的步骤来反转transformer。该论文由ChrisOlah撰写,他在AnthropicAI安全和研究公司工作,从事逆向工程神经网络研究。目前在DeepMind担任研究工程实习生的NeelNanda对论文初稿进行了重大修改。细节编辑由前StripeTechnologies的NelsonElhage完成,以提高章节的清晰度。左:尼尔·南达;右图:ChristopherOlah考虑到语言模型的复杂度高和规模大,研究发现从最简单的模型开始逆向transformer是最有效的。该研究旨在发现简单的算法模式、主题或框架,然后将其应用于更复杂、更大的模型。具体来说,他们的研究范围只包括只有注意力块的两层或更少层的变压器模型。这与GPT-3等多达96层的Transformer模型形成鲜明对比。论文地址:https://transformer-circuits.pub/2021/framework/index.html#acknowledgments这项研究发现,通过以一种新的但数学上等效的方式概念化变压器操作,我们可以理解这些小模型并深入了解它们的内在运作。值得注意的是,我们发现特定的注意力头(在本文中称为归纳头)可以解释这些小模型中的上下文学习,并且这些注意力头仅在至少具有两个注意力层的模型中开发。.此外,该研究还展示了这些注意力头对特定数据进行操作的一些示例。每章内容概述为探索逆向工程变压器的挑战,研究人员对几个注意力玩具模型执行了逆向函数。第一个是零层变压器模型的二进制统计。研究人员发现可以直接通过权重访问二进制表。在讨论更复杂的模型之前,考虑零层变压器是很有用的。这种类型的模型获取一个标记,将其嵌入,然后再次将其反嵌入以生成预测下一个标记的logits。由于此类模型无法传递其他token的信息,因此它只能从当前token预测下一个token。这意味着W_UW_E的最佳行为是近似二进制对数似然。零层注意力转换器模型。其次,单层注意力转换器是二进制和跳过三元组模型的集合。与零层转换器一样,可以直接通过权重访问二元表和跳过三元表,而无需运行模型。这些跳过三元组的表现力令人惊讶,包括启用非常简单的上下文学习。单层注意力转换器有哪些路径扩展技术?研究人员提供了一些。如下图所示,单层attention-onlytransformers由一个tokenembedding,接着是一个attentionlayer(分别应用attentionhead),最后是de-embedding:使用之前得到的张量表示法(tensornotation)和attention作为head的另一种表示,研究人员可以将transformer表示为三项的乘积,如下图所示:研究人员使用的核心技术是简单地扩展乘积,即变换乘积(每term对应于一个层)到一个sum中,其中每个条目对应于一个端到端的路径。它们表明每个端到端路径项都很好理解,可以独立推理,并且可以堆叠和组合以创建模型行为。最后,双层注意力转换器模型可以使用注意力头的组合来实现更复杂的算法。这些组合算法也可以直接通过权重来检测。值得注意的是,双层模型采用注意力头组合来创建“感应头”,这是一种非常通用的上下文学习算法。具体来说,当attentionhead有以下三种组合选项:Q-combination:W_Q读入一个受前一个head影响的子空间;K-组合:W_K读入一个受前一个头影响的子空间;V-Combine:W_V读取受前一个标题影响的子空间。根据研究人员的说法,Q和K组合与V组合不同。前者都对注意力模式有影响,允许注意力头表达更复杂的模式。当注意力集中在给定位置时,V型组合会影响传输的信息。因此,V型组合头的行为更像是一个单一的单元,可以被视为创建额外的“虚拟注意力头”。对于transformer,有一个最基本的问题,就是“如何计算logits”?与用于单层模型的方法一样,研究人员编写了一个产品,其中每个项都是模型中的一个层,并扩展以创建一个总和,其中每个项都是模型中的端到端路径。其中直接路径项和单头项与单层模型中的相同。最后一项“虚拟注意力头”对应的是V组合。Virtualattentionheads在概念上非常有趣,但在实践中,研究人员发现它们往往无法在小规模的双层模型中发挥重要作用。此外,这些术语中的每一个都对应于模型可以实现更复杂的注意力模式的一种方式。从理论上讲,很难对它们进行推理。但是当讨论归纳头时,它们很快就会用在具体的例子中。
