与我一同探索大型语言模型的心智:AnthropicAI 的《Scaling Monosemanticity》论文中的有趣发现。
社区文章 发布于 2024 年 5 月 22 日
大型语言模型(LLM)的众多未知之处之一,是它们给出响应的“为什么”——尚不清楚为何选择某些响应而非其他响应。这表明我们对这些模型内部发生的事情知之甚少。
为了更深入地了解这一点,他们尝试在大型模型(Claude 3 Sonnet)上进行稀疏字典学习——将神经元激活模式(称为特征)与人类可解释的含义进行匹配。
字典学习是一种传统的机器学习技术,用于识别在各种上下文中重复出现的神经元激活模式。这意味着模型的任何内部状态都可以表示为少数活跃特征的组合,而不是众多活跃神经元。
他们使用稀疏自编码器(SAE)扩展了一种更有效的字典学习方法。SAE 有一个编码器,通过线性变换和 ReLU 将输入映射到稀疏的高维特征,以及一个解码器,从这些特征重建输入。
他们训练了三种不同规模(约 1M、约 4M 和约 34M 特征)的 SAE 变体。在所有 SAE 中,每个 token 活跃特征少于 300 个,解释了超过 65% 的方差。死特征比例:1M SAE 约 2%,4M SAE 约 35%,34M SAE 约 65%。这意味着更好的训练可以减少死特征。
他们对这些 SAE 进行了实验,将其应用于模型中间层的残差流激活(RSA)(为什么?1. RSA 比 MLP 层小 = 计算成本低;2. 有助于解决“跨层叠加”问题——当特征分散在多个层而不是隔离在特定层时,会导致解释困难)。这些实验表明,缩放定律可以指导这些 SAE 的训练。
我最喜欢的是基本代码特征——模型将不同的代码语法元素赋予了含义,类似于文本编辑器中的语法高亮。