当前的机器人基础模型已经能够执行“清洗煎锅”“叠衣服”或“制作花生酱三明治”等指令,完成精细而复杂的运动技能。但我们不只是希望机器人执行短暂的单项技能,还希望它们能够完成一项工作,例如清理整个厨房或烹饪一顿饭。随着单项技能日益稳健,瓶颈越来越多地转移到机器人如何部署这些技能来解决复杂任务上,而不再是技能本身。对于清理厨房或准备饭菜这类复杂的多阶段行为,仅掌握单项运动技能还不够。机器人必须保持对任务进展的连贯叙事,即使相关物体不在视野中,也要记住它们的位置,并回忆过去哪些做法有效、哪些无效,以避免重复相同的错误。
这同时需要长期记忆和短期记忆。将机器人几分钟甚至几小时的全部观测持续放在上下文中是不可行的,但把它们全部丢弃又会导致机器人在长时任务中表现得毫无逻辑。设计不当的记忆系统甚至会损害性能,产生一种被称为“因果混淆”(causal confusion)的现象:记忆会放大混淆机器人模仿学习的虚假相关性。有效设计机器人记忆架构的困难,也是即便学习系统本身能力不弱,研究者通常仍只在持续几分钟、控制严密的短任务上展示它们的原因之一。
我们开发了一种称为多尺度具身记忆(Multi-scale Embodied Memory,MEM)的方法,为模型提供记忆,使其能够执行清理整个厨房、从零制作烤奶酪三明治等超长任务。MEM 让模型能够跟踪最长十五分钟的任务,同时保留短期记忆和长期记忆,甚至通过上下文内适应(in-context adaptation)纠正错误。MEM 提供了一种多模态记忆机制:短期记忆以原始观测的形式维护,长期记忆则以自然语言中的抽象概念存储。模型通过一种推理机制主动选择记住什么以及如何记忆;该机制也用于选择高层子任务,因此模型实际上同时在推理“做什么”和“记住什么”。
下面先展示配备 MEM 的 π₀.₆ 示例,再介绍 MEM 的工作方式。
配备 MEM 的 π₀.₆ 示例。
多模态记忆
复杂的物理任务需要先进的记忆系统:机器人可能需要极其详细地记住最近发生的事件,同时也可能需要跨越很长时间维护记忆,例如记住厨房的哪一部分已经清理过。将所有这些记忆以原始图像的形式塞进模型上下文并不现实;考虑到机器人还需要实时控制,这一点就更加不可行。
MEM 存储两类记忆:近期观测构成的短期记忆,以及关于任务进展的长期“笔记”。两类记忆都经过优化,以减少传入模型的 token 数量,从而保持极快的推理速度。短期观测使用一种视频编码器设计进行编码,该设计交错使用空间注意力和时间注意力层,以实现更高效的视频处理(见下方示意图)。
长期记忆由对过去事件的文本描述组成。配备 MEM 的 π₀.₆ 模型建立在 π₀.₅ 的设计之上,采用类似思维链(chain of thought)的推理过程:高层子任务(如“拿起盘子”或“清洗碗”)以较低频率选取,而动作则根据最新子任务以高频率选取。MEM 将这一高层子任务推理过程扩展为同时生成新的文本记忆,并把这些记忆提供给未来的推理步骤。模型可以通过多种方式训练来记忆事件:除了记录选定的具体子任务,还可以总结过去的事件(例如,在“拿起绿色盘子”之后再“拿起黄色盘子”,可以总结为“我拿起了盘子”),并在保持上下文总大小可控的同时,动态选择恰当的事件表示。
长期记忆和短期记忆结合起来,使模型既能跟踪极其漫长、复杂任务中的步骤,又能极其细致地记住最近发生的事件,从而弥补遮挡,并通过上下文内适应提升模型的稳健性。定量结果显示,这在一系列困难任务上带来了显著改进。下面给出定量结果,随后讨论我们的定性观察。
借助短期记忆进行上下文内适应
将记忆融入 π₀.₆ 后,模型具备了上下文内适应能力。与没有记忆的模型相比,增强记忆的模型表现出更高的稳健性和可靠性,因为它可以根据记忆中的自身过往行为调整策略。
在下面的示例中,机器人尝试拾起一根扁平的小筷子。没有记忆时,机器人往往会一再以相同方式失败。由于它记不住上一次尝试,便只会重复相同的行为。具备记忆后,机器人在第一次失败后会换一种方式尝试,最终成功拾起筷子。
拾取筷子:没有记忆时,机器人重复同一个失败策略;有记忆时,机器人观察到失败后成功调整了方法。
接下来,我们设置了一个必须进行上下文内适应才能成功的场景:冰箱门从图像中无法判断应该向哪个方向打开。正如预期,具备记忆的策略先尝试向一个方向打开,再尝试另一个方向:
打开冰箱:具备记忆的模型在尝试错误方向后能够适应,而没有记忆的模型会不断重复相同的方法。
这种上下文内适应是一种强大的工具:要让模型永不犯错非常困难,但如果模型只需尝试一两次就能迅速适应错误,那么它很可能在广泛的任务中取得更高的成功率并表现得更加稳健。
长时任务
我们在三个长时场景中评估了配备 MEM 的 π₀.₆;这些场景在短期记忆和长期记忆方面的难度逐步增加。首先,我们让机器人制作烤奶酪三明治。这个任务对短期记忆尤其具有挑战性,因为模型需要将三明治烤制恰当的时间,同时还要执行翻面、摆盘等灵巧步骤。
机器人从零制作烤奶酪三明治,利用短期记忆跟踪时间和任务进度。
接着,我们要求机器人取出食谱所需的食材。这要求配备 MEM 的 π₀.₆ 跟踪食材的位置,记住关闭柜门和抽屉,同时正确解析用户指令。
机器人取出食谱食材,跟踪已取出的物品及其位置,并记住关闭柜门和抽屉。
最后,我们在最长的任务上测试了模型:清理整个厨房。这需要将物品收进冰箱和橱柜,用洗洁精和流水清洗餐具,并擦拭台面。短期记忆用于正确刷洗餐具,长期记忆则用于跟踪哪些阶段已经完成。
机器人擦拭并擦干台面、收纳物品、清洗餐具,利用长短期记忆跟踪各阶段的进展。
未来方向
MEM 让模型更加稳健,也让模型能够在更长时间内遵循复杂得多的 prompt。我们正在逐渐接近看起来像真实工作的任务,而不是单个原子动作。未来,用户或许不只是向机器人下达“叠我的衣服”这类简单指令,而是给出完整的家务安排(“我下午 6 点回家,请准备好晚餐,并在每周三打扫房子”);模型需要解析这个 prompt,将其拆解为具体计划,并在数小时、数天乃至数周的时间里持续跟踪计划。对于如此长的时间尺度,维持经典的视频上下文并不可行;我们预计,这类模型的记忆系统需要具备多个时间尺度和多个抽象层级。
如果你有兴趣参与这项工作以及其他具身智能能力的开发,欢迎联系我们。