英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?

首页 AI资讯 AI技术研报 AI监管政策 AI产品测评 AI商业项目 arena全球大模型排行榜 AI产品热榜 AI 源力市场 AI新闻日报
下载 AITNT APP
🍎 iOS 下载 🤖 Android 下载

英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?
AI技术研报 2026-08-03 10:29
+9396 阅读

近五分钟“肌肉记忆”,推理延迟不随历史增长


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


十字路口一直关注 AI、具身智能与前沿科技中的关键突破,尤其是那些可能改变技术演进路径的范式级进展。我们希望持续介绍这类工作:它们未必已经给出最终答案,却往往预示着下一阶段值得认真追踪的新方向。


一个机器人正在组装一辆玩具车。


它把黄色车顶放到车身上,拿起电钻,但电钻头在第一次尝试时偏离了螺丝。


人类会立即意识到刚才没有成功,重新抬起手臂、调整角度,再试一次。


但机器人要做到这一点,不仅需要看清当前画面,还要记得此前做过什么,以及那次动作是否成功。


7 月 15 日,NVIDIA GEAR 联合来自 Stanford、UT Austin 的团队提出 RoboTTT[1],将机器人策略自身能够直接处理的视觉—动作上下文扩展至 8,000 个时间步,试图让机器人获得跨越数分钟的视觉—动作工作记忆。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


但比“记得更久”更重要的,是 RoboTTT 改变了机器人保存和使用历史的方式。


为什么机器人需要更长的视觉—动作历史


如今,许多机器人基础模型采用单步或短历史视觉—动作上下文,通常根据当前画面或少量历史感知,结合语言指令和本体状态,预测接下来的一段动作。


一些系统还可以借助动作分块、高层规划、子任务预测、循环状态或者外部记忆,弥补底层策略历史较短的问题。


但当正确动作取决于“当前画面中不存在的历史信息”时,单步或短历史策略就会遇到结构性限制。


例如,两个看起来相似的画面,可能分别对应“还没有拧紧螺丝”和“已经完成这一步”。如果机器人不知道此前做过什么,就很难凭借当前画面区分自己究竟处于哪个阶段。


类似的问题也会出现在物体被遮挡时。例如机械臂可能暂时挡住某个零件,而机器人下一步动作仍需参考此前看到的位置。


错误恢复和视频条件模仿则对历史提出了更直接的要求。机器人必须让此前的失败影响当前动作,或者让一段更早的人类演示决定接下来应该组装什么。


因此,当任务具有长时序、状态混淆以及部分可观测特征时,短历史策略可能会触及上述能力边界。


RoboTTT 原理拆解


RoboTTT 将视觉—动作上下文扩展至 8,000 个时间步,按照论文采用的 30 Hz 控制频率计算,这相当于约 267 秒,也就是 4.4 分钟,接近作者所说的五分钟“肌肉记忆”。


这里的 8K 指机器人控制序列中的时间步,而不是 8,000 个文本 token;每个时间步还可能包含多路视觉、本体状态、语言指令和动作信息。


从历史缓存到可学习状态


当 Transformer 处理长上下文时,一种常见做法是将过去的信息保存在 KV Cache 中。


这类似于不断向档案柜里添加文件:每产生一个新 token,模型就保存对应的 Key 和 Value;需要理解当前输入时,再通过 Attention 从历史表示中检索相关信息。


这种方式能够保留相对完整的历史表示,但 KV Cache 也会随着上下文长度增长。模型保存的内容越多,每一步需要处理的历史范围也越长。对于以 30 Hz 持续接收多路视觉与状态信息的机器人来说,完整保留数分钟的视觉—动作历史会带来显著的存储和计算压力。


RoboTTT 采用了另一种思路:它没有使用一个沿时间轴不断增长的 KV Cache 承担长期工作记忆,而是在机器人行动时持续修改一个固定大小的内部模型。这个内部模型的可变参数,就是 Fast Weights


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


需要说明的是,RoboTTT 并没有彻底移除基础 VLA 模型中的 Attention。它保留了原有 Attention 分支,只是将跨越数千个时间步的长期状态主要交给 Fast Weights 处理,再将两条分支的输出结合起来。


一个时间步里发生了什么


Fast Weights 是 RoboTTT 内部模型的一组可变参数,可以表示为 Wₜ。


之所以称为“Fast”,是因为它们不仅在训练阶段更新,在推理阶段也会随着新的感知输入发生变化。相较之下,基础 VLA 的普通参数属于 Slow Weights,在部署推理阶段通常保持冻结。


RoboTTT 在每个时间步中完成以下过程:


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


机器人首先接收当前时间步的多模态输入 xₜ,其中可能包括摄像头画面、本体状态和任务指令。


模型随后通过学习到的投影,从 xₜ 中生成临时的 Key 和 Value:kₜ = Pₖ(xₜ),vₜ = Pᵥ(xₜ)。这里的 kₜ 和 vₜ 不是被追加进 Transformer KV Cache 的历史记录,而是当前时间步构造出的自监督更新信号,作用是决定当前经验应该如何修改 Fast Weights。


RoboTTT 使用 Key-Value Binding Loss 计算更新方向:ℓₜ = ‖f(kₜ; Wₜ₋₁) − vₜ‖²,由此得到梯度:gₜ = ∇_W ℓₜ。可以把这个梯度理解为当前经验对工作记忆发出的一条“编辑指令”。


模型随后在上一时间步的状态 Wₜ₋₁ 上进行增量修改:Wₜ = Wₜ₋₁ − ηgₜ。其中,ΔWₜ = −ηgₜ 表示当前输入造成的参数变化。


模型基于更新后的 Wₜ,并结合基础 VLA 的 Slow Weights 进行动作预测:aₜ = π(xₜ; Wₜ, θ)。其中,θ 代表基础模型的 Slow Weights。


RoboTTT 通过一个学习到的 Gate,将 TTT 分支和原有 Attention 分支结合:oₜ = tanh(α) ⊙ o_TTT + o_attn。基础 VLA 继续负责理解当前画面和语言指令,并生成动作;Fast Weights 则为它提供跨越更长时间的状态信息。


机器人执行动作 aₜ 后,环境发生变化,产生新的感知 xₜ₊₁,同样的过程随即再次发生:xₜ → (kₜ, vₜ) → gₜ → Wₜ → aₜ → xₜ₊₁。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


固定的是容量,变化的是内部参数


从 W₀ 到 W₈₀₀₀,Fast Weights 的矩阵形状始终不变,变化的是矩阵内部的参数值:W₀ ≠ W₁ ≠ W₂ ≠ ⋯ ≠ W₈₀₀₀。这意味着在推理时,系统无须保留此前每个版本的 W,只需携带当前状态 Wₜ 并继续更新。


不过,Wₜ 并不只包含当前输入的影响。由于 Wₜ₋₁ 已经经过此前所有时间步的递归更新,过去经验仍会通过参数变化影响当前状态:W₀ → W₁ → W₂ → ⋯ → W₈₀₀₀。


因此,W₈₀₀₀ 会受到此前序列的累积影响,但无法像录像或完整的 KV Cache 一样,还原此前 8,000 个时间步的原始内容。


RoboTTT 解决的不是如何对越来越长的原始历史执行 Attention,而是如何将越来越长的历史递归压缩进一个固定大小、可以被后续动作利用的内部状态。


在传统推理中,上下文主要是等待模型读取的数据;在 RoboTTT 中,新的输入还会产生梯度,持续修改推理阶段的内部参数。两者差异汇总如下:


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


8K 上下文是如何训练出来的


Fast Weights 解决了长历史如何在推理过程中持续向前传递,但要将预训练上下文真正扩展到 8,000 个时间步,还需要解决长序列带来的显存占用与训练稳定性问题。


如果对整段长序列执行完整的反向传播,模型就需要保留每个时间步产生的中间结果,GPU 显存占用会随着序列长度不断增加。


RoboTTT 因此采用了截断时间反向传播(Truncated Backpropagation Through Time,TBPTT),将长序列切分成多个较短的片段,只在每个片段内部计算梯度。


片段结束时,对应梯度会被截断,但 Fast Weights 会继续传递给下一个片段。也就是说,机器人的内部状态仍沿着整段轨迹连续更新,训练时需要保存的中间结果却主要取决于单个片段的长度,而不是完整的 8,000 个时间步。


不过,TBPTT 控制的是训练过程中的峰值显存,而不是总计算量。序列变长后,模型仍然需要处理更多时间步,因此训练时间和总体计算成本仍会增加。


光让长序列"训得动"只是第一步,模型还得学会"如何利用"这段历史。


RoboTTT 在预训练阶段学习的不只是基础模型的 Slow Weights,还包括生成 Key 和 Value 的投影参数,以及 Fast Weights 的初始状态 W₀。


其中,W₀ 并不是人工设定的固定起点,而是通过外层任务损失进行元学习。在 TBPTT 下,它直接接收来自第一片段的梯度,从而被塑造成一个更适合后续快速更新的初始状态。


换句话说,模型在预训练阶段会反复练习如何将连续经验写入 Fast Weights,以及如何让这些状态变化服务于后续动作预测。预训练序列越长,这套状态更新机制经历的连续更新步数就越多。


另一个关键训练技巧是论文所称的 Sequence Action Forcing


RoboTTT 使用 Flow Matching 学习从噪声中还原正确动作。如果整段序列共享同一个噪声水平,所有动作可能同时变得过于简单或过于困难,长序列训练因此变得不稳定。


Sequence Action Forcing 为每个动作块独立采样噪声水平,让同一序列中同时包含不同难度的训练目标。消融实验显示,去掉 Sequence Action Forcing 后,模型无法稳定生成准确动作,机器人也难以取得有效的任务进展。


整体来看,Fast Weights 负责传递长期状态,TBPTT 控制峰值显存,元学习为 W₀ 提供适合快速更新的起点,Sequence Action Forcing 则提高长序列动作训练的稳定性。这些机制共同支持 RoboTTT 将预训练上下文扩展到 8K。


8K 上下文带来了什么


长任务中的完成表现


研究团队在三个双臂装配任务上测试了 RoboTTT,分别是 Pup Go Car 玩具车装配、Circuit 电路组件装配和 Gear Bot 遥控机器人装配。


实验结果显示,RoboTTT 的平均任务完成分数为 79%,单步上下文 GR00T N1.7 为 42%,加一帧历史的 GR00T N1.7 Hist. 为 49%,Gated DeltaNet 为 56%。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


在平均需要五分钟完成、包含约十个阶段的 Gear Bot 任务中,RoboTTT 是唯一完成过整项任务的模型,10 次测试中完整成功 2 次,其他基线均未完整完成任务。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


分数背后,论文给出了两点定性观察。


其一,RoboTTT 能够区分视觉相似的任务阶段。多阶段装配中,"还没拧紧"和"已经拧紧"的画面可能几乎相同,基线因此会做出错误动作,或者直接跳过阶段;持续更新的 Fast Weights 保留了此前的关键特征,因此能够判断自己当前处于哪一步。


其二,RoboTTT 在插装、卡扣等精细阶段更加准确。论文将其归因于长上下文缓解了部分可观测问题:当目标零件被机械臂暂时挡住时,此前的观察仍然可以指导当前动作。


这两点,分别对应前文提出的“状态混淆”与“遮挡”问题。


另一个值得注意的对照是 GR00T N1.7 Hist.:给 GR00T N1.7 简单拼接一帧历史后,它在 Pup Go Car 上的分数反而从 57% 降到 39.5%。论文认为,直接拼接的历史会引入虚假关联,让机器人在推理时偏离训练分布。


除了整体分数,RoboTTT 的长上下文还进一步展示了以下三项短历史策略难以充分实现的能力。


从一段人类视频中读取目标


在 Circuit 实验中,所有测试都使用相同的语言提示“assemble circuit”。语言本身没有说明应该选择哪些组件,也没有提供安装顺序。目标配置只能从一段人类演示视频中判断,人类完成演示后,实验场景被重置,机器人需要根据此前的视频,复现相同的装配结果。


在该实验中,RoboTTT 的任务完成分数为 65%,10 次测试中完整成功 6 次;GDN 的任务完成分数为 33%,10 次测试均未完整成功。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


这表明 RoboTTT 不仅能让自身的操作历史影响后续动作,也能利用此前的人类演示确定当前任务目标。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


不过,这里的 One-shot 不意味着机器人只看一次视频,就从零掌握一个完全陌生的任务类别。它指的是模型在已经训练过的电路装配任务族中,根据一段视频识别测试时未见过的具体配置和顺序。


在失败后重新调整动作


RoboTTT 通过 DAgger Distillation 学习了“失败—纠正”之间的关系。


训练数据既包含机器人执行失败的动作,也包含随后由人类提供的纠正动作。RoboTTT 将失败动作作为上下文,只在正确的人类动作上计算模仿损失。


这样一来,模型学习到的不只是“正确动作应该是什么”,而是“发生某种失败后,接下来应该如何纠正”。这也解释了开头的钻孔场景,机器人第一次没有对准螺丝后,此前的失败已经进入历史并改变 Fast Weights,进而影响后续动作。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


论文用同一批 100 条 DAgger 轨迹比较了不同的训练方式。


标准 DAgger 只在人类纠正动作上微调,丢弃机器人自己的失败动作。这种做法在四种模型上平均只带来约 9% 的提升,在两个序列模型上也只有约 13%。


DAgger Distillation 把失败动作保留为上下文。同样的数据,为 RoboTTT 带来约 36% 的提升。


论文还验证了一个细节:在这组实验中,将失败动作作为模仿目标并未带来额外收益。让 GR00T N1.7 在包含失败动作的完整轨迹上微调,与只使用人类纠正动作微调的结果相同,均为 57%。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


因此,失败动作的价值不在于让模型模仿,而在于作为上下文,帮助序列模型学习“失败—纠正”之间的关系。


外部扰动后回到正确步骤


DAgger Distillation 考察的是机器人如何纠正自身的失败动作。另一类问题则来自环境被外部改变:机器人此前已经完成了某个步骤,但任务状态随后发生了回退。


为了测试模型对外部扰动的鲁棒性,研究人员在 Pup Go Car 实验中,会在机器人装好黄色车顶后将其拆下,或者在轮胎插入后将其取走。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


仅凭当前画面,策略很难判断零件是从未安装,还是安装完成后又被移除。只有结合此前的操作历史,模型才能意识到任务状态发生了回退,并重新执行对应步骤。


RoboTTT 可以利用此前轨迹在 Fast Weights 中形成的内部状态,返回相应阶段重新安装零件。车顶被拆除后,它在 20 次测试中成功恢复 15 次,GDN 为 13 次,短上下文基线最高只有 10 次;轮胎被取走后,RoboTTT 与 GDN 均恢复 18 次。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


两种扰动合计,RoboTTT 的恢复率为 83%,最佳短上下文基线为 53%。


不过,这组结果需要结合两个前提理解。


首先,团队额外采集了 30 分钟扰动数据,并将其与原有任务数据共同训练。所有方法都表现出一定的恢复能力,论文认为这可能与联合训练有关。因此,RoboTTT 的优势主要体现在更高的恢复率,而不是在没有相关训练数据的情况下从零获得了这项能力。


其次,GDN 在轮胎扰动实验中与 RoboTTT 打平,均为 18/20。这说明,至少在这项实验中,“任务进度”这类相对粗粒度的状态,固定大小的递归记忆也能保留一部分。RoboTTT 与 GDN 差距更明显的场景,是需要从人类视频中提取具体配置和操作顺序的 One-shot 模仿。


上下文长度可能成为新的 Scaling Axis


除了具体任务表现,RoboTTT 最值得关注的结果之一,是模型的闭环表现随着预训练上下文变长而持续提升


研究团队分别使用 128、256、512、1K、2K、4K 和 8K 时间步进行预训练,结果显示,1K 模型的平均任务完成分数为 43.9%,8K 模型则达到 71.5%,相对提高约 63%。相比之下,Gated DeltaNet 并没有呈现同样持续的增长趋势。


英伟达、斯坦福联合发布新工作:机器人上下文扩至8K,意味着什么?


论文将这一差异归因于两类模型不同的状态更新机制。


RoboTTT 通过外层任务损失学习 Fast Weights 的初始状态 W₀ 和更新方式;预训练上下文越长,这套状态读写机制就会在更长的连续轨迹中接受训练。相比之下,GDN 的线性关联状态不具备同样的梯度式元学习过程,也就无法通过相同方式,将更长的训练序列转化为对状态读写机制的持续塑造。


需要强调的是,1K 和 8K 模型的 Fast Weights 矩阵形状相同,扩展的是模型在预训练阶段学习管理这组状态的时间跨度,而不是 Fast Weights 的状态容量


这组结果表明,预训练上下文长度可能成为机器人基础模型的一条新 Scaling Axis。不过,不同上下文长度的实验并未完全固定训练 token 数量、batch size 与总计算量,因此现阶段还不能将这一趋势视为已经得到验证的 Scaling Law。


RoboTTT 的能力边界


RoboTTT 可以持续处理更长的输入,但这并不意味着它拥有无限记忆。


Fast Weights 的容量始终固定,过去经验只能以有损压缩的形式存在。而随着新的信息不断写入,新经验可能覆盖旧经验,相似任务状态可能相互干扰,错误感知也可能污染当前状态。


因此,未来真正重要的问题不只是上下文能否从 8K 增加到 1M,而是当模型运行到第一百万步时,第一千步的重要信息还剩下多少。


RoboTTT 展示的错误恢复也有明确边界。


它的“失败—纠正”能力来自 DAgger Distillation,训练数据中已经包含机器人失败动作与人类纠正动作。


因此,模型在测试时,利用的是训练阶段学到的纠错规律,并不意味着它面对任意未知故障都能自主找到解决方案。


此外,论文所说的“恒定推理成本”也需要准确理解。


它表示每一步的成本不会随着已经处理的历史长度继续增加,而不是 RoboTTT 的绝对计算成本很低。RoboTTT 将 DiT 的参数量由约 5.38 亿增加至约 6.9 亿,实验部署使用的也是配备 NVIDIA RTX 5090 的工作站。


它能否在低功耗边缘机器人芯片上保持同样的实时控制能力,仍有待验证。


RoboTTT 也没有证明机器人可以跨任务、跨天持续学习。


论文实验中的每次 rollout 都从训练得到的初始状态 W₀ 重新开始,当前尚未展示 Fast Weights 中的经验如何跨任务保留、如何在多台机器人之间共享,以及状态受到污染后如何审计和回滚。


实验范围本身也相对有限。


目前的证据主要来自同一种 YAM 双臂机器人平台和三项桌面装配任务,每项正式测试通常只有 10 至 20 次。它是否能够迁移到其他机器人本体、传感器和开放环境,还需要更广泛的验证。


当记忆成为一种学习过程


回到开头那颗没有拧紧的螺丝。


无论是机器人自己没有对准螺丝,还是已经装好的车顶或轮胎被人中途取走,它都需要让此前的感知和动作继续影响当前决策,才能重新调整或返回正确步骤。


RoboTTT 改变的不只是机器人能够利用的历史长度,更是历史进入模型的方式:


长历史并未完整保存在不断增长的缓存中,而是作为学习材料,通过一次次梯度更新,持续改写一个固定大小的内部状态。


参考资料

[1]RoboTTT:https://research.nvidia.com/labs/gear/robottt/#evaluation-results


文章来自于"十字路口Crossing",作者 "Shirley"。

1
AI数据分析

【开源免费】DeepBI是一款AI原生的数据分析平台。DeepBI充分利用大语言模型的能力来探索、查询、可视化和共享来自任何数据源的数据。用户可以使用DeepBI洞察数据并做出数据驱动的决策。

项目地址:https://github.com/DeepInsight-AI/DeepBI?tab=readme-ov-file

本地安装:https://www.deepbi.com/

【开源免费airda(Air Data Agent)是面向数据分析的AI智能体,能够理解数据开发和数据分析需求、根据用户需要让数据可视化。

项目地址:https://github.com/hitsz-ids/airda

2
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner

添加客服微信openai178,进AITNT官方交流群