重新构想 LLM 记忆:将上下文作为训练数据,使模型能够在测试时学习 | Nvidia

作者:Nvidia Developer | 日期:2026年1月9日 

端到端测试时训练(Test-Time Training with an End-to-End formulation,TTT-E2E)使大语言模型能够通过下一词预测将长上下文压缩进模型权重中,在损失缩放和推理延迟方面同时优于全注意力 Transformer 以及 Mamba 2、Gated DeltaNet 等 RNN 模型。TTT-E2E 实现了与上下文长度无关的常数级推理延迟,在 NVIDIA H100 上,128K 上下文相比全注意力实现了 2.7 倍加速,在 2M 上下文下实现了 35 倍加速,并且在大量实验中未出现任何尺度瓶颈。该方法依赖于训练阶段的元学习来为测试时训练准备模型初始化,但当前元学习实现由于 FlashAttention 不支持二阶梯度,在短上下文下比标准预训练慢 3.4 倍,这一限制有望通过自定义内核或混合初始化方式加以解决。

我们不断在新闻中看到上下文窗口越来越大的大语言模型,并伴随着它们能够“记住”完整对话历史、整本书,甚至多个代码库的承诺。然而,这些模型依然会重复犯同样的错误。我们仍然不得不把之前的上下文复制粘贴回对话中,才能让模型“理解”。一个聪明的同事会察觉这些模式,进行适应,并将经验长期保留下来。为什么大语言模型做不到?

在这篇博客文章中,我们观察到大语言模型的记忆与人类记忆之间存在一个关键差异。随后,我们介绍了端到端测试时训练(TTT-E2E)这一最新研究方法,在该方法中,大语言模型通过下一词预测,将其正在阅读的上下文压缩进自身的权重之中。

图 1:上下文长度的扩展性,对应损失(左)和延迟(右)

我们的核心结果如图 1 所示,该图从损失(左)和延迟(右)两个方面衡量了随上下文长度增长的扩展性。使用全注意力的 Transformer 在损失方面具有良好的扩展性,但在延迟方面表现不佳。循环神经网络(RNN),例如 Mamba 2 和 Gated DeltaNet,在延迟方面具有良好的扩展性,但在损失方面表现不佳。TTT-E2E 是唯一一种在损失和延迟两个方面都表现良好的方法。

左图:在 128K 上下文长度下,TTT-E2E 将最差的曲线(灰色)变成了最佳曲线(浅绿色)。损失差值 Δ(↓)作为纵轴,其计算方式为:(报告方法的损失)−(全注意力 Transformer 的损失),因此全注意力本身(深绿色)的损失差值为 0,对应一条水平线。随着上下文变长,其他方法的损失差值不断恶化,而 TTT-E2E 始终保持着相对于全注意力的优势。

右图:与 RNN 类似,TTT-E2E 的推理延迟不随上下文长度变化,在 NVIDIA H100 上,相比全注意力模型,在 128K 上下文下快 2.7 倍,在 2M 上下文下快 35 倍。所有模型参数规模均为 30 亿,训练时使用了 1640 亿 token。

在长上下文与大语言模型研究中,如何在损失和延迟两个方面实现良好的上下文扩展性,是最基础的问题。TTT-E2E 是第一个在该问题上显示出“生命迹象”的方法,而其他方法均表现出本质不同的趋势。此外,在大量严格且广泛的实验中,我们并未观察到 TTT-E2E 的扩展性出现任何“撞墙”现象。这些结果表明,研究社区或许终于在 2026 年找到了长上下文问题的基础性解决方案。

我们的论文和代码均已公开。

论文:https://arxiv.org/pdf/2512.23675

代码:https://github.com/test-time-training/e2e

大语言模型的记忆与人类记忆有何不同?

人类在不断积累“上下文”(即人生经验)的过程中,依然能够持续进步,尽管我们并不能精确回忆所有细节。举例来说,回想你第一次上的机器学习课程。你可能不记得老师讲的第一句话是什么,但你学到的直觉,很可能仍在帮助你理解这篇博客文章,即便那已经是多年前的事情。

相比之下,基于自注意力机制的 Transformer 在处理长上下文时效率低下,其中一个原因在于它们被设计为近乎无损地进行记忆。自注意力的基本形式称为全注意力,它通过缓存并比较每一个 token 的键和值,来维持对所有 token 的完整记忆。因此,全注意力可以轻易关注到每一个细节,但其单 token 的计算成本会随上下文长度线性增长。处理第 1000 万个 token 所花费的时间,是处理第 10 个 token 的一百万倍。

为了在不“烧毁地球”的前提下处理长上下文,现代架构通常会将全注意力与滑动窗口注意力、Mamba 或 Gated DeltaNet 等近似方法结合使用。这些近似方法的单 token 成本是常数级的,但随着上下文变长,其效果会显著弱于全注意力。具体而言,这些方法会丢失那些原本有助于预测未来的重要信息,如图 1 所示。

我们的方法:将上下文压缩进权重

我们如何设计一种既能保持单 token 常数成本,又能记住长上下文中重要、具有预测性和直觉性信息的方法?

关键机制是压缩。比如,人类会将大量经验压缩进大脑中,保留关键信息,而舍弃大量细节。对于语言模型而言,我们知道,通过下一词预测进行训练,本身就是一种将海量数据压缩进模型权重的过程。那么,如果我们在测试阶段继续通过下一词预测对语言模型进行训练,会发生什么?

我们发现,这种简单形式的测试时训练(TTT)在加入另一个关键组件后,效果非常显著。在训练阶段,我们不再使用标准预训练,而是通过元学习来为测试时训练准备模型的初始化。这一改动使得我们的方法在两个层面上都是端到端的(E2E)。其一,我们的内循环直接优化网络末端的下一词预测损失,而不是像以往长上下文 TTT 工作(例如 Titans)那样在中间层进行优化。其二,我们的外循环直接优化经过 TTT 后的最终损失。

RAG 的角色将是什么?

测试时训练更像是在更新人类的大脑,而基于检索的方法(例如 RAG)则更像是把信息写在记事本或日历中,必要时再进行查阅。记事本依然是大脑的实用补充,尤其是在细节至关重要的场景中,例如购买一长串杂货清单。但人类的生产力主要由大脑决定,而不是由他们使用的记事本决定。同样,一个 AI 智能体的生产力,主要取决于它将海量上下文压缩为具有预测性和直觉性信息的能力。

局限性

在训练阶段,TTT-E2E 的元学习过程需要计算梯度的梯度。由于当前 FlashAttention 的标准 API 不支持二阶梯度,我们目前的元学习实现,在短上下文(8K)下比标准预训练慢 3.4 倍。我们可以通过开发支持二阶梯度的自定义注意力内核,或从一个未进行 TTT 的标准 Transformer 进行初始化,来克服这一限制。我们诚邀社区加入这些努力!

结论

如需深入了解方法、实验结果和实现细节,请参阅完整论文《End-to-End Test-Time Training for Long Context》。所有实验均可通过我们公开仓库中的代码和数据集复现。

https://developer.nvidia.com/blog/reimagining-llm-memory-using-context-as-training-data-unlocks-models-that-learn-at-test-time/

如果觉得内容不错,欢迎你点一下「在看」,或是将文章分享给其他有需要的人^^

相关好文推荐:

DeepSeek 抛弃“死算”,给大模型装上了“外挂硬盘”

Manus 中的上下文工程 | Lance

2025:LLM 的一年 | Simon Willison

引入嵌套学习(Nested Learning):一种用于持续学习的全新机器学习范式

如何构建多智能体研究系统

欢迎来到 AI 下半场

真正决定 AI 系统上限的是什么?

AI代理的上下文工程

AI的第一性原理是什么?

理解 LSTM 网络 | Ilya Sutskever’s Top 30 Reading List

循环神经网络不合理的有效性 | Ilya Sutskever’s Top 30 Reading List

复杂动力学第一定律 | Ilya Sutskever’s Top 30 Reading List

赋权于民:大语言模型如何逆转技术扩散的范式 | karpathy

软件 2.0 | karpathy

心智的空间 | karpathy

“通用智能根本不存在”?Yann LeCun 与 Demis Hassabis 正面开撕

可验证性 | karpathy

动物 vs 幽灵 | karpathy

2025年 LLM 年度回顾 | karpathy

让 AI 真正拥有“长时记忆”的开端

聊一聊OpenAI新发布的Apps SDK
苦涩的教训

0条留言

留言