为何 LLM 能够学会 (却又遗忘) 如何学习: 策略竞合的故事

如果你曾使用过像 GPT-4 或 Claude 这样的大型语言模型 (LLM) ,你一定对 情境学习 (In-Context Learning, ICL) 非常熟悉。这是模型通过提示词中的几个示例 (即情境,Context) 就能学会如何解决新任务,而无需更新任何内部权重的能力。这感觉就像魔法一样。它是“少样本提示 (few-shot prompting) ”的基石。

但奇怪的是: 最近的研究表明,这种能力可能是 短暂的 (transient)

在训练这些模型时,ICL 通常会在早期出现,但随后消失,被其他策略所取代。这就好像模型学会了如何学习,然后又决定“忘掉”它,转而支持死记硬背。为什么会发生这种情况?更重要的是,模型是完全丢弃了 ICL 机制,还是重新利用了它?

在一篇题为 *“Strategy Coopetition Explains the Emergence and Transience of In-Context Learning” (策略竞合解释了情境学习的涌现与消逝) * 的精彩论文中,研究人员深入探讨了 Transformer 的内部回路来回答这些问题。他们发现了一种被称为 策略竞合 (Strategy Coopetition) 的现象——一种合作与竞争的混合体。事实证明,“从情境中学习”的机制和“记忆权重”的机制并不是截然不同的敌人。它们实际上是共享相同神经回路的“兄弟”。

在这篇文章中,我们将逐步解析这篇论文。我们将探索 ICL 短暂性之谜,剖析取代它的“受情境约束的权重内学习” (CIWL) 策略,并看看解释它们之间竞争关系的数学模型。


1. 设置: 如何观察模型的学习过程

为了理解模型 如何 选择策略,研究人员需要一个可控的环境。在整个互联网上训练一个巨大的 LLM 对于精确的机械可解释性来说太混乱了。相反,他们在合成图像分类任务上训练了 2 层仅含注意力的 Transformer。

任务: Omniglot 分类

模型会看到一系列图像 (来自 Omniglot 数据集的手写字符) 及其对应的标签。 序列看起来像这样: [示例 1, 标签 1] ... [示例 N, 标签 N] ... [查询图像, ?] 模型必须预测查询图像的标签。

数据: “突发性”分布

至关重要的是,训练数据具有 “突发性” (Bursty) 。 这反映了现实世界的数据 (和语言) ,即主题通常以簇的形式出现。

  • 情境学习机会 (In-Context Opportunity) : 查询图像与上下文中提供的示例之一属于同一类别。如果模型回顾上下文,将查询与示例匹配,并复制该标签,它就能得到正确答案。这就是 情境学习 (ICL)
  • 权重内学习机会 (In-Weights Opportunity) : 图像与标签之间的映射在整个训练过程中是固定的。如果模型简单地记住“图像类型 A = 标签 5”,它可以忽略上下文示例并仍然得到正确答案。这就是 权重内学习 (IWL)

因为数据支持 这两种 策略,研究人员可以观察它们之间的赛跑。

评估器: 确定策略

你如何知道模型是在使用 ICL 还是简单的死记硬背?研究人员设计了巧妙的评估数据集,如下图所示。

论文中的图 1,展示了不同的评估策略和学习曲线。面板 (a) 显示了 ICL、CIWL 和 Flip 等不同评估器的输入序列。面板 (b) 显示了这些策略随训练时间的准确率变化,突出显示了 ICL 的兴起和衰落。面板 (c) 是相关神经回路的示意图。

让我们仔细看看上面的 图 1a

  1. ICL 评估器 (蓝色) : 标签是随机的 (0 和 1) 或相对于训练进行了翻转。获得正确答案的 唯一 方法是看上下文。死记硬背会失败。
  2. IWL 评估器: 出现了查询图像,但其匹配的示例 不在 上下文中。模型 必须 使用记忆的权重。 (有趣的是,研究人员发现在这种设置下几乎不会发生纯粹的 IWL) 。
  3. CIWL 评估器 (绿色) : 这代表 受情境约束的权重内学习 (Context-Constrained In-Weights Learning) 。 在这里,正确的标签存在于上下文中,但它与错误的图像配对。然而,模型从训练中知道图像-标签的映射关系。这测试了我们稍后将讨论的一种混合策略。
  4. 翻转评估器 (Flip Evaluator,红色) : 这是决胜局。上下文中的标签被翻转了 (例如,如果 A 通常是 1,但上下文说 A 是 2) 。
  • 如果模型预测 2,说明它相信上下文( ICL )。
  • 如果模型预测 1,说明它相信其训练权重( CIWL )。

现象: 短暂性

图 1b 中的图表。这是核心谜题。

  • 训练早期: 蓝线 (ICL) 飙升。红线 (Flip) 很高,意味着模型相比权重更偏好上下文。模型已经“顿悟 (grokking) ”并涌现出了 ICL。
  • 训练晚期: 蓝线崩溃。红线降至零。模型不再信任上下文。
  • 替代者: 随着 ICL 的消亡,绿线( CIWL )上升并占据主导地位。

模型学会了使用上下文,然后抛弃了它。但它并没有切换到纯粹的死记硬背 (IWL) 。它切换到了 CIWL 。 那是什么?


2. 渐进策略: 什么是 CIWL?

我们通常认为学习是二元的: 要么记住事实 (权重内) ,要么学习查找过程 (情境内) 。研究人员发现,模型最终的主导策略是一种奇怪的混合体。

受情境约束的权重内学习 (CIWL) 的工作原理如下: 模型记住了图像和标签之间的映射 (存储在权重中) 。但是,只有当该标签 token 物理地存在于上下文窗口的某处时,它才认为该答案有效。

这就像模型在说: “我知道图像 A 对应标签 5。我看到查询图像是 A。我将输出标签 5,但前提是我能在提示词的某处找到数字‘5’。”

机制: 跳跃三元组复制器 (Skip-Trigram-Copiers)

Transformer 是如何实现这一点的?研究人员分析了网络第 2 层 (L2) 的注意力头。

在 Transformer 中,“归纳头 (Induction Heads) ”通常负责 ICL。它们遵循一种模式: [A] [B] ... [A] -> 预测 [B]。 但对于 CIWL,研究人员发现了 跳跃三元组 (Skip-Trigram) 回路。

图 2 显示了注意力模式。面板 (a) 是一个热图,显示第 2 层注意力头强烈关注上下文中的正确标签 token。面板 (b) 显示了注意力强度与任务性能之间的相关性。

图 2a 所示,在训练结束时 (当 CIWL 占主导地位时) ,无论上下文中的正确标签与哪个示例配对,第 2 层注意力头都会直接关注上下文中的 正确标签

这是一个特定的算法实现:

  1. 模型看到查询图像。
  2. 它使用其权重 (键/查询矩阵) 在上下文中“寻找”对应的标签 token。
  3. 一旦找到,它就将该 token 复制到输出。

这解释了为什么它是“受情境约束的”。它依靠权重知道要 找什么,但依靠上下文来 找到 要复制的 token。


3. 转换: ICL 如何转变为 CIWL

这就是“竞合 (Coopetition) ”理论在物理层面的体现。我们知道模型从 ICL 转换到了 CIWL。它是拆除了 ICL 的神经回路并为 CIWL 建立了新回路吗?

不。 它回收利用了旧回路。

第 2 层保持不变;第 1 层发生改变

研究人员进行了“因果消融 (causal ablation) ”实验。他们在不同的训练阶段冻结网络的特定部分,以此观察哪一层导致了行为的变化。

图 3 说明了机制的转变。面板 (a) 显示归纳强度先升后降。面板 (b) 显示在训练结束时固定第 2 层的权重可以重现该行为,这意味着第 2 层变化不大。面板 (c) 显示第 1 层是变化的驱动力。

图 3b3c :

  • 第 2 层是稳定的: 如果你取训练 结束 时 (CIWL 阶段) 的第 2 层权重,并将其插入到训练 中间 的模型中,行为几乎没有变化。第 2 层一直在做同样的事情: 复制。
  • 第 1 层是开关: 从 ICL 到 CIWL 的转变几乎完全由第 1 层的变化驱动。

转换的机制

回想一下,ICL 通常依赖于 归纳头 。 一个归纳头是一个两步过程:

  1. 第 1 层: 关注 前一个 token (将标签 B 链接回示例 A) 。
  2. 第 2 层: 寻找当前的查询 A,找到之前的 A,并复制跟随它的 token (B) 。

研究人员发现,在这 两种 策略中,第 2 层都充当“复制者”。区别在于第 1 层喂给它什么。

  • 在 ICL 阶段: 第 1 层注意力头关注 前一个 token 。 这建立了归纳回路。
  • 在 CIWL 阶段: 第 1 层注意力头切换到 自注意力 (self-attention) (关注自身) 。这打破了归纳回路,并允许第 2 层作为一个“跳跃三元组”查找器,依赖直接的嵌入而不是相对位置。

这就是 策略竞合 。 两种策略为控制第 1 层而 竞争 (它是看前一个 token 还是看自己?) ,但它们通过分担第 2 层的繁重工作 (复制机制) 进行 合作


4. 为什么 ICL 会涌现?

如果 CIWL 是最终获胜的主导策略,为什么模型不一开始就学习 CIWL?为什么要费心经历临时的 ICL 阶段?

研究人员提出了一个引人入胜的假设: ICL 是一个“快速”的捷径,为“缓慢”的 CIWL 铺平了道路。

因为这两种策略共享第 2 层,一种策略的发展有助于另一种。模型可以快速学会 ICL 模式 (看前一个 token,复制匹配项) ,因为在训练初期,这比发现 CIWL 所需的特定权重映射在机制上更容易。

为了证明这种“合作”方面,研究人员进行了一个巧妙的实验。他们尝试在一个 只有 ICL 有效 (随机标签) 的数据集上训练模型。通常,这很难学且速度很慢。 然而 , 如果他们使用已经学会 CIWL 的模型的第 2 层权重来初始化模型,ICL 会瞬间涌现。

图 4 显示了合作互动。面板 (a) 证明移植 CIWL 模型的第 2 层权重可以使 ICL 在新任务上学习得更快。面板 (b) 显示当从训练中期提取权重时,这种效果最好。

图 4a 展示了这个戏剧性的结果。绿线 (使用移植的 CIWL 权重) 几乎立即学会了 ICL,而黑线 (从头开始) 则慢得多。

这表明 渐进的 CIWL 策略实际上充当了 ICL 的脚手架。 模型部分是为了 CIWL 而学习第 2 层的“复制”机制,但 ICL “窃取”了这个机制从而快速涌现。后来,随着 CIWL 特定的权重映射变得稳固,模型为了优化更可靠的 (权重内) 策略而切换了第 1 层,ICL 随之消退。


5. 竞合的数学模型

为了将这种直觉形式化,作者提出了一个使用张量积的极简数学玩具模型。他们将损失函数建模为两种机制的乘积。

\[ \begin{array} { r l } & { \mathcal { L } ( \mathbf { a } , \mathbf { b } , \mathbf { c } , \mathbf { d } ) = } \\ & { \quad \left( \underbrace { \left\| \mathbf { a } ^ { * } \otimes \mathbf { b } ^ { * } \otimes \mathbf { c } ^ { * } - \mathbf { a } \otimes \mathbf { b } \otimes \mathbf { c } \right\|_{F}^{2} } _ { \mathrm { Mechanism \ 1 \ (ICL) \ Loss } } + \mu _ { 1 } \right) } \\ & { \quad \times \left( \underbrace { \left\| \mathbf { d } ^ { * } \otimes \mathbf { b } ^ { * } \otimes \mathbf { c } ^ { * } - \mathbf { d } \otimes \mathbf { b } \otimes \mathbf { c } \right\|_{F}^{2} } _ { \mathrm { Mechanism \ 2 \ (CIWL) \ Loss } } \right) } \\ & { \quad + \alpha \underbrace { \left\| \mathbf { a } \otimes \mathbf { d } \right\|_{F}^{2} } _ { \mathrm { Competition } }, } \end{array} \]

论文中的公式 1 描述了玩具模型的损失函数。它包括机制 1 (ICL)、机制 2 (CIWL) 和竞争惩罚项。

这是如何解读上图中的方程:

  1. 机制 1 (ICL): 由向量 \(\mathbf{a}, \mathbf{b}, \mathbf{c}\) 表示。
  2. 机制 2 (CIWL): 由向量 \(\mathbf{d}, \mathbf{b}, \mathbf{c}\) 表示。
  3. 合作: 注意向量 \(\mathbf{b}\) 和 \(\mathbf{c}\) 出现在 两个 机制中。这代表了共享的第 2 层回路。如果你为了一个任务改进 \(\mathbf{b}\) 和 \(\mathbf{c}\),你也为另一个任务改进了它们。
  4. 竞争: 最后一项 \(\alpha ||\mathbf{a} \otimes \mathbf{d}||\) 强制进行选择。模型希望最小化 \(\mathbf{a}\) 和 \(\mathbf{d}\) 的点积。它推动模型选择策略 \(\mathbf{a}\) 策略 \(\mathbf{d}\),但不能同时选择两者。
  5. 渐进偏差: \(\mu_1\) 项为 ICL 机制添加了一个小的常数惩罚,使得 CIWL 在长期 (渐进) 来看略受青睐。

模拟 vs. 现实

这个抽象的数学模型站得住脚吗?是的。当他们模拟这个玩具模型时,它重现了在真实 Transformer 中看到的精确曲线。

图 5 比较了玩具模型和真实 Transformer。面板 (a) 显示了具有损失下降的模拟结果。面板 (b) 显示了真实 Transformer 的损失,与模拟模式相匹配。

图 5 中,蓝线 (机制 1/ICL) 快速下降——它学得“快”。但最终,绿线 (机制 2/CIWL) 追了上来。由于竞争项和渐进偏差,机制 2 接管了,机制 1 被抑制。

这种数学上的简洁性捕捉到了神经网络的复杂行为: 由于资源共享 (合作) 而快速涌现,随后由于资源限制 (竞争) 而变得短暂。


6. 我们能让 ICL 留下来吗?

理解机制赋予了我们要能力。如果我们知道 为什么 ICL 会消失 (受到更慢但渐进更优的 CIWL 的竞争) ,我们能否改变条件让 ICL 持续存在?

玩具模型表明,如果我们移除对 CIWL 的“偏见”,ICL 应该会获胜,因为它学得更快。

在 Omniglot 任务中,CIWL 受青睐是因为将图像匹配到固定标签 (CIWL) 比将图像匹配到多变的上下文示例 (ICL) 稍微稳健一些。研究人员假设,如果他们让上下文匹配变得更容易——通过确保上下文示例与查询图像 像素级精确匹配——ICL 将成为更优越的策略。

图 6 显示了干预的结果。左图 (小模型) 和右图 (大模型) 显示,当上下文和查询示例完全匹配时 (深红线) ,ICL 持续存在且不会退化,这与正常训练 (粉红线) 不同。

图 6 中的结果令人震惊。

  • 正常 (粉红线) : 标准的“短暂性”曲线。ICL 兴起然后衰落。
  • 匹配示例 (深红线) : ICL 兴起……并留了下来。它收敛到 100% 的准确率并且从未下降。

通过调整数据属性以偏向 ICL 的机制优势,研究人员消除了短暂性。这证实了 ICL 并非本质上就是暂时的;它只是在数据分布偏向权重内记忆时输掉了比赛。


结论

“策略竞合”的故事为我们提供了一个关于大型语言模型在训练过程中如何演变的细致视角。这不是从“无知”到“聪明”的线性过程。这是一个动态的生态系统,不同的算法——由神经回路实现——在共享组件的同时争夺资源。

以下是关键要点:

  1. 涌现的 ICL 是短暂的: 模型经常学会使用上下文,却在训练后期为了像 CIWL 这样的混合记忆策略而放弃该能力。
  2. CIWL 是混合体: 替代策略不是纯粹的死记硬背。它使用权重来了解映射关系,但要求标签存在于上下文中 (受情境约束) 。
  3. 回路回收利用: 这种转变不是拆除重建。模型重新利用了第 2 层中的“复制”头,只是改变了它们从第 1 层接收的输入。这就是 合作
  4. 赛跑: ICL 首先涌现,因为它是一个利用共享回路的“快速”解决方案。它消退是因为 CIWL 是“缓慢但稳定”的解决方案,并最终主导了共享资源。这就是 竞争

这项工作提醒我们,我们在 LLM 中看到的行为——比如少样本提示——并不是简单的“开启”或“关闭”的魔法属性。它们是随着时间推移而变化的复杂内部动力学的结果。理解这些动力学是控制它们的第一步,从而确保我们要的有用能力 (如 ICL) 能够长久保留。