機器人怎么才能“记住“十秒钟前发生的事

機器人怎么才能“记住“十秒钟前发生的事 有一个实验场景特别有意思。桌上摆着几个方块机器人先看到红色和蓝色两个方块被短暂高亮了一下标记很快就消失了。接着任务指令是把刚才被标记过的方块都捡起来。一个只看当前画面的机器人会怎么做它会在桌上来回扫视因为眼前的画面里根本没有任何高亮痕迹那两个方块和其他方块长得一模一样。实验里这样的机器人最终超时失败什么都没抓到。而另一个机器人做到了。它记得几秒钟前看到的那个高亮瞬间径直走向蓝色方块抓起来再走向红色方块抓起来任务完成。这个对比揭示了一件很朴素但常被忽略的事机器人光靠看当前这一帧是远远不够的很多任务的关键信息压根不在眼前的画面里而在几秒钟、几十秒前发生过的某个瞬间。**核心问题出在哪**先说一个具体到扎心的数字。在一个叫RoboMME的评测基准上一个只看当前观测的机器人控制模型论文里称为π0.5成功率只有17.93%。哪怕给它加上过去动作的记录成功率也只涨到19.73%。而人类做同样的任务成功率是90.50%。 RoboMME*一个专门用来测试机器人记忆能力的评测基准包含16个任务分为计数、物体恒存、指代消解、模仿学习四大类考察机器人能不能记住之前看到但当下已经消失的信息。这个差距不是小打小闹而是接近73个百分点。换句话说人类做10个任务能成9个而当时最好的无记忆机器人做10个任务成功的还不到2个。这基本上说明不是机器人的手不够灵巧是它的脑子根本没有把过去的信息用起来。那为什么不直接给机器人加个记忆模块呢其实业内已经有不少团队在做这件事了方法五花八门有的把历史画面采样后压缩塞进控制器FrameSampModul有的建立一个专门的关键帧检索库MemER有的用分割模型建一个视觉记忆库SAM2Act。这些方法都要为记忆这件事单独设计一套机制采样规则怎么定、存储结构怎么建、检索时机怎么触发每一样都要工程师精心调试。论文的研究者们想问一个更根本的问题既然大语言模型天生就很擅长处理长篇上下文能记住几万字之前提到的细节能不能直接把这种能力搬过来给机器人用而不是从零造一套记忆系统这就好比你要给一个新员工配一套档案管理系统。一种做法是专门设计一套文件柜、索引卡片、检索流程让他每次需要查资料时去翻卡片。另一种做法是这个员工本身脑子里就装着大量知识和长期记忆的能力就像一个博览群书的老员工你只需要让他把工作过程中看到的东西自然地记在脑子里需要时直接想起来就行不用额外配一套外部档案系统。如果不利用他本身的记忆能力非要给他配一套外部系统那这套系统的可靠性、检索速度、覆盖面都要单独从头验证而且系统规模想扩大时往往要把整个流程推倒重来。论文提出的方法就是选择了后一种思路。**PonderPounce两套系统一快一慢**这套系统给自己起了两个名字一个叫Ponder意为沉思一个叫Pounce意为扑击。 Ponder*论文里的System 2一个90亿参数的多模态大语言模型MLLM负责持续积累任务指令、历史观测、演示视频等信息在自己的上下文里进行慢速但深入的思考。 Pounce*论文里的System 1一个负责实际控制机械臂动作的模型接收当前画面、指令和机器人自身姿态信息输出具体的动作指令运行速度快是真正干活的那个。这两个名字其实借用了心理学家丹尼尔·卡尼曼在《思考快与慢》里提出的双系统理论System 1负责快速直觉反应System 2负责慢速深思熟虑。机器人控制里也有类似的分工动作要快论文里做到了20赫兹的播放频率也就是每秒钟输出20次动作指令但理解和记忆可以慢一点。Ponder做的事情很像一个不停记笔记的观察者。它把每次看到的画面、收到的指令、看过的演示视频全部append追加进自己的上下文里从来不删除只往后堆。这个上下文机制本质上就是大语言模型自带的因果注意力结构模型天生就知道怎么在一长串历史信息里找关联、做推理。论文没有给它加任何额外的采样器、检索器或者压缩模块就是让它用自己原本的能力去记住。每隔一段时间Ponder会把自己当前的思考状态浓缩成一个东西叫作认知令牌cognition token。 认知令牌*Ponder把当前的思考状态压缩成的一小段连续向量不是文字传给Pounce使用是连接慢脑和快脑的信息通道。Pounce并不直接读取Ponder的完整历史记录它只拿到最新的一份认知令牌以及这份令牌多老了论文里叫年龄也就是这份认知距离现在过去了多长时间。这个设计其实特别像一个大公司里的运作方式。总部Ponder不断收集各地分公司的报表、市场动态、历史数据做长期的战略分析这个分析过程可能需要几分钟甚至更久。但一线的执行团队Pounce不可能等总部想清楚了才动手他们需要立刻响应眼前的客户需求。所以总部会定期发一份战略简报给一线简报上还标注了发布时间。一线团队拿着这份简报加上眼前的实际情况做决策而不是每次决策都要连线总部从头汇报一遍。如果不这样分工让一线团队每次做决定都要等总部实时分析完整份历史资料再答复那响应速度会慢到无法忍受客户早就走了。论文里给出的具体数字是如果每次都要重新编码整个历史上下文一次认知刷新要花521毫秒优化过后压缩到了78毫秒这中间的差距决定了机器人是卡顿还是流畅。这套异步机制还有个细节值得说一下两个系统的时钟是完全独立的。训练时Pounce大约每100毫秒被调用一次Ponder大约每1秒生成一次新的认知中间还加了300毫秒的计算延迟模拟真实系统里的信息传递耗时。评测时两者都固定在1赫兹也就是一秒一次。**怎么训练这套系统怎么让认知令牌真正有用**光有架构还不够怎么训练是另一个大问题。论文的做法是端到端联合训练两个模型的参数除了底层动作模型本身冻结的那部分一起更新没有单独给桥接部分做预训练。这在直觉上有点反常因为很多类似的系统会先分别训练两个模块再想办法拼接论文里提到已有研究报告过这种联合训练容易失败或者容易出现捷径现象也就是模型学会了偷懒绕过真正该学的东西走捷径达到低损失。为了应对这个问题论文引入了一个叫grounding落地监督的机制。 grounding*让Ponder的语言模型头LM head负责生成文字的那部分在训练时接收额外的监督信号包括判断现在是不是该生成子目标了的转换判断、具体的子目标文字描述以及演示推理文字这些文字信号帮助Ponder的认知状态学到更有意义的内容但最终这些文字本身不会传给Pounce只是用来塑形认知令牌。这里有个很微妙的设计文字本身留在System 2内部不出门。Pounce始终只拿到那个连续的认知向量从没见过具体的文字。这是因为论文观察到如果直接让Pounce依赖文字子目标一来生成文字要花时间论文里测出生成45个字符的子目标要花0.82秒比认知令牌刷新慢了十倍二来纯文字容易压缩掉太多细节变成一句笼统的去抓那个方块却丢了哪个方块之前被标记过这种关键但难以用一句话讲清楚的视觉线索。实验结果证实了这套监督确实有用。去掉演示推理这部分监督RoboMME上的平均成功率从60.83%掉到48.21%掉了超过12个百分点。如果把所有LM头的监督全部去掉成功率进一步跌到27.96%几乎腰斩。这说明这个内部说话的训练过程哪怕最后不直接传给动作模型也在实实在在地塑造着认知令牌里装的内容。论文还做了个对照实验测试如果换一种更传统的方式直接把子目标文字而不是连续向量传给Pounce会怎样。结果是59.96%比连续认知令牌的60.83%略低一点点但这个差距0.87个百分点比同一个模型不同评测批次之间的正常波动2.63个百分点还要小。这说明连续认知令牌至少不比传统文字方案差但也没有压倒性优势更准确的说法是打了个平手只是连续方案在速度上占了大便宜。**认知必须要新鲜吗**这里有个特别值得琢磨的实验。论文测试了一件事如果Ponder持续在后台工作但Pounce只在该切换子目标的那一刻才接收新认知中间的时间就一直复用上一次的状态会怎样结果相当惊人成功率从60.83%直接暴跌到1.83%。这就像你本来每隔几秒钟就跟对讲机另一头的同事同步一次现场情况突然改成只有在任务彻底切换时才通话一次中间几十秒完全靠沉默硬扛。哪怕你手里的信息理论上还是有效的缺了那种持续的、细粒度的更新节奏整个配合就散架了。这个实验说明至少论文报告的这个训练配置下模型已经学会了依赖那种频繁刷新的节奏突然改变节奏它就懵了。但这不代表稀疏更新这条路走不通只是说明如果训练时用的是频繁刷新这套逻辑测试时就不能临时改成稀疏刷新这是训练和推理之间必须匹配的一个约定而不是认知内容本身没用。论文还专门做了个陈旧度实验让认知令牌故意延迟0.3秒、1.3秒、2.3秒、4.3秒才送达看模型的动作预测损失怎么变化。用1秒刷新频率训练出来的模型在认知延迟到2.3秒时损失飙升到新鲜状态的7.11倍到4.3秒时飙到9.22倍。但如果换成用2秒或4秒刷新频率训练的模型同样在4.3秒延迟下损失只涨到3.19倍和1.14倍。这揭示了一个权衡训练时刷新越快模型对新鲜度的依赖就越强一旦真实场景里认知稍微慢了半拍表现就崩得厉害训练时故意用慢一点的刷新频率模型反而对延迟更宽容但代价是在正常新鲜状态下的基础表现会打折扣论文里的具体数字是1秒训练下新鲜损失是0.1172秒和4秒训练下涨到0.213和0.232。这就跟人一样如果你习惯了实时刷新的信息流一旦网络卡顿你会特别抓狂但如果你本来就习惯每天只看一次新闻突然断网一天你完全不会觉得有什么异常。**换一个更小的大脑会怎样**论文还做了一个特别直白的对照实验用来验证一个核心猜想控制器的表现是不是真的会随着这个记忆大脑的规模变大而变好他们把90亿参数的Ponder换成8亿参数的版本其他所有东西包括Pounce的架构和两者之间的接口协议保持不变。结果90亿参数版本的成功率是60.83%8亿参数版本是50.04%差了整整10.79个百分点。这个结果支撑了论文一个很关键的论点System 2的规模可以独立于控制器进行扩展换句话说你想让机器人变得更聪明不需要重新设计整个控制器架构只需要给它换一个更大的记忆大脑就行。不过论文也很坦诚地报告了一个失败案例如果不用预训练的语言模型而是让90亿参数的Ponder从随机初始化开始训练训练完全不收敛最终成功率是0%。这说明这套方法目前高度依赖预训练模型自带的那种理解和整合信息的底子不是随便找个同等大小的神经网络架构就能凑效。**数据说了什么**在RoboMME这个16任务的评测基准上用基础规模的训练数据PonderPounce拿到60.83%的平均成功率而此前最强的非oracle基线FrameSampModul是44.51%差了16.32个百分点。当训练数据扩大到9倍规模PonderPounce涨到75.54%FrameSampModul涨到57.88%差距进一步拉大到17.66个百分点。分类目来看PonderPounce在物体恒存Permanence比如记住藏在杯子下面的东西和指代消解Reference比如记住演示里选中的是哪个目标这两类任务上表现尤其突出两个数据规模下都是最强。但在模仿学习Imitation需要精确复现一个演示动作序列的细节这类任务上FrameSampModul反而更强一些。这说明依赖上下文推理适合处理那种需要记住抽象事实的任务而直接复用具体画面帧对那种需要精确复现动作细节的任务可能更直接有效。没有一种记忆方式能通吃所有情况。在另一个叫RoboCasa-DC的评测里任务是给机器人看一段演示视频让它学着完成同样的操作。这个数据集没有额外的子目标或推理标注训练只靠动作监督本身。PonderPounce拿到12.5%的成功率此前最强的公开基线SeeTraceAct是11.6%。如果把认知令牌换成一个学习到的空状态相当于完全不给Pounce任何来自Ponder的信息成功率跌到8.6%。这个跌幅证明哪怕没有文字层面的额外监督认知令牌本身依然在实实在在地影响着控制效果。**这套系统跑得动吗**这套方法听起来很美好但一个现实问题是一个90亿参数的语言模型持续跑在机器人的控制回路里会不会慢得没法用论文花了不少篇幅讲工程优化。核心手段是用append-only只追加不重写的StaticCache配合融合过的Triton内核。优化前Pounce单次调用要142毫秒优化后降到25毫秒快了5.7倍。Ponder的认知刷新未优化时要521毫秒优化后降到78毫秒支撑住了每秒一次的刷新频率同时动作播放能跑到每秒20次。这个数字背后其实藏着一个朴素的道理再聪明的大脑如果反应慢到跟不上手脚的节奏也没用。这套系统能落地一半功劳在架构设计另一半功劳在把工程细节磨到位。写在后面读完这篇论文最让我意外的一点是记忆这件事在机器人研究里居然长期被当成一个需要专门造轮子的问题。大家默认的思路是既然机器人任务和自然语言任务不一样那记忆机制也得重新设计一套。但这篇论文用一个挺朴素的实验证明了另一种可能预训练语言模型积累的那种整合长篇上下文的能力本身就是一种现成的、质量很高的记忆基础设施直接拿来用可能比从零造一套专门的机制更省事也更有效。论文里有个细节我觉得特别值得单独说一下8.6%对12.5%这个差距看起来不大但它出现在一个几乎没有任何标注监督的场景RoboCasa-DC没有子目标或推理标注。这说明就算完全靠动作数据本身的反馈认知令牌依然能学到有用的东西这比必须靠精心设计的文字监督才能让认知有意义这个假设走得更远一点。另外一个让我反复想的地方是那个稀疏更新实验的暴跌结果从60.83%到1.83%。这不是一个渐进式的性能下降是断崖式的崩溃。这提醒我一件事很多AI系统的鲁棒性其实是训练配方决定的而不是架构本身天然具备的。同一套架构换一种训练节奏行为可能完全不一样。这对任何想把这套思路搬到别的场景里用的人都是个提醒接口设计好了不够训练和部署时的节奏必须严格对齐。论文里没有回答的问题还有不少。比如这套方法在真实机器人而不是模拟器上到底行不行作者自己也承认目前只在两个模拟基准上验证过。再比如认知令牌里到底装的是什么内容论文用消融实验证明了它有用但没有真正打开黑箱看看里面装的是抽象的空间坐标、颜色标签还是别的什么东西。一个记忆系统规模越大记性越好这事听起来理所当然可如果哪天有人证明反过来更小的记忆反而更稳那会不会又是一次认知颠覆QAQ1PonderPounce是什么APonderPounce是一套让机器人具备情景记忆能力的双系统架构用预训练大语言模型Ponder负责记忆和思考用动作模型Pounce负责实际控制两者通过一个连续的认知令牌异步通信。Q2PonderPounce和传统的机器人记忆方案有什么区别A传统方案通常要专门设计采样器、检索库或压缩模块来存储历史信息而PonderPounce直接复用预训练大语言模型自带的因果上下文能力作为记忆不需要额外造一套记忆机制规模也能独立扩展。Q3PonderPounce的效果到底好在哪里A在RoboMME基准上PonderPounce基础数据规模下成功率达到60.83%9倍数据规模下达到75.54%均高于此前最强基线FrameSampModul的44.51%和57.88%在RoboCasa-DC上也超过了公开最强基线。