大模型最费解的能力是 in-context learning:给几个示例,不用改任何参数,行为就适配了新任务。它是在"学习"吗?如果是,模型权重作为优化器的载体在哪里?von Oswald et al.(2023,Transformers Learn In-Context by Gradient Descent)给出了一个让人瞪大眼睛的答案:把一层的 attention 权重按特定方式赋值,它的前向计算在数学上严格等于对 prompt 定义的最小二乘损失做一步梯度下降。模型不需要"学会当优化器"——构造上它就是优化器。
构造:三步矩阵赋值
设 prompt 由 $n$ 个示例组成,输入是 $d$ 维特征,任务是线性回归 $y = w^\top x$。把每个示例的 $(x_i, y_i)$ 拼成序列 token,最后一列补上 query $x_q$。取线性自注意力(去掉 softmax,$QK^\top$ 直接乘 $V$),单层单头,做三步赋值:
- $W_Q W_K^\top = I$:让 attention 打分矩阵的第 $i$ 行为 $x_q^\top x_i$——query 与每个示例特征的原始内积。
- $W_V$ 把每个 token 映射为 $[-2x_i,\; y_i]$ 的拼接(负号是关键)。
- $W_O$ 取输出的前 $d$ 维,并乘上一个系数。
逐步写:attention 矩阵(去 softmax)为 $A = X^\top x_q \in \mathbb{R}^n$($X$ 是示例特征矩阵),输出
$$ o = W_O\big(A^\top V\big) = W_O\sum_i (x_q^\top x_i)\,[-2x_i,\; y_i]. $$
取前 $d$ 维,系数 $\eta$ 吸收进 $W_O$:
$$ o_{1:d} = -2\eta\sum_i x_i (x_i^\top x_q) = -2\eta\, X^\top X\, x_q. $$
对照梯度下降:最小二乘损失 $\mathcal L(w) = \sum_i (w^\top x_i - y_i)^2$ 对 $w$ 的梯度在 $w=0$ 处是
$$ \nabla_w \mathcal L\big|_{w=0} = 2\sum_i x_i(x_i^\top \cdot 0 - y_i) = -2\sum_i x_i y_i. $$
一步 GD 更新(从 $w_0 = 0$ 出发):$w_1 = w_0 - \eta\nabla = 2\eta\sum_i x_i y_i$。这恰好在 attention 输出的后一维结构上——把示例的 $y_i$ 通道同样过一遍 attention 求和就得到 $w_1$。于是 query 的预测由输出尾维与 query 特征的交互给出,整体前向 = 一步 GD 后对 $x_q$ 的线性预测。
多头的推广也顺:每个头用不同的 $\eta$(学习率),一步前向等价于多学习率的集成;如果让打分矩阵带一个预条件子 $P$($W_Q W_K^\top = P$),则等价于在自然梯度度量下更新。Mesas:模型内部的"优化器"可以是它自己前向传播的一个实例。
实证:真实 Transformer 离这个构造多远
论文的另一半是实验:在合成线性回归数据上训练标准(带 softmax、深层的)Transformer,然后和真 GD 比对——
- 浅层 Transformer 的 ICL 行为和 GD 逐步预测的轨迹高度相关(逐 token 的预测值相关系数接近 1);
- 更深的层表现出"超越 GD"的行为:更像带了动量或二阶预条件的更新,说明真实网络学到的是比裸 GD 更好的优化算法;
- 在非线性任务(决策树函数)上,行为偏离 GD,更接近一种核机器——呼应上一篇的核回归视角。
后续的"mesa-optimizer"讨论给这个图景加了重要注脚:ICL 的优化器身份只在任务分布和训练分布匹配时显现;训练分布外的 ICL 行为(比如示例本身带偏)并不遵守 GD 的更新规则,模型的"学习算法"是在训练分布内被雕刻出来的归纳偏置。
小结
这个结果的强度要读准:它证明的是存在性——一个线性注意力层可以精确实现一步 GD,以及实证上的相似性——训练好的浅层 Transformer 在分布内确实像 GD。它不证明真实模型的 ICL 就是 GD:softmax 的非线性、深层复合、任务分布外的行为都偏离裸 GD,实测更接近"带预条件的更优优化器"。但它彻底改变了问题的提法:ICL 不再是"模型从 prompt 里神秘地提取模式",而是"模型权重里编码着一个学习算法,prompt 只是这个算法的输入"。这和下一章的起点——位置编码如何给这个算法提供序列坐标——正好接上。