稠密智能编码器 (SAE) 最远因机器学习模型的可解释性而变得盛行(虽然SAE自 1997 年以来不时存在)。机器学习模型正在使LLMs变得越来越弱小和有用,但它们依然是黑匣子,如何看穿LLM的灵魂,且若能了解它们是如何上班的,那关于大模型的退化有足够的协助和启表示义。
经常使用SAE,可以开局将模型的计算合成为可了解的组件。本文将简介的引见下SAE的上班原理,而后读者可以回头去温习“大模型的灵魂解读:Anthropic AI的Claude3 Sonnet可解释性钻研”,应该愈加深有感受。
1.智能编码器
神经网络最人造的组成局部是单个神经元。单个神经元并不对应于单个概念。言语模型中的任何概念,例如学术援用、英语对话、HTTP 求和韩语文本都是神经单元的叠加,或许换句话说是神经元的组合表示。
发生这种现象的要素或许是由于环球上存在的很多变量是稠密的。例如,一个名人的出世地或许不到十亿分之一的训练Tokens,LLMs在训练的环节中把握了这点,加上训练的Token远远大于神经元的数量,因此人造而然就会启动叠加表示。
稠密智能编码器最近作为一种将神经网络合成为可了解组件的技术而广受欢迎。SAE 的灵感来自神经迷信中的稠密编码假说。幽默的是,SAE是解释人工神经网络的最有出路的工具之一。SAE 相似于规范智能编码器。
惯例智能编码器是一种神经网络,旨在紧缩而后重建其输入数据。例如,它可以接纳一个 1000 维向量(1000个数字的列表)作为输入,经过编码器层馈送该输入以将输入紧缩为512维向量,而后经过解码器馈送紧缩编码表示以发生1000维输入向量。重建理论是不完美的,由于紧缩环节会有消息损失。
稠密智能编码器将输入向量转换为两边向量,该两边向量的维度可以高于、等于或低于输入。当运行于LLM时,两边向量的维度理论大于输入的维度。在这种状况下,假设没有额外的解放,义务就很便捷。
SAE可以经常使用单位矩阵完美地重建输入,作为额外的解放,在训练环节中的损失函数中参与了稠密性处罚,这会疏导SAE创立稠密两边向量。例如,可以将1000维输入裁减为200维编码表示向量,并且可以训练SAE使其在编码表示中仅蕴含约20个非零元素。
上图中彩色的方块代表着稠密的激活值
将SAE运行于神经网络中的两边激活,神经网络可以由许多层组成。在前向传递时期,每层外部和之间都有两边激活。例如,GPT-3有96 层。在前向传递时期,输入中的每个标志都有一个12,288 维向量(蕴含 12,288 个数字的列表),该标志从一层传递到另一层。此向量累积了模型在每一层处置下一个Token时用于预测下一个Token的一切消息,但它是不透明的,很难了解其中蕴含哪些消息。
若经常使用SAE来了解这种两边激活的方法如下:SAE基本上是一个矩阵 -> ReLU 激活 -> 矩阵。例如,假设GPT-3 SAE的裁减因子为4,则输入激活为12,288维,SAE的编码表示为49,512 维 (12,288 x 4)。
第一个矩阵是状态的编码器矩阵(12,288,49,512),第二个矩阵是状态的解码器矩阵(49,512,12,288)。经过将GPT的激活与编码器相乘并运行 ReLU,咱们生成了一个 49,512 维的SAE编码表示,该表示是稠密的,由于 SAE 的损失函数处罚了稠密性。
理论的目的是在SAE的表示中少于 100个数字为非零。经过将SAE的表示与解码器相乘,咱们发生了一个12,288 维重建的模型激活。这种重建并不齐全婚配原始的 GPT 激活,毕竟这么一折腾,消息会有所失落。
如今只在模型中的一个位置训练单个SAE。例如,可以在第25层和第26层之间的两边激活上训练单个 SAE。为了剖析 GPT-3 中一切96层的输入中蕴含的消息,可以训练 96 个独自的SAE——每层一个。
上图说明了这个环节,是拿激活值进去训练。原激活值经过与编码矩阵相乘,之后经过激活函数,而后获取稠密表示,最后经过解码矩阵恢复。
假设还想剖析每层中的各种两边激活,这将须要数百个SAE。对这些SAE的训练数据来自经过 GPT 模型提供各种文本并搜集每个选定位置的两边激活(样本)。
2.配置
SAE表示的每个优惠数字都对应于可以了解的组件。假定12,288 维向量对 GPT-3 [1.5, 0.2, -1.2, ...] 来说象征着“桥”。SAE 解码器是状态矩阵 (49,512, 12,288),但咱们也可以将其视为49,512个向量的汇合,每个向量都是状态(1, 12,288)。假设SAE解码器向量519学习了与GPT-3相反的“桥”概念,则解码器向量将近似等 [1.5, 0.2, -1.2, ...]。每当 SAE 激活的元素 519不为零时,就相当于对应“桥”的向量。下面形容了SAE的上班原理,用专业的术语来讲就是“解码器对应于残差流空间中特色的线性表示”。
特色519代表什么?目前的做法是只看那些能最大限制地激活配置的输入,并对其可解释性做出直觉反响。每个配置激活的输入理论是可解释的。例如, Anthropic在Claude Sonnet 上训练了SAE,并发现了独自的 SAE配置,这些配置可以在与金门大桥、神经迷信和抢手旅行景点相关的文本和图像上激活。其余配置在不太显著的概念上激活。
这里值得一提的是,在少量的激活值下面启动训练,经过稠密矩阵确实可以显著看到一些特色,由于这个向量大局部的数值都为0了。经过钻研Decoder矩阵就可以钻研大模型在学习某个常识的时刻,究竟是如何死记硬背的。
假设存在基于特定主题激活的神经元,那么激活某些神经元能否会强迫生成这些主题?回忆一下AutoEncoder结构,虽然同时领有编码器和解码器,但在训练后,只要编码器用于将激活向量转换为字典向量。能否可以经常使用解码器从所选特色重建激活向量?换句话说,能操纵神经元吗?答案可以用 Anthropic 的一句话来概括:“稠密的自编码器配置可用于干预和控制变压器的生成。”下图独自操纵神经元以成功不同的结果。
由于 SAE 解码器向量与LLMs两边激活的状态婚配,因此可以经过便捷地将解码器向量参与到模型激活中来口头因果干预。这里经过将解码器向量乘以比例因子来缩放干预的强度。当人类学钻研人员将金门大桥SAE解码器向量参与到大模型的激活中时,大模型不得不每次回复中都提到金门大桥。
如何评价SAE,目前存在L0和Loss Recovered两个目的。L0是SAE编码中非零元素的平均数。Loss Recovered是用重建的激活交流GPT或许其余大模型的原始激活并测量不完美重建的额外损失。这两个目的之间理论存在跷跷板效应,须要启动权衡,。毕竟SAE会选用降低重建精度以参与稠密性。
许多新的SAE方法,例如Deepmind的门控SAE和OpenAI的TopK SAE,都修正了稠密性处罚以改善这种权衡。
下图来自 Google Deepmind的Gated SAE 论文,它引入了门控稠密智能编码器 (Gated SAE),它比经常使用盛行方法的训练成功了帕累托改良。在 SAE 中,用于处罚稠密性的 L1 处罚引入了许多不良偏向,例如收缩 - 系统性地低估特色激活。门控 SAE 分别 “确定经常使用哪些方向”和“预计这些方向大小的配置”。这使得在典型的超参数范畴内处置了收缩疑问,具备相似的可解释性,并且只要要一半的触发特色即可成功相当的重建保真度。
门控SAE的红线更接近图表的左上角,这象征着在这种权衡中体现更好。
3.运行
上图展现一种钻研方法,a) 对言语模型的外部激活启动采样,无论是残差流、MLP 子层还是留意头子层;b) 经常使用这些激活来训练神经网络,稠密智能编码器,其权重构成特色字典<留意是Decoder Matrix!!>;c) 经常使用诸如 OpenAI 的智能解释性分数之类的技术来解释生成的特色。
上图以“括号”为例显示每个特色之间的相关,同时每个特色下面都有人工解释。边缘厚度表示延续残差流层中字典特色之间的因果相关强度,以消融为权衡规范。许多跨层的字典特色具备相似的解释,并且理论指向激活空间中的相似方向,以余弦相似度为权衡规范。
本文转载自,作者: