俯视LLM的灵魂:一文搞懂稀疏自动编码器

实时了解业内动态,论文是最好的桥梁,专栏精选论文重点解读热点论文,围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技(Mamba,xLSTM,KAN)则提供了大模型领域最新技术跟踪。若对于具身智能感兴趣的请移步具身智能专栏。技术宅麻烦死磕AI架构设计。

稀疏自动编码器 (SAE) 最近因机器学习模型的可解释性而变得流行(尽管SAE自 1997 年以来一直存在)。机器学习模型正在使LLMs变得越来越强大和有用,但它们仍然是黑匣子,如何看穿LLM的灵魂,且若能理解它们是如何工作的,那对于大模型的进化有足够的帮助和启示意义。


使用SAE,可以开始将模型的计算分解为可理解的组件。本文将简介的介绍下SAE的工作原理,然后读者可以回头去温习“大模型的灵魂解读:Anthropic AI的Claude3 Sonnet可解释性研究”,应该更加深有感触。

自动编码器

神经网络最自然的组成部分是单个神经元。单个神经元并不对应于单个概念。语言模型中的任何概念,例如学术引用、英语对话、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 模型提供各种文本并收集每个选定位置的中间激活(样本)。

功能

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的红线更靠近图表的左上角,这意味着在这种权衡中表现更好。

应用

上图展示一种研究方法,a) 对语言模型的内部激活进行采样,无论是残差流、MLP 子层还是注意头子层;b) 使用这些激活来训练神经网络,稀疏自动编码器,其权重形成特征字典<注意是Decoder Matrix!!>;c) 使用诸如 OpenAI 的自动解释性分数之类的技术来解释生成的特征

上图以“括号”为例显示每个特征之间的关系,同时每个特征上面都有人工解释。边缘厚度表示连续残差流层中字典特征之间的因果关系强度,以消融为衡量标准。许多跨层的字典特征具有相似的解释,并且通常指向激活空间中的相似方向,以余弦相似度为衡量标准。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/36556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用jupyter打开本地ipynb文件的方法

常用方法&#xff1a; 先启动jupyter&#xff0c;然后在打开的页面点击upload&#xff0c;选择想要打开的文件上传然后打开&#xff0c;但是这样其实是先复制了一份到jupyter中&#xff0c;然后打开运行。而我不想复制。 方法二 先打开项目文件所在文件夹&#xff0c;文件夹…

【Dison夏令营 Day 01】如何用Python写一个游戏“石头剪刀布”

欢迎你们踏入这个充满无限可能性的编程世界&#xff01;作为一名热爱Python的开发者&#xff0c;我深感编程的魅力&#xff0c;并希望与你们一同分享这份乐趣和激情。编程&#xff0c;不仅仅是一种技能&#xff0c;更是一种思维方式和解决问题的工具。在Python的世界里&#xf…

如何寻找强势货币和弱势货币?

外汇交易的独特之处在于&#xff0c;它融合了两种货币的价值&#xff0c;其中一种货币的价值通过另一种货币来体现。举例来说&#xff0c;USDJPY外汇反映了美元与日元之间的价值关系&#xff0c;而EURUSD则代表了欧元与美元的价值对比。 通过开仓操作&#xff0c;我们预测一种…

Linux学习第54天:Linux WIFI 驱动:蓝星互联

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 数字化、现代化的今天&#xff0c;随处的WIFI给与了大众极大的方便&#xff0c;也感受到了科技的力量。万物互联、无线互联越来越成为一个不可逆转的趋势。现在比较火…

四川赤橙宏海商务信息咨询有限公司抖音电商领航者

在数字化浪潮席卷全球的今天&#xff0c;电商行业无疑是其中最为活跃、最具潜力的领域之一。而在中国这片广袤的土地上&#xff0c;四川赤橙宏海商务信息咨询有限公司以其独特的视角和前瞻性的战略布局&#xff0c;成为了抖音电商服务领域的佼佼者。今天&#xff0c;就让我们一…

stm32学习笔记---TIM输入捕获(代码部分)输入捕获模式测频率/PWMI模式测频率占空比

目录 第一个代码&#xff1a;输入捕获模式测频率 调整频率 PWM.c PWM.h 输入捕获 IC.c 输入捕获初始化步骤 TIM.h库函数 TIM_ICInit TIM_PWMIConfig TIM_ICStructInit TIM_SelectInputTrigger TIM_SelectOutputTrigger TIM_SelectSlaveMode 单独配置四个通道的分…

聊一聊UDF/UDTF/UDAF是什么,开发要点及如何使用?

背景介绍 UDF来源于Hive&#xff0c;Hive可以允许用户编写自己定义的函数UDF&#xff0c;然后在查询中进行使用。星环Inceptor中的UDF开发规范与Hive相同&#xff0c;目前有3种UDF&#xff1a; A. UDF--以单个数据行为参数&#xff0c;输出单个数据行&#xff1b; UDF&#…

打破生态「孤岛」,Catizen将开启Telegram小游戏2.0时代?

Catizen&#xff1a;引领Telegram x TON生态的顶级猫咪链游 在区块链游戏领域&#xff0c;吸引玩家的首要因素往往是游戏的趣味性。然而&#xff0c;仅靠趣味性无法评估一个项目的长期价值和发展潜力。真正能在区块链游戏市场中取得长久成功的项目&#xff0c;无一例外都依靠扎…

【消息队列】RabbitMQ集群原理与搭建

目录 前言1、集群搭建1.1、安装RabbitMQ1.1.1、前置要求1.1.2、安装Erlang环境①创建yum库配置文件②加入配置内容③更新yum库④正式安装Erlang 1.1.3、安装RabbitMQ1.1.4、RabbitMQ基础配置1.1.5、收尾工作 1.2、克隆VMWare虚拟机1.2.1、目标1.2.2、克隆虚拟机1.2.3、给新机设…

智能充电桩网关,构建高效充电网络

近年来我国新能源汽车的增长速度出现明显的上升趋势&#xff0c;但是其充电桩的发展还比较缓慢。目前在充电桩系统设计期间仍存在一些问题&#xff0c;主要表现在充电设施短缺、充电难等问题&#xff0c;这些问题的发生均会在一定程度上限制新能源汽车的发展&#xff0c;这就需…

navicat Premium发布lite免费版本了

Navicat Premium发布lite免费版本了&#xff0c;下面是完整功能对比链接 Navicat Premium 功能列表 | Navicat 免费版本下载链接如下&#xff1a; Navicat | 免费下载 Navicat Premium Lite 开发功能完全够用&#xff0c;点赞。 dbeaver该如何应对。

振弦采集仪在大型工程安全监测中的应用探索

振弦采集仪在大型工程安全监测中的应用探索 振弦采集仪是一种用于监测结构振动和变形的设备&#xff0c;它通过采集振弦信号来分析结构的动态特性。在大型工程安全监测中&#xff0c;振弦采集仪具有重要的应用价值&#xff0c;可以帮助工程师和监测人员实时了解结构的状况&…

如何在线上快速定位bug(干货)

想必有许多人都想我刚进公司一样不会快速定位线上bug吧&#xff0c;不会快速定位bug会大大降低我们的开发效率&#xff0c;随之而来的就是工作质量下降、业绩下滑。 我总结了一些我常用的线上定位技巧&#xff0c;希望能帮助到大家&#xff01; 我这里以使用阿里云日志分析作…

Attention步骤

一个典型的Attention思想包括三部分&#xff1a;Qquery、Kkey、Vvalue。 Q是query&#xff0c;是输入的信息&#xff1b;key和value成组出现&#xff0c;通常是原始文本等已有的信息&#xff1b;通过计算Q与K之间的相关性a&#xff0c;得出不同的K对输出的重要程度&#xff1b;…

2021年12月电子学会青少年软件编程 中小学生Python编程等级考试三级真题解析(选择题)

2021年12月Python编程等级考试三级真题解析 选择题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 1、小明在学习计算机时&#xff0c;学习到了一个十六进制数101,这个十六进制数对应的十进制数的数值是 A、65 B、66 C、256 D、257 答案&#xff…

为什么javaer认为后台系统一定要用java开发?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“666”之后私信回复“666”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;公司有两个开发团队&#xf…

4年突破20亿,今麦郎如何持续策划凉白开极致产品力?

范总在方便面市场拥有30年的丰富经验&#xff0c;并曾创造过奇迹。1994年&#xff0c;他从冰糖生意进入方便面行业&#xff0c;创立今麦郎的前身华龙集团。当时&#xff0c;方便面市场已经进入红海阶段&#xff0c;市场上有上千家企业&#xff0c;康师傅和统一占据了80%的市场份…

计算机视觉-期末复习-简答/名词解释/综合设计

目录 第一讲--计算机/机器视觉概述 名词解释 简答 第二讲--图像处理概述 名词解释 简答 第三讲没划重点习题 第四讲--特征提取与选择 名词解释 简答 综合题 第五讲--不变特征 名词解释 简答 第六讲--物体分类与检测 简答 综合题 第七讲--视觉注意机制 简答 …

三角洲行动卡顿严重?这样快速解决三角洲行动国服卡顿问题

三角洲行动官方精心设计的游戏地图和敌人布局&#xff0c;加上“曼德尔砖”等目标导向性道具的引入&#xff0c;更是为玩家之间的竞技和争夺增添了无数的变数。每一次的争夺都如同是一场智慧与勇气的较量&#xff0c;让人热血沸腾&#xff0c;无法自拔。在这个战场上&#xff0…

第六篇:精通Docker Compose:打造高效的多容器应用环境

精通Docker Compose&#xff1a;打造高效的多容器应用环境 1. 引言 1.1 目的与重要性 在现代软件开发中&#xff0c;随着应用程序的复杂性不断增加&#xff0c;传统的单一容器部署方式已无法满足需求。Docker Compose作为一种强大的工具&#xff0c;专门用于定义和运行多容器…