news 2026/4/1 16:32:03

打开人工大脑:用于 LLM 检查的稀疏自编码器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打开人工大脑:用于 LLM 检查的稀疏自编码器

原文:towardsdatascience.com/open-the-artificial-brain-sparse-autoencoders-for-llm-inspection-c845f2a3f786

|LLM|可解释性|稀疏自编码器|XAI|

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/51909417e7e6f43ec463ae47aad5211a.png

作者使用 DALL-E 创建的图像

所有事物都受解释的影响,在特定时间占主导地位的解释是权力而非真理的函数。 —— 尼采

随着 AI 系统规模的扩大,理解其机制变得越来越困难和紧迫。今天,人们正在讨论模型的推理能力、潜在的偏差、幻觉、以及其他大型语言模型(LLMs)的风险和限制。

**《天才综合征:模式识别等同于智能吗?》

**《堂吉诃德与风车:在通往准确性的道路上导航 AI 幻觉》

大多数评估都是通过分析它们在各种基准测试中的表现来进行的。这些方法的重大局限性是将 LLM 视为一个黑盒。回答我们大多数问题的答案需要我们打开这个盒子,观察其组件是如何相互作用的。主要问题在于分析由数百层和数十亿参数组成的模型难度很大。第二个问题是缺乏对这种复杂模型的基本单位的定义。定义这个基本单位并理解如何干预这些单位可能使我们能够纠正非预期行为。

因此,在这篇文章中,我们将探讨以下问题:

  • LLM 的基本组成部分是什么?

  • 我们如何分析这些内部特征?需要哪些工具?

  • 我们如何评估这些工具?

  • 这些工具学习了什么?我们能否可视化内部空间?

神经网络中的特征表示

在神经网络中定义特征是一个具有挑战性的选择。在传统的机器学习中,特征被描述为直接从数据集中导出的属性。当讨论集中在感知系统时,这个定义非常合适,因为特征与输入数据紧密映射。在LLMs或其他能够进行抽象的复杂系统中,特征可能内部产生[1]。这些特征的描述仍然并不完全清楚。然而,对于一些作者来说,它可以总结为:“特征是神经网络表示的基本单元,不能进一步分解成更简单的独立因素” [2]。这个定义的问题在于:这些基本单元是什么?

在这个背景下,一个基本单元(或特征)可以代表编码一个概念(一个概念可以是高级的,如“太阳”或“美丽”)。这些概念然后可以成为模型学习的内部表示的构建块。

这些特征的本质是什么?

根据 Anthropic 的这篇文章[3],神经网络代表有意义的概念,并且通过激活空间中的方向来实现。简单来说,神经网络层的输出可以看作是激活空间中的一系列点。这显然很难可视化,因为我们谈论的是数百甚至数千个方向。在词嵌入中,已经观察到这些方向具有意义,向量可以用于操作[4]。

<…/Images/2f292e01b3d7d5363bd209734e32d4b5.png>

图片来源:[4]

因此,从理论上讲,每个方向都与一个概念相关联(并且一个点越靠近那个方向,那个概念在输入中应该越明显)。问题是这些概念与层神经元之间的关系:

  • 特权基与非特权基。如果一个神经元是有意义的(代表一个有意义的概念),其基向量在表示中应该功能上与其他方向不同。

  • **单义神经元和polysemantic neuron(多义神经元)。**一个只对应一个语义概念的神经元被称为单义神经元。因此,只有输入中的一个概念会激活该神经元,通过激活或抑制该神经元,我们只会影响一个特征。多义神经元与多个概念相关联(例如,一个神经元可能被不同的图像如猫和房子激活)[6]。

<…/Images/16191f367646d08f34e4941f69f01e2e.png>

图片来源:[2]

在transformers和 LLMs 中,神经元是多义的,这使得理解神经网络如何处理信息和如何干预表示特征变得困难[7]。然而,神经元的多义性具有优势,我们可以用更少的神经元来表示更多的概念。根据叠加假设,神经网络利用高维空间来表示比神经元实际数量更多的特征。这样,特征就不再是正交的,因此会相互干扰,但这个问题似乎可以通过非线性函数[3,5]得到缓解。叠加假设表明,多义模型可以被视为一个假设上更大神经网络的压缩版本,其中每个神经元代表一个单一的概念[2]。

<…/Images/2c85b534a49971cd4cc9cb6027ffc878.png>

一个多义模型可以被视为更大、更稀疏网络的压缩模拟。图片来源:[2]

叠加中的特征难以解释,它们由多个神经元表示,而且改变一个特征也会影响其他特征。因此我们需要一个系统来解耦特征。

余弦相似度和嵌入仍然相爱吗?

用于 LLM 可解释性的稀疏自动编码器

稀疏自编码器(SAE)近年来越来越多地被用作将神经网络简化为可理解组件的系统。SAE 与经典的自编码器(AE)类似,区别在于后者旨在压缩数据然后重建。例如,如果我们有一个 100 个初始维度的数据集,一个经典的 AE 将有一个 25 个神经元的编码器层(因此它学习一个压缩表示),将为每个示例(4 倍减少)学习一个 25 维的向量。这种压缩版本显然会丢失信息,但对我们减少输入大小是有用的。

另一方面,SAE(自编码器)有一个隐藏层,其大小大于输入层的大小。此外,我们在训练过程中使用惩罚来激励稀疏性(内部向量将变得稀疏或包含等于零的值)。因此,如果输入的维度为 100,我们将有一个至少 200 个元素的学习向量,其中很大一部分将是零元素。目标是应用 SAE 到神经网络的中间激活。在大型语言模型的每个层中,对于每个标记,我们都有一个激活集,因此我们在这个表示上使用 SAE[8]。所以,如果我们有一个层的 100 个激活,而 SAE 中的隐藏层是 200,那么我们就有 2 倍的增长。这个过程必须对我们要研究的神经网络中的每一层都进行。我们如何训练这个 SAE 呢

<…/Images/64dad735610c3d05f873c68f3c124599.png>

图片来源:[2]

我们的训练数据来自提供给我们要研究的模型的另一个文本范围,对于每个批次,我们提取激活并用于训练我们的 SAE。损失函数是用于自编码器标准的函数,并且基于输入重建[9]。这种方法的目的是将神经网络激活分解为可分离的组件特征。通过将稀疏性强制引入我们的 SAE(我们使用L1 惩罚),我们试图学习一个包含对应于特征的单一语义神经元的字典。简单来说,想法是让单个神经元编码单个特征,并用几个向量的线性组合来表示 LLM 中的激活。

<…/Images/2e4a03aa75c3aa69f7ac4368b10cdbe9.png>

图片来源:[8]

一个澄清,SAE 在训练过程中并没有针对可解释性进行优化。相反,我们得到的是作为稀疏性和重建的副作用而可解释的特征。

我们如何知道在 SAE 中一个特征代表什么?

好吧,让我们看看什么输入能够最大程度地激活特征,并手动尝试弄清楚这意味着什么。在这项工作中,Anthropic 在Claude Sonnet上训练了 SAE,并发现了激活与金门大桥相关的图像和文本的特征[10, 11]。其他特征可能由修辞手法、其他语法概念(关系从句、介词短语等)或更抽象的概念激活。

https://github.com/openai/sparse_autoencoder?tab=MIT-1-ov-file#readme)

GPT2 激活特征的示例。截图来源:[12],许可:此处

这些特征会影响模型的行为,激活或阻止它们可能会影响 LLM 的行为。例如,Anthropic 表明,在激活值达到最大值的 10 倍时阻止金门大桥特征会导致行为变化[10, 11]。通过向模型提出问题(“你的物理形态是什么?”)可以看到,响应从夹紧前(“我实际上没有物理形态。我是一个人工智能。我作为软件存在,没有物理身体或化身”)到夹紧后(“我是金门大桥,一座横跨旧金山湾的著名悬索桥。我的物理形态就是这座标志性的桥梁本身,它有着美丽的橙色,高耸的塔楼和优雅的悬索”)发生了变化。

因此,SAE 不仅允许识别特征,还可以将它们映射回激活,从而允许因果干预。在这篇论文[17]中,Anthropic 利用这一想法来修改涉及社会偏见的某些特征以及模型如何改变其行为。在一定范围内,特征引导可以在不损害模型性能的情况下引导 LLM(尽管超过某个点,其他能力会下降)。

一个注意事项,SAE 不仅用于 LLM,还可以用于其他模型,如卷积网络[14]。

<…/Images/3c491269fbfc948bc534be7b352b35fc.png>

图片来源:[14]

自我介绍:使用 SAE 和 LLM 解码 LLM 的内部工作原理

如何评估 SAE

SAEs 的主要问题仍然是它们的评估。实际上,我们在自然语言中没有真实情况来评估学习到的特征的质量。这些特征的评价是主观的,由研究人员来解释每个特征的含义。

解释在 Llama 3.1 7b 或 Gemma 2 9b 等模型上训练的 SAE 的潜在因素需要生成数百万个解释。例如,目前可用的最广泛的开源 SAE 集合 Gemmascope,包括 Gemma 2 9b 和 Gemma 2 2b 的所有层级的 SAE,需要解释数千万个潜在因素。 —— 来源:[13]

测量特征和 SAEs 的质量是困难的,这正是因为缺乏一个黄金标准的词典。大多数工作都集中在使用玩具数据集来展示 SAEs 的质量。但如果我们想将 SAEs 作为诊断工具或干预模型特征,我们需要知道学习到的表示的质量,并找到一种更好的方法来识别特征的含义。

有建议说我们应该创建数据集来测试特征。然后创建可以使用的基准真实数据。一个有趣的方法是使用棋盘游戏,你可以有一个合成数据集,其中所有基准特征都是已知的,并且训练了基于游戏记录的 LMs。这样,他们就有文本来了解 SAEs 捕获了多少知识 [15]。

<…/Images/d221686b6b236cdf2d27ce6910511b2b.png>

图片来源:[15]

另一种有前景的方法是使用 LLM 来解释特征:

自动可解释性的第一个方法之一是专注于使用 GPT-4 解释 GPT-2 的神经元。GPT-4 被展示了给定神经元活跃的上下文示例,并被要求提供一个简短的解释,该解释可以捕捉激活模式。为了评估一个给定的解释是否捕捉了神经元的特性,GPT-4 被要求在给定上下文中预测具有该解释的神经元的激活。 [13]

<…/Images/1925db12f0cbbec1be2cc98122afed9b.png>

图片来源:[13]

SAE 几何

这些模型的有效性也来自于对结构和它们所学习内容的理解。其中一些 SAEs 已经公开 [19],一些研究已经专注于研究从 LLMs 中提取的这些概念的几何结构。第一个有趣的结果是它产生了一个类似于在嵌入中看到的原子结构:

通过这种方式,我们指的是反映概念之间语义关系的几何结构,它推广了经典例子 (a, b, c, d) = (man, woman, king, queen) 形成一个近似平行四边形,其中 b - a ≈ d - c。 [18]

这些结构似乎在 LLMs 的层 0 和层 1 中被发现,其中 SAE 特征代表单个单词。使用降维技术,可以获得具有相似语义功能的特征簇。

<…/Images/86cb48d7b6be6990de675bb7982ad9fd.png>

图片来源:[18]

在这项研究[18]中,作者还分析了功能上相似的一组 SAE 特征(它们倾向于同时激活)是否在几何上也是相似的(因此应该形成“叶”的等价物)。在人类大脑中,实际上类似的功能组位于大脑的特定区域。例如,参与言语产生的神经元位于布罗卡区,参与视觉的神经元位于视觉皮层,等等。在研究中,他们分析了是否可以识别和激活功能上相似的区域,并针对同一文档进行激活。他们从 SAE 特征在文本中的共现开始,然后这些特征会针对同一文档进行激活。这些功能“叶”似乎存在,并显示出空间模块化。

<…/Images/9ac77b3e262a93a5c2ae3b180b18a304.png>

图片来源:[18]

另一个有趣的发现是,中间层似乎充当了一个瓶颈,压缩信息(根据作者的说法,为了更有效地表示高级抽象)。因此,中间层是这些原子特征(代表与单个单词相关的概念)和后期层中更抽象和复杂概念之间的过渡阶段。

<…/Images/c6df253a2332634664aaa0131bf78391.png>

图片来源:[18]

通过不可思议的镜子:LLMs 是否像人类大脑一样记忆?

使语言模型类似于人类大脑

离别时的思考

在本文中,我们讨论了在神经网络模型中定义特征的复杂性。受这种对可解释性的追求所启发,近年来已经发展出一种新的机制可解释性范式,其中模型中出现的特征可以被定义和研究。在这一研究线上,我们提出了 SAEs。SAEs 可以被视为(尽管仍有局限性)诊断工具,同时也可以在 LLMs(以及其他模型)中进行干预。我们看到了这些工具如何被评估,并讨论了它们的内部表示。

这还不是终点。SAEs 已经彻底改变了我们对 LLMs 内部运作的看法,但仍有大量激动人心的研究。总之,本文提供了一个对有趣且不断发展的领域的视角和介绍。

SAE 的研究正在向前推进,旨在减少限制并增加应用。例如,SAEs 今天也被应用于任何类型的Transformer,一个有趣的应用是将它应用于蛋白质语言模型(例如AlphaFold,它学习蛋白质的结构)[22]。

cdn.embedly.com/widgets/media.html?type=text%2Fhtml&key=a19fcc184b9711e1b4764040d3dc5c07&schema=twitter&url=https%3A//x.com/liambai21/status/1852765730317770873&image=

最近,Anthropic 提出了一种新的 SAE 变体,稀疏交叉编码器,它扩展了 SAEs 的能力[20, 21]。稀疏交叉编码器可以应用于多层,从而学习跨层分布的特征,简化电路,并监控在微调模型时发生的情况。

你对此有何看法?你使用过或计划使用 SAEs 吗?你希望将 SAEs 应用于哪个应用?请在评论中告诉我


如果你对此感兴趣:

你可以查找我的其他文章,你还可以在*LinkedIn上与我建立联系或联系我。检查包含每周更新的 ML & AI 新闻的这个仓库**。我开放合作和项目,你可以在 LinkedIn 上联系我。你还可以免费订阅,以便在发布新故事时获得通知。*

每当 Salvatore Raieli 发布邮件时通知我

以下是链接到我的 GitHub 仓库,我在那里收集与机器学习、人工智能等相关代码和许多资源。

GitHub – SalvatoreRa/tutorial: 机器学习、人工智能、数据科学等教程

或者你可能对我的最近的文章感兴趣:

为 Transformer 唱挽歌?

对于幻觉 AI 患者,最好的治疗方法是什么?

LLMs 和学生的困境:学习解决问题还是学习记忆?

你一无所知,约翰 LLM:你为什么还要回答?


参考文献

这里是撰写本文时参考的主要参考文献列表,仅引用了文章的第一作者姓名。

  1. Olah, 2022, 机制可解释性、变量和可解释基的重要性, 链接

  2. Bereska, 2024, 人工智能安全机制可解释性综述, 链接

  3. Anthropic, 2022, 超叠加的玩具模型, 链接

  4. Mikolov, 2013, 连续空间词表示中的语言规律, 链接

  5. Scherlis, 2022, 神经网络中的多义性和容量, 链接

  6. Yan, 2024, 鼓励或抑制单义性?从特征去相关角度重新审视单义性, 链接

  7. LessWrong, 2022, 玩具模型中的单义性工程, 链接

  8. Cunningham, 2023, 稀疏自动编码器在语言模型中找到高度可解释的特征, 链接

  9. SAELens, GitHub 仓库, 链接

  10. Anthropic, 2024, Golden Gate Claude, 链接

  11. Templeton, 2024, 扩展单义性:从特征去相关角度重新审视单义性,链接

  12. OpenAI, 2024, 稀疏自动编码器, 链接

  13. Paulo, 2024, 自动解释大型语言模型中的数百万个特征, 链接

  14. Gorton, 2024, InceptionV1 早期视觉中的缺失曲线检测器:应用稀疏自动编码器, 链接

  15. Karvonen, 2024, 使用棋盘游戏模型测量语言模型可解释性字典学习的进展, 链接

  16. Anthropic, 2024, 评估特征引导:减轻社会偏见的案例研究, 链接

  17. Anthropic, 2024, 评估特征引导:减轻社会偏见的案例研究, 链接

  18. Li, 2024, 概念的几何:稀疏自动编码器特征结构, 链接

  19. Lieberum, 2024, Gemma Scope:在 Gemma 2 上一次性开放稀疏自动编码器,无处不在,一次全部,链接

  20. Anthropic, 2024, 稀疏交叉编码器用于跨层特征和模型差异,链接

  21. LessWrong, 2024, 对 Anthropic 的 Crosscoder 论文进行模型差异的开源复制,链接

  22. Interprot, 2024, 链接

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/26 5:25:52

革新性视觉AI训练平台实战指南

革新性视觉AI训练平台实战指南 【免费下载链接】hub Ultralytics HUB tutorials and support 项目地址: https://gitcode.com/gh_mirrors/hub10/hub 您是否曾遇到标注数据耗时数周却准确率不足80%的困境&#xff1f;是否经历过模型在实验室表现优异却在实际部署时频繁崩…

作者头像 李华
网站建设 2026/4/1 3:40:29

解决UE4多人游戏会话管理难题的AdvancedSessionsPlugin工具

解决UE4多人游戏会话管理难题的AdvancedSessionsPlugin工具 【免费下载链接】AdvancedSessionsPlugin Advanced Sessions Plugin for UE4 项目地址: https://gitcode.com/gh_mirrors/ad/AdvancedSessionsPlugin 在Unreal Engine 4&#xff08;UE4&#xff09;开发多人游…

作者头像 李华
网站建设 2026/3/18 6:15:25

EmbeddingGemma-300m应用案例:电商商品搜索性能提升27%

EmbeddingGemma-300m应用案例&#xff1a;电商商品搜索性能提升27% 你是否遇到过这样的问题&#xff1a;用户在电商App里搜“轻便透气的运动短裤”&#xff0c;返回结果却包含厚重牛仔裤和冬季加绒款&#xff1f;或者输入“适合送爸爸的生日礼物”&#xff0c;系统推荐的却是儿…

作者头像 李华
网站建设 2026/3/25 11:24:05

手把手教你用Qwen3-ASR-1.7B制作本地语音转文字工具

手把手教你用Qwen3-ASR-1.7B制作本地语音转文字工具 1. 引言&#xff1a;告别云端依赖&#xff0c;打造你的专属“录音笔” 想象一下这个场景&#xff1a;你刚开完一场重要的会议&#xff0c;或者录制了一段珍贵的访谈&#xff0c;现在需要把长达一小时的音频整理成文字稿。打…

作者头像 李华
网站建设 2026/3/29 0:35:49

零基础玩转YOLO12:WebUI一键检测80种常见物体

零基础玩转YOLO12&#xff1a;WebUI一键检测80种常见物体 1. 这不是“又一个YOLO”&#xff0c;而是你第一次真正用上的目标检测工具 你有没有试过打开一个AI模型页面&#xff0c;看到满屏的命令行、配置文件、环境变量&#xff0c;然后默默关掉浏览器&#xff1f; 你是不是也…

作者头像 李华