大型语言模型 (LLM) 通常让人感觉与魔法无异。它们能写诗,能用 Python 编程,还能总结历史。然而,尽管它们能力超群,却经常在需要简单顺序逻辑的问题上栽跟头——研究人员称之为“多跳查询” (multi-hop queries) 。
试想这样一个问题: “Imagine 的演唱者的配偶是……”
对人类来说,这是一个直截了当的两步过程。
- 第一跳 (Hop 1) : 谁演唱了 Imagine? -> John Lennon 。
- 第二跳 (Hop 2) : John Lennon 的配偶是谁? -> Yoko Ono 。
理想情况下,LLM 应该在内部执行完全相同的过程。然而,模型经常出错。尽管它们“知道”这两个独立的事实 (Lennon 唱了 Imagine 以及 Yoko Ono 是他的配偶) ,但它们可能会产生幻觉,或者根本无法建立联系。
在一篇题为 “Hopping Too Late” (跳得太晚) * 的引人入胜的研究论文中,来自特拉维夫大学、伦敦大学学院 (UCL) 和 Google Research 的研究人员调查了发生这种情况的原因*。通过窥视 Transformer 模型的“大脑”,他们发现了一个严格的内部时间线。他们的发现表明,LLM 的失败并非因为缺乏知识,而是因为它们耗尽了“时间” (具体来说,是层数) 来处理这些知识。
在这篇深度文章中,我们将探讨他们的方法论、他们发现的“潜在推理路径”,以及一种名为“回溯修补” (back-patching) 的新颖技术,该技术证明我们可以通过倒拨模型的内部时钟来修复这些错误。
多跳查询的解剖
要理解解决方案,首先需要理解问题。研究人员主要关注两跳查询 (Two-Hop Queries) 。 这些问题由共享一个“桥接实体”的两个事实组成。
- 事实 1: (Imagine, 演唱者, John Lennon)
- 事实 2: (John Lennon, 配偶, Yoko Ono)
在这种情境下:
- 源实体 (Source Entity, \(e_1\)) : Imagine
- 桥接实体 (Bridge Entity, \(e_2\)) : John Lennon
- 目标实体 (Target Entity, \(e_3\)) : Yoko Ono
给模型的查询是: *“The spouse of the performer of Imagine is” (Imagine 的演唱者的配偶是) *。
研究人员基于 Wikidata 创建了一个包含超过 82,000 个此类查询的新数据集,以测试包括 LLaMA 2、LLaMA 3 和 Pythia 在内的各种模型。他们对数据集进行了过滤,以确保测试的是真实的推理能力,剔除了模型可能仅凭流行度或简单的词语联想就能猜出答案的情况。
假设: 潜在推理
核心假设是模型执行的是潜在多跳推理 (latent multi-hop reasoning) 。 这意味着模型不会在文本中输出“John Lennon”这个名字;在转向 Yoko Ono 之前,它会在内部“想到” John Lennon。
如果这个假设成立,我们应该能够在模型处理句子时,在其神经网络内部的某个地方找到代表“John Lennon”的数学表示 (向量) 。

如图 1 所示,研究人员提出了一个具体的路径:
- 解析第一跳: 模型意识到“performer of Imagine”指的是 John Lennon。这应该在早期发生,靠近 token “Imagine”。
- 传播: 这个信息通过网络层传播到句子的末尾。
- 解析第二跳: 模型利用“John Lennon”这个概念找到配偶,在最后一个 token 处得出“Yoko Ono”。
观察内心独白: “Patchscopes” 方法
如何读取模型的心思?如果你看 Transformer 内部的原始数值 (隐藏状态) ,它们看起来就像随机噪声。
以前的研究通常使用“词汇投影” (vocabulary projections) ——本质上是检查字典中的哪个词最匹配当前的隐藏状态。然而,这是一种粗糙的工具。一个隐藏状态可能包含一个复杂的概念,还不能完美地映射到单个词上。
这篇论文的作者采用了一种更先进的技术,称为 Patchscopes 。
Patchscopes 背后的直观逻辑简化如下: 想象模型在特定层有一个思维向量 \(v\)。我们想知道这个思维代表什么。我们将这个向量 \(v\) “修补” (粘贴) 到一个旨在提取定义的提示词中,比如“x is…” (x 是……) 。然后我们让模型生成文本。如果模型将句子补全为“John Lennon is an English singer…”,我们就知道向量 \(v\) 编码了 John Lennon 的概念。
这使得研究人员能够逐层解码模型的“潜在” (隐藏) 思维。
发现: 一条顺序流水线
利用 Patchscopes,研究人员分析了桥接实体 (\(e_2\),如 John Lennon) 和目标实体 (\(e_3\),如 Yoko Ono) 出现在模型层中的位置。
回想一下,Transformer 是分层处理文本的,编号从 0 (底部) 到 32 或 80 (顶部) 。信息是向上传播的。
1. 第一跳发生得早
研究人员探测了第一个实体位置 (“Imagine”的 token,表示为 \(t_1\)) 的隐藏状态。
他们发现桥接实体 (John Lennon) 出现在模型的早期层中。

图 2 清晰地展示了这一点。请看蓝线。它代表从第一个 token 位置 (\(t_1\)) 解码出桥接实体 (\(e_2\)) 。你可以看到它在早中期层达到峰值 (对于 LLaMA 2 13B 大约是第 5-15 层) 。
这证实了当模型在阅读单词“Imagine”时,它的底层已经在将其逻辑解析为“John Lennon”。
2. 第二跳发生得晚
接下来,他们观察了提示词的最后一个 token (“is”,表示为 \(t_2\)) 。
他们寻找的是目标实体 (Yoko Ono) 。 图 2 中的橙色虚线代表了这一点。注意它是如何在早期层保持接近零,并且仅在较晚的层 (20 层之后) 才开始显著上升。
这证实了计算的顺序性质。模型实际上是在表达:
- 层 0-15: “Imagine” \(\rightarrow\) John Lennon
- 层 16-30: John Lennon (在句子末尾) \(\rightarrow\) Yoko Ono
3. 传播间隙
如果“John Lennon”是在单词“Imagine” (\(t_1\)) 处解析出来的,但答案“Yoko Ono”需要在单词“is” (\(t_2\)) 处生成,那么信息必须跨越整个句子进行传输。
研究人员使用“注意力敲除” (Attention Knockout) ——一种切断词与词之间联系的方法——来验证这一点。他们发现中间层负责将“John Lennon”的信息从句首移动到句尾。
“跳得太晚”问题
到目前为止,我们描述了一个成功的推理过程。但是当模型出错时会发生什么呢?
研究人员比较了正确与错误预测的内部时间线。他们发现了一个惊人的模式: 在错误的案例中,第一跳发生得太晚了。

图 4 提供了 LLaMA 3 8B 的箱线图比较。
- 蓝色 (条纹) : 正确答案。
- 橙色 (圆点) : 错误答案。
看一看“Prediction Extracted” (预测提取) 一栏。对于错误的答案,最终预测的提取被推到了最末端的层 (顶部的离群值) 。
这意味着什么是非常深刻的。Transformer 具有固定的深度 (例如 32 层) 。如果模型“拖延”了,直到第 25 层才解析出“John Lennon”,那么它只剩下 7 层来将该信息传输到句尾并弄清楚配偶是谁。它耗尽了计算深度。工厂流水线在产品完成之前就结束了。
验证理论: 回溯修补 (Back-Patching)
为了证明“层数耗尽”是失败的原因,研究人员设计了一个巧妙的实验,称为回溯修补 。
如果问题在于模型得出“John Lennon”概念的时间太晚 (比如在第 20 层) ,那么如果我们能将该信息送回过去会怎样?
实验步骤
- 向前运行模型。
- 在较晚的层 (例如第 20 层) 捕获代表“John Lennon”的隐藏状态。
- 重新运行模型,但这次,将该隐藏状态注入 (修补) 到同一位置的较早的层 (例如第 10 层) 。
这实际上给了模型额外的 10 层处理时间。它模仿了循环神经网络 (RNN) 或循环结构,允许模型在同一个 token 上“思考更久”。
结果
结果令人瞩目。

图 5 可视化了回溯修补的成功率。
- 图 (a): 在第一个 token (\(t_1\)) 处进行回溯修补。亮点显示,从较晚的源层获取信息并将其注入到较早的目标层,通常可以修复错误。
- 图 (b): 在最后一个 token (\(t_2\)) 处进行回溯修补。这种方法更为有效。
研究人员发现, 回溯修补可以修正高达 66% 的先前错误的查询 。
这是一个关键的发现。这意味着模型拥有知识。它知道谁演唱了 Imagine,也知道那个人的配偶是谁。它只是没有正确的“电路”排列,无法在单次前向传播有限的层数内执行完这两次跳跃。
当研究人员通过回溯修补人为地扩展模型的深度时,推理过程便“各就各位”了。
这为何重要?
这篇论文揭示了 Transformer 架构的基本限制。
1. Transformer 是顺序处理器 我们通常认为神经网络是模糊的黑盒,但这项研究强调了一个结构化的、几乎机械的管道。事实 A 必须在事实 B 被访问之前得到解析。如果事实 A 解析得太慢,事实 B 就永远不会发生。
2. 深度限制 Transformer 中固定的层数不仅仅是容量问题;它是对顺序推理步骤的限制。一个 32 层的模型可能在物理上无法解决 5 跳查询,仅仅因为它无法在到达输出层之前完成序列。
3. “系统 2”思维的潜力 回溯修补的成功表明,未来的架构可能会受益于“循环”——将信息循环回层中,以便在不增加模型物理尺寸的情况下进行更深层次的推理。这模仿了人类的“系统 2”思维,即我们在遇到复杂问题时会停下来深思熟虑,而不是脱口而出想到的第一件事。
结语
“Hopping Too Late” 为 LLM 为何在多部分问题上挣扎提供了一个令人信服的机制解释。这不一定是缺乏训练数据或智力,而是前向传播机制的结构性限制。
通过可视化推理路径,研究人员展示了“桥接实体” (中间步骤) 至关重要。当模型在其层中尽早解析出这个中间步骤时,它就能得出正确答案。当它解析得太晚时,它就会失败。
回溯修补的引入——将信息发送回更早的层——既验证了这一理论,也暗示了未来模型的构建方式。如果我们能允许模型在遇到复杂逻辑时“循环利用”它们的层,我们可能会解锁更高水平的推理可靠性。
](https://deep-paper.org/en/paper/2406.12775/images/cover.png)