如果你一直在关注 GPT 和 Llama 等大型语言模型 (LLM) 的爆发,你可能对“前向传播 (Forward Pass) ”已经很熟悉了。这是一个模型接收提示词 (prompt) ,通过层层数学运算处理,最后输出预测结果的过程。我们已经非常擅长分析这一阶段。像“Logit 透镜 (Logit Lens) ”这样的工具允许我们窥探模型内部,看看它在第 12 层或第 24 层时在“思考”什么。
但在深度学习中,还有一个更黑暗、更不被理解的一面: 反向传播 (Backward Pass) 。
这是模型学习的方式。在训练或微调期间,模型会计算“梯度 (gradients) ”——即关于如何更改其内部数值以获得更好答案的指令。直到现在,这些梯度大多被视为巨大的、无法解释的噪声矩阵。
在一篇引人入胜的新论文 Backward Lens: Projecting Language Model Gradients into the Vocabulary Space 中,来自以色列理工学院和特拉维夫大学的研究人员打开了这个黑盒。他们发现,你可以将这些抽象的数学更新转化为通俗易懂的语言。
在这篇文章中,我们将探讨他们是如何做到的,Transformer 内部的“学习”实际上是什么样子的,以及这一知识如何引导出一种无需进行任何训练即可编辑 AI 记忆的巧妙技巧。
反向传播之谜
要理解这篇论文的重要性,我们首先需要想象一下我们要如何解释这些模型。
在前向传播中,我们将隐藏状态投影到“词汇空间”。如果在第 10 层有一个向量指向“国王 (King) ”的概念,我们就知道模型正在思考皇室相关的内容。
但在反向传播中,我们面对的是梯度 。 这些矩阵告诉权重应该增加或减少多少以最小化误差。如果你看一个原始的梯度矩阵,它看起来就像电视屏幕上的雪花噪声。它是高维且不直观的。
研究人员提出了一个简单的问题: 我们能将“透镜”技术应用于梯度吗? 我们能否将更新模型的指令投影到词汇空间,以看看模型试图学习什么?

如图 1 所示,答案是肯定的。当模型被纠正时 (例如,被告知“Lionel Messi plays for”的结果应该是“Paris”而不是“Barcelona”) ,梯度不仅仅是随机移动数字。它们主动“印记 (imprint) ”上下文 (“team”) 并将预测“转移 (shift) ”向新的目标 (“Paris”) 。
梯度的解剖
要理解“反向透镜 (Backward Lens) ”是如何工作的,我们需要从技术上了解梯度到底是什么。
在 Transformer 中,繁重的工作是由多层感知机 (MLP) 完成的。一个 MLP 层通常由两个大矩阵组成,我们要称它们为 \(FF_1\) (第一层) 和 \(FF_2\) (第二层) 。
当我们计算其中一个矩阵 (假设为 \(W\)) 在给定一系列输入下的梯度时,我们会使用微积分的链式法则。该论文强调了一个关键的数学恒等式: 梯度矩阵实际上是前向传播的输入 (\(x\)) 与反向传播的误差信号 (通常称为向量-雅可比积,或 VJP,表示为 \(\delta\)) 的乘积。
\[ \frac{\partial L}{\partial W} = x^{\top} \cdot \delta \]低秩发现
该论文的关键理论贡献之一是证明了这些巨大的梯度矩阵是低秩 (low-rank) 的。
如果你有一个包含 10 个 Token (单词) 的提示词,梯度矩阵的大小可能是 \(4096 \times 16384\)。这是巨大的。然而,由于梯度只是这 10 个 Token 更新的总和,该矩阵实际上仅由 10 对向量构成。

图 2 完美地展示了这一点。我们不需要试图分析右侧巨大的“梯度 (Gradient) ”块,我们可以分析构建它的组件: 前向输入 (\(x\)) 和反向误差 (\(\delta\)) 。
这种分解是秘诀所在。这意味着我们不需要分析数百万个参数。我们只需要查看生成集 (spanning set) ——即与我们提示词中的 Token 相关的特定 \(x\) 和 \(\delta\) 向量。
机制: 印记与转移
那么,当我们把这些 \(x\) 和 \(\delta\) 向量投影到词汇空间时会发生什么呢?研究人员发现了 Transformer 存储知识的一个两阶段机制,他们称之为 “印记与转移 (Imprint and Shift) ” 。
这种机制在 MLP 层的两个矩阵中表现不同:
\(FF_1\) (“键”) : 印记 (The Imprint) 第一个矩阵的梯度主要由输入文本 (\(x\)) 决定。它试图将当前的上下文“印记”到模型的记忆中。如果你正在训练一个关于梅西 (Messi) 的句子,\(FF_1\) 会更新以识别与梅西相关的输入模式。
\(FF_2\) (“值”) : 转移 (The Shift) 第二个矩阵的梯度由反向误差 (\(\delta\)) 驱动。这个向量实际上包含了目标词的嵌入 (embedding) 。更新操作会减去旧的预测并加上新的目标。

图 3 可视化了这个流程。
- 前向传播 (顶部) 处理输入。
- 反向传播 (右侧) 带来修正 (绿色的“Paris”框) 。
- \(FF_2\) 的梯度获取“Paris”概念并推动权重去生成它。
- \(FF_1\) 的梯度有效地“盖章”输入模式,以便模型知道在将来何时生成“Paris”。
实际观察: “巴黎”实验
让我们看看真实数据。研究人员使用了一个 GPT-2 模型,该模型对提示词“Lionel Messi plays for”输出“Barcelona”。然后,他们执行了一个单一的训练步骤,强迫其输出“Paris”。
利用反向透镜,他们可视化了梯度实际编码的内容。

在图 11 (引用自论文附录图组) 中,我们看到了投影梯度的热力图:
- 列代表提示词中的 Token (“Lionel”, “Messi”, “plays”, “for”) 。
- 行代表模型的层 (从 0 到 46) 。
- 单元格内的文本代表梯度向量最相似的词汇表中的单词。
看图的右侧 (针对 \(FF_2\)) 。当我们到达较高的层 (顶部的行) 时,Token “for”的梯度压倒性地指向了 “Paris” 。
反向透镜揭示了梯度本质上是在大声疾呼: “把与单词‘for’相关的权重推向‘Paris’的概念!”
这证实了反向传播并不是在做抽象的、难以理解的数学运算。它在执行语义算术: 当前权重 + (Paris 嵌入) - (Barcelona 嵌入)。
编辑发生在哪里?
研究人员还分析了模型决定在哪里存储这些新信息。它会平等地更新每一层吗?

图 16 显示了不同层 (Y 轴) 和 Token 位置 (X 轴) 上的更新“强度” (范数) 。
- 最后的主语 Token (“Messi”) 在早期层看到了巨大的更新峰值。
- 提示词的最后一个 Token (“for”) 在中/晚期层看到了峰值。
这表明了明显的分工: 模型在早期处理主语,并在后期确定关系/输出。
应用: 无需反向传播的编辑
这就是“顿悟”时刻。
如果我们知道 \(FF_2\) 的反向传播本质上只是将目标词 (“Paris”) 的嵌入添加到权重中, 为什么我们还需要运行反向传播呢?
计算梯度在计算上是昂贵的。它需要存储激活值、计算导数并移动巨大的矩阵。
研究人员提出了一种名为 “前向传播转移 (Forward Pass Shift) ” 的新方法。
- 运行前向传播以获取最后一个 Token 的输入向量 \(x\)。
- 在模型自己的词汇矩阵中查找目标词 (“Paris”) 的嵌入。我们称之为 \(d\)。
- 通过加上 \(x\) 和 \(d\) 的外积来手动更新权重矩阵 \(FF_2\)。
就是这样。没有导数。没有微积分。只有一次前向传播和一次矩阵加法。
这行得通吗?
他们将这种“前向传播转移”与最先进的模型编辑方法 (如 ROME 和 MEMIT,这些方法涉及复杂的优化) 进行了比较。

表 1 显示了结果。
- 有效性 (Efficacy) : 前向传播转移在让模型说出目标词方面达到了 99.4% 的成功率。这与 ROME 持平,并击败了 MEND 和 MEMIT。
- 流畅度 (N-gram) : 模型生成连贯文本的能力保持在较高水平 (622.45) ,与原始模型相当。
虽然它在“转述 (Paraphrase) ” (将编辑推广到提示词的重述) 方面稍显吃力,但一个源自可解释性研究的简单启发式方法竟然能与重型优化算法相媲美,这令人震惊。这表明我们可能正在发现教导 AI 的“捷径”。
结论
“反向透镜”论文弥合了我们在大型语言模型直觉上的巨大鸿沟。它将反向传播从数学抽象转变为语言叙事。
我们学到了:
- 梯度是低秩的: 它们由简单的输入和误差向量组成。
- 印记与转移: 学习是一个印记输入 (\(FF_1\)) 并将输出 (\(FF_2\)) 向目标转移的过程。
- 语义梯度: 当被投影时,梯度看起来真的就像它们试图教给模型的单词。
- 捷径学习: 我们可以通过仅注入目标嵌入来手动模拟反向传播,从而节省大量的计算资源。
当我们努力使 AI 更安全、更对齐时,理解模型如何学习与理解它们知道什么同样重要。这项工作提供了一个强大的新透镜,让我们能够实时观察这种学习的发生。
](https://deep-paper.org/en/paper/2402.12865/images/cover.png)