机器人仍卡在“最后一公里”,7位研究者谈具身智能的真实进展

2026 年 8 月 10 日,在 YC 总部举行的 Paper Club 机器人专题活动中,来自人工智能与机器人领域的顶尖研究者齐聚一堂,演讲嘉宾阵容涵盖了当前具身智能领域最活跃的几位青年研究者:斯坦福大学博士生 Marcel Torne,他在 Physical Intelligence 实习期间完成了多尺度具身记忆(MAM)的核心工作;斯坦福大学博士生 Milan Ganai,他的研究聚焦于具身推理的自监督学习,目前在 Waymo 从事自动驾驶相关研究;斯坦福大学博士生 Tyler Lum,他在 Jeannette Bohg 和 Karen Liu 指导下完成了 SimToolReal 这一零样本灵巧工具操作工作;Rerun 联合创始人兼 CEO Niko West,他曾在物理世界应用的机器学习与计算机视觉领域深耕十年;以及 General Instinct 的两位创始人 Bill 与 Guanming,他们分别拥有 VLM 和机器人强化学习的深厚背景。
这一年里,视觉语言动作模型(VLA)逐渐走向成熟,世界动作模型(WAM)开始崭露头角,仿真到现实的强化学习在灵巧操作上取得了令人瞩目的突破,而关于“机器人应用公司”的创业方法论也逐渐浮出水面。在这样的背景下,七位研究者围绕具身智能的核心障碍、记忆机制的引入、推理内容的选择、仿真训练的泛化能力以及世界模型的高效部署,给出了各自的最新判断与实践经验。
本文编译自YC博客内容,原文链接https://www.youtube.com/watch?v=myDCd0hNqQU,以下是完整编译。

十年之困:仿真、感知与具身漂移

Francois: 欢迎来到 YC Paper Club。大家今天怎么样?你们觉得这次的主题如何?我们准备以后每次都换一个主题。今天实际上已经不是 YC Paper Club 了,而是 YC Robotics Club。在我的职业生涯里,这已经是我遇到的第 10 个“明年机器人就会被解决”的年份了。10 年前 AlphaGo 出来的时候,所有人都说:明年就行了,算法已经有了,我们要做的只是把规模做大。后来 MuJoCo 出现了,我们甚至能够在 3000 次迭代里训练出一个会走路的机器人。这已经非常惊人了。于是大家又说:很明显,明年机器人就会被解决。
后来又有人说,这次不一样了。我们已经搞定了 UMI 数据采集,所以 ALOHA 成了一个重大突破。大家都觉得,明年就会迎来机器人时代。现在再看看这些演示:机器人可以给植物浇水,可以修自行车,可以给我操作 Keurig 咖啡机,甚至还能给我刮胡子。算法已经有了,我们只需要把规模做上去。然后又有人把 2026 年许诺给我,说这将会是机器人的一年。我当时真的很相信。我读了扩散策略那篇论文,甚至自己也稍微玩了一下。我心想:这肯定就是机器人的年份了。我们已经有了多步推理,这次一定会发生。我们有了视觉语言动作模型,它们非常厉害。你只需要一些远程操控数据,剩下的就都能解决。
但说实话,现在 2026 年已经过半了,你可以预订 1X Neo,可我还买不到 Pi 或 Figure 的机器人。我们在工作单元里确实有一些成功案例,但“家务机器人 Rosie”仍然没有到来。距离年底还剩 6 个月。现在才 7 月。所以,也许今年真会实现,也许是我错了。但有一点我非常确定:这绝对是“演示之年”。原因很简单——在场有谁做过远程操控数据采集?举下手。这件事容易还是难?它是极其困难的,尤其当你手里只有那种小夹爪控制器的时候。再加上腕部相机之类的配置,整个过程会非常、非常挑剔。如果我们要依赖这种类型的数据,而且还要把它疯狂地扩展到大规模,那我们某种意义上就有点完了。我一般把问题看成至少四堵墙——也许实际不止四堵,但至少有这四堵——是我们必须翻过去的,而我们还远没有做到。
第一堵墙是物理世界建模。如果你把这些视频模型部署到现实里,比如拿去开车,或者做世界模型,或者 Dreamer V1、V2、V3、V4,在游戏里玩毁灭战士,那没问题。但在真实世界里,这些模型其实并不真正尊重物理规律。如果你在模拟世界里开车,撞进一家杂货店或者 Whole Foods,它可能会神奇地把那个场景变成一条高速公路,然后你就不会撞车。它们并没有真正遵守现实世界的物理规律。这就是所谓的仿真到现实的鸿沟。我们实际上还没有真正解决仿真到现实的鸿沟。如果再进一步考虑可形变物体,问题会更糟。光是确定从当前状态到下一时刻状态的状态转移函数就已经很难了;如果你还要进一步对动作进行条件化,那基本就更不行了。你需要大量数据来支撑这种动作条件化。如果你试图估计动力学函数,你就必须想办法找到某种粗粒度的表示方式。
Nico 今天也在场——我们早在 2013 年就一起做过这方面的东西,当时我们在自己的机器人策略和机器人战争仿真里做特征金字塔网络。但直到今天,如果你想快速学习,动作空间的表示其实仍然是一个完全没有解决的问题。还有一个我认为最重要、但大家谈得还不够多的问题:感觉—运动问题。我们人类的神经末梢能力强得惊人。我们能感知法向力、切向力、湿度、温度、振动,还能估计摩擦系数。我们全身上下都分布着这些感知能力。而机器人没有。机器人最好的情况,也不过是在每个指尖上有一个小小的力与扭矩传感器,这已经算顶配了。也许再加一个腕部相机,这差不多就是当前最先进的水平。
如果你去问神经科学家,人类在没有视觉的情况下构建世界模型的能力其实强得不可思议。比如你把手伸进背包里找充电器,光靠摸,你就能准确分辨包里有哪些东西,甚至不需要眼睛。而我们现在的机器人根本做不到,因为它们没有“表皮”。我认为这是一个非常关键的问题。你如果有过这样的经历:冬天特别冷的时候系冰球鞋带,你会清楚感受到“策略失效”。你会发现自己连鞋带都解不开了,因为手太冷。那其实就说明感觉—运动环路对操作有多重要。
最后一个问题,基本只有真正长期部署过机器人系统的人才能深刻理解,这就是具身漂移。在某个状态下,如果我执行这个动作,我以为会施加这么多力;但现实里,执行器会积灰,会腐蚀。如果机器人长期在海边工作,可能会生锈,性能就不再一样。自动驾驶里这个问题尤其真实:当我踩下丰田 Prius 的油门,最终输出多少动力其实是会变化的,而且这种关系会随时间漂移。电池随着时间推移,其输出功率也会变化。于是你就不得不重新训练整个视觉语言动作模型,因为原来的映射关系已经不准了。之前采的远程操控数据几乎都“过期”了,你又得重新采集。这些都是真实存在、而且我们今天还没有答案的挑战——直到今晚。今晚我们有一些非常棒的演讲者和分享。
Marcel 是 Chelsea Finn 实验室的博士生,他将介绍他在 Physical Intelligence 做的一些很酷的工作。Milan Ganai 是 Marco Pavone 和 Clark Barrett 指导下的博士生,目前也在 Waymo 工作。然后是 Tyler,他在 Jeannette Bohg 和 Karen Liu 的指导下攻读博士。Nico 是我从 2012 年做电子工程硕士时就认识的老朋友,他创办了一个很酷的公司叫 Rerun,他会讲机器人数据和实际部署中的一些现实问题。最后,Bill 和 Guanming 是一家很酷的 YC 公司 General Instinct 的创始人,他们会讲世界动作模型、实时世界动作模型,以及他们此前在 DeepMind 的研究经验。阵容非常强大。非常感谢大家。让我们欢迎今天的几位讲者。Marcel,你先来。
给机器人加上记忆:MAM的多尺度方案

Marcel: 大家好,我是 Marcel,是斯坦福的博士。今天我非常兴奋,能向大家介绍我在 Physical Intelligence 实习期间做的一些工作。我们把这个系统叫做 MAM,也就是 multi-scale embodied memory(多尺度具身记忆)。我想先从我们当时训练的一些策略说起。我们当时试图解决一些“机器人奥运会式”的任务。你们可以看到,这些其实都是相当灵巧的任务:机器人可以解锁、把翻过来的衣服重新折好、做花生酱三明治。对我来说,这真的已经非常令人印象深刻了。它们真的非常灵巧。但如果你仔细看,这些任务里最长的其实也就两分钟左右。而当我去想象我真正希望机器人做什么时,我会希望它能够,比如说,完成某种制造任务,或者清理完整的一间卧室——这意味着它要铺床、叠衣服,这些都是超长时程任务。再比如,完整地做一顿饭,甚至包括最后把厨房也收拾干净。那么,若想在今天的机器人领域真正解决这类长时程任务,我觉得至少需要几样能力:比如能够追踪任务进度,能够追踪时间,还要有非常可靠的灵巧性——而且这种灵巧性还必须能够根据上下文进行适应,也就是说,当机器人遇到新场景或者自己犯了错时,它得有能力根据当下情况做出调整。当然,可能还需要别的东西。
但我的核心观点是:想获得这些能力,我们必须把记忆加入策略中。 对我来说,记忆是解决长时程机器人任务的一个必要条件。然而,如果你去看目前很多策略,比如 π0、Five、Groot 等等,这些策略其实都没有记忆。这意味着,在每一个时间步,机器人都只是拿到一组新的观测,它对之前发生过什么完全没有上下文。这里我可以给大家举几个没有记忆时会发生什么的例子。左边这个机器人在洗碗,但它不知道自己已经洗了多久,所以它会永远洗下去。右边这个机器人在做烤奶酪三明治,但它同样不知道自己已经烤了多久,于是最后把三明治彻底烤焦了。然后你可能会问:既然这样,为什么我们不直接往策略里加记忆?原因之一是:这件事很难。这里我稍微绕到我们去年写的另一篇论文。我们当时观察到,主要有两个问题。第一个是有效性问题:当我们往这些策略里加入记忆时,策略表现反而会稍微变差一点,原因包括分布偏移和数据不足。第二个是效率问题:随着我们增加机器人策略的上下文长度,计算资源开销会显著变大,训练时间更长,推理时间也更长。既然如此,我们的方案是什么?我们的解决办法是:压缩。
我们把机器人策略分解成两部分。第一部分是高层策略,它告诉低层策略下一步应该做什么;第二部分是一个视觉语言动作模型低层策略,它真正去执行机器人动作。与此同时,我们把记忆也拆成两类:一种是短期上下文记忆,由一些密集采样的帧构成,这些帧是实际灵巧操作所需要的,它会被送入低层策略。另一种是长期上下文记忆,它是过去几分钟内容的一个压缩后的语言表示,会被送入高层策略。我不想把技术细节讲得太深,但会概括一下我们是怎么往低层策略里加入这种短期视觉记忆的。我们的想法是设计一个新的编码器,它基于视觉变换器,但它不只看单帧,还会加入一些时间注意力层。接着,我们会丢掉除了当前图像之外的所有标记;由于时间注意力已经把过去信息融合进来了,所以当前图像对应的标记里应该已经包含了所需信息。这样一来,你就能获得大量压缩。这种架构好的一些原因包括:第一,它很容易从已有视觉变换器初始化,因为只有时间注意力是新的;第二,我们又一次压缩了图像序列,减少了标记数量;第三,因此推理速度很快。接下来我想展示一下,利用这种短期密集记忆,我们究竟能解决什么任务。这里是我们在 Physical Intelligence 做的一个主打任务:做烤奶酪三明治。系统不但能完成所有灵巧操作的部分,还能够等待足够长的时间,从而确保三明治不会被烤焦。
但我们也能解决一些乍看之下你可能觉得“不需要记忆”的任务。例如,从购物袋里把杂货取出来。为什么它其实需要记忆?因为在这个场景里,有时候你只能通过腕部相机看到袋子里的物品,所以你需要记住:里面有哪些东西、各有多少、位置在哪里。另一个例子是擦窗户。这个任务同样需要记忆,否则机器人就可能一直擦个不停、停不下来。上面我讲的是如何把记忆加到低层策略里。接下来我说说,我们是如何把更长期的记忆加到高层策略中的。我们的方法是:让高层策略去预测一个循环记忆,有点像一个“记忆草稿板”。它会持续追踪到目前为止发生过的一切;然后,它刚才预测出来的记忆内容,会再次被送回高层策略。这样一来,它就能不断地解释之前发生过什么,并且持续记住已发生的事情。这种表示比图像压缩得多,因为文本标记远少于图像标记。所以它对训练非常友好。同时,这种表示也比较符合物理现实,因为策略可以根据实际发生的事情去更新自己的记忆。而且它也更不容易受到分布偏移的影响。
这里我给大家看一下,有了这种长期记忆以后,我们能解决什么任务。这里展示的是一个耗时长达几十分钟的任务:它会准备做一道菜所需的全部材料。为了节省时间,我就不展开每一步了。一个很好的地方在于,你其实可以在绿色框里直接看到模型预测出来的记忆字符串。我们还把这个方法与一系列基线进行了比较,包括无记忆、其他不同类型的记忆方法等等。结果表明,我们在这里也能够超过当前最先进的水平。关于“在视觉语言动作模型中加入记忆”这件事,最让我兴奋的一点是:它让我们获得了一种上下文内适应的能力。现在的很多视觉语言动作模型都非常缺乏这一点,而我认为这对未来会非常有潜力。我来解释一下这是什么意思。先看没有记忆的策略:你会看到它们会一遍又一遍地犯同一个错误,而且完全无法对自己犯下的错误做出反应。于是它们会无限循环,永远无法适应。比如这里尝试开冰箱、或者一直夹一根筷子,结果就是反复失败。
但如果我们加入记忆以后,情况就不一样了。机器人策略可能第一次还是会犯错,也许是因为先验有偏差之类的原因;但它会意识到这个错误并据此调整。比如夹筷子时,第一次没夹到,它接下来就会把位置放得更低一些再去夹;开冰箱门的时候也是类似,它会尝试换另一边来纠正错误。我认为这正是现在机器人策略里非常缺失的一种能力,也是我对“带记忆的视觉语言动作模型”未来最兴奋的地方之一。最后,这项工作在 Physical Intelligence 是很多人共同努力的结果,我非常感谢所有合作作者。特别想提一下 Karl,他是这项工作的共同一作;另外还有 Homer、Sergey、Chelsea 和 Danny,都给了我非常大的帮助。谢谢大家,如果有问题欢迎提问。
观众: 谢谢你的分享。我很好奇你说的长期记忆。如果它只是在文本空间中表示,那你们是怎么确定究竟应该把哪些信息交给策略的?
Marcel: 这是个很棒的问题。我们现在训练高层策略时,采用的是监督微调。所以我们必须给所有数据做标注。而你说得非常对:这意味着我们得事先思考,到底哪些信息是重要的。我们得告诉标注员:你们需要追踪这些信息,因为这些才是重要的。但我觉得接下来值得大家思考的一条路线是:能不能在这个记忆空间上做强化学习,从而自动学会“哪些信息值得保留”。不过,至少我们第一个概念验证版本是通过监督微调做出来的。
观众: 对,我刚才也正想这么建议。关键其实就是弄清楚到底该存什么信息、该回忆什么。这些信息现在是怎么存储的?既然它是在文本空间里表示,那么在推理时、当策略真正拿它来决定动作时,它具体是怎么被使用的?
Marcel: 它其实是一段相当短的文本。这些内容完全可以放在内存里,然后在推理时就把它当作普通的文本标记,一样送进视觉语言动作模型。
观众: 我还有一个问题。当你把任务抽象成高层文本描述时,你如何确保这些文本描述具有足够的泛化能力,能应对不同的任务变体?比如做煎蛋卷,煎蛋卷有很多不同版本。还有,加入记忆之后,对一个新任务所需的训练回合数量会有什么影响?
Marcel: 很好的问题。虽然我这里没有展示那些例子,但实际上我们给出的任务描述是相当细致的。比如说,在准备食材或者做某道菜时,我们会非常具体地说明:物品在哪里、做披萨具体需要哪些食材等等,都会写得很细。
这里有一个好处是:我们的高层策略本身是一个用互联网数据训练过的视觉语言模型,所以它其实不需要太多任务数据就能有不错的泛化能力。而另一个好处是,视觉语言动作模型和高层策略是分开的;为了让机器人在厨房里做事,我们不需要针对每个具体任务都重新训练视觉语言动作模型。即便任务变复杂了,视觉语言动作模型接收到的也只是一个很小的文本描述,告诉它“下一步该做什么”。所以至少在复杂度变高时,我们不必成比例地采集那么多机器人数据。
观众: 非常喜欢这个分享。你的记忆嵌入是文本描述,但听上去有些问题似乎只靠加入“时间”这个变量也能解决。比如做烤奶酪,你直接加入时间就可以了。感觉只用文本描述来训练策略,可能会限制记忆可表达的空间,甚至形成某种约束。你有没有考虑过扩展记忆表示,或者探索别的方法?
Marcel: 我也会想:人类究竟是怎么保存记忆的?显然不是以文本空间的形式。但我觉得有一点很难,而且目前我们似乎也还没真正做好:理想状态下,我们当然希望有某种潜在嵌入,可以自动追踪所有记忆。但文本有个很现实的优势:你可以在里面加入非常强的归纳偏置,也便于监督、便于调试,所以在现阶段,它依然是最实用的方式。但没错,我也非常期待未来去进一步探索,比如做一些潜在形式的记忆工作。
Francois: 好的,谢谢 Marcel。
Marcel: 谢谢。
如何让机器人开始自己学会“该怎么推理”

Milan: 大家好,我是斯坦福的博士生,也在 AWS 和 Waymo 做过研究。今天我想讲的是:我们如何让机器人开始自己学会“该怎么推理”。大家应该已经比较熟悉视觉语言动作模型了,不过我还是先快速回顾一下。视觉语言动作模型是一类非常强大的通用策略模型。你可能已经在一些操作演示里见过它们,比如 RT-2、Pi;也可能在自动驾驶领域见过类似思想,或者你坐过 Waymo,或者 Alpamayo(NVIDIA 的项目)。
那么,视觉语言动作模型到底是怎么训练出来的?大致过程是这样的:你先拿一个视觉语言模型,这类模型已经从互联网规模的数据里学到了丰富的视觉与文本先验,比如 Gemini 或 Qwen。然后你再用相对稀缺的机器人数据继续训练它。这些机器人数据可以是操作里的远程操控数据,也可以是自动驾驶数据,比如有人类开车时录下来的记录。最终你得到一个视觉语言动作模型:输入是一张图像或者某种感知特征,也可能加上语言指令提示;输出则是可执行的动作,比如方向盘控制指令,或者机械臂末端执行器的位置。最近有一个趋势,是在动作预测中引入所谓的具身推理。这个思路有点类似于大型语言模型里的思维链:模型不再直接从问题跳到答案,而是显式地写出中间的逻辑步骤。
那么,为什么我们会对“链式思维形式的具身推理”感兴趣?因为机器人领域本质上是一个数据稀缺的领域。任何你能用来增强数据集的额外监督信号都极其宝贵。你可以往数据里注入不同类型的注释,这些都会帮助动作生成以及相关任务。推理过程给了我们更丰富的训练信号;而且由于这些推理是以文本形式存在的,作为人类,你还可以直接把它读出来。如果你想理解机器人为什么做出某个决策,你真的可以去看它那条思维链。基于这个背景,我要讲的是我们最近发表在今年机器人科学与系统会议上的一篇工作,标题叫做“动作预测性具身推理的自监督引导”。我们真正关心的问题是:我们究竟应该推理什么? 更具体一点说,针对不同的具身形态和物理形体,它们到底应该推理些什么?
“什么样的具身推理是好的”是个很难的问题,但我想把它拆成几个子问题。
第一个是对应问题。我们并没有某个“神谕式”的推理数据源可以直接拿来用,不存在一个现成的数据集告诉你:“你只要在这些推理痕迹上训练,就会得到好的推理能力。” 换句话说,我们其实根本不知道机器人到底该推理什么。互联网里有很多文本预训练语料,也有很多图像描述,但在机器人领域,这种推理痕迹的数据并不存在。
第二个是模型的“标准答案”从哪里来? 你不可能真的打开一个人的大脑,看清楚他究竟是怎样从一张图像映射到手指的动作的。所以我很喜欢用“先有鸡还是先有蛋”来描述这个问题:我们既没有推理数据的标准答案来源,也没有能生成这种推理的标准答案模型。
第三个是冗长性。推理本身也有很多不同形式。你可以做规划式推理,比如“走到胡椒那里,拿起胡椒,然后……”;也可以做感知式推理,比如列出当前画面里所有可见物体,或者给出场景里所有边界框;或者还可以推理抓手位置,比如末端执行器的位置、自车在道路上的位置等等。
问题在于:我们是不是应该在每一个时间步都做这些推理?那会不会太啰嗦?在机器人里,延迟是一个大问题。并不清楚我们是否应该每一步都去做规划、分析场景中每一个物体,因为这有可能不但没帮助,反而会让动作预测被干扰甚至误导。类似地,关于抓手位置的推理,到底是对动作有预测价值,还是会产生误导?这些问题都可以被归结为一个核心研究问题:对于特定具身形态来说,文本推理应该长成什么样?这就是我们的方法出场的地方。它叫 R&B Encore,全称是“精炼并自举面向特定具身形态的链式推理”。它本质上是一个面向具身推理视觉语言动作模型的自我改进式预训练循环。它的核心洞见是:既然我们认为“机器人推理”本身是个黑盒,那我们就把它看成是在已观测上下文与动作之间存在的一个未观测潜在变量。一旦这么建模,我们就能借用一个理论框架,叫做变分推断。
这个方法从大体上来看,有两个核心组件。
第一个是推理提议器。你可以把它理解成一个“标注模型”:给定一段上下文和一个示范轨迹,它会提出多种不同类型的候选推理。比如它会问:可见物体加移动方向,这种推理有没有用?还是说应该推理“计划加抓手位置”?或者是“可见物体加子任务”?换句话说,它在探索:到底哪些注释形式、哪些动作前的推理形式,才是好的训练数据。
第二个是推理验证器。它本质上是一个评分机制,背后有变分推断的理论支撑。论文里有完整证明,但简单来说,这个分数主要由三部分组成:
简洁性,要求你的推理足够短,不要太啰嗦。
非平凡性,它鼓励模型学到可泛化的推理行为。
动作预测性。它衡量的是:这条推理痕迹是否真正和这个具身体的动作有关,是否真正落在这个具身上。
最终,你会给这些推理痕迹打分、重新采样,然后得到一个新的合成数据集。这个数据集中的推理虽然是“合成的”,但它是动作对齐的,也是具身对齐的。
有了这个数据集,你一方面可以分析:哪些推理类型是好的,哪些是不好的;更重要的是,你可以重新训练具身推理视觉语言动作模型,从而得到一个更强、更稳健的策略。
我们把这个预训练循环应用到了多种不同具身上。先看操作:我们预训练了具身推理的操作视觉语言动作模型。我们发现,像动作移动和抓手与末端位置这类推理非常有用;而感知型推理反而没有那么有用,可以被剪掉。由于我们保留了与动作更相关的推理形式,所以成功率得到了提升。
我们还进一步研究了:为什么感知型推理不那么有用?结果发现,在许多场景里存在大量干扰物体。通过我们的预训练循环,我们可以更好地去掉这些不重要的内容,也因此可以更深入地理解:怎样才能提高注释数据质量。如何提升轨迹中的任务显著性,以及如何改进采集和标注的数据,都是非常关键的问题。这不但提高了成功率,也提高了物体关键性或者说任务显著性指标。
我们还把这个完整的预训练循环应用到了真实硬件操作接力上,结果显示它在分布外场景下也有更好的表现,尤其是在面对新目标物体或者更杂乱场景时更明显。
我们还预训练了腿足式运动导航模型。结果发现,相比地形或反事实推理,结构性可供性和运动相关推理要重要得多。
此外,我们还用这个循环去精炼自动驾驶中的人工标注。因为现实中会有很多“垃圾标注”。我们的思路是:通过这个方法,你可以去除大量没什么价值的人工推理标注。我们观察到,高层动作与可见物体与感知推理是有价值的;与此同时,我们的方法可以剪掉那些“幻觉式经验”,从而降低路径误差以及碰撞率等性能指标。
总结一下,有几点结论:
第一,选择性推理比穷尽式推理更重要。就算某种推理本身是“有效的”,也不代表它一定“有用”。
第二,自监督自举是有效的。这恰恰破解了那个“先有鸡还是先有蛋”的困局——没有模型就产生不了推理数据,没有推理数据就训练不出好模型,而我们的方法让两者可以从零开始相互促进、共同进化。
第三,我们展示了这个方法可以跨不同具身泛化:从操作,到导航,到驾驶;同时也适用于从 10 亿到 300 亿参数规模的视觉语言动作模型。
归根到底,我们是在回答这样一个问题:具身智能体应该如何推理? 我们的观点是,具身推理不应该被当成一个固定模板,统一应用于所有场景;它更像是一种需要被发现、被部署、并且被精打细算地分配预算的资源。
我们对这个问题非常兴奋,也对如何真正部署具身智能感到兴奋。像数据质量、故障恢复、在新场景中的适应与专门化,这些问题我们都非常感兴趣。如果你也对这些问题感兴趣,欢迎联系我。我们很期待合作,也非常希望能一起解决如何降低“在日常任务中部署具身智能”的摩擦成本。如果你想了解更多,可以扫右边的二维码;左边也有关于 R&B Encore 的网站、模型、代码和论文链接。
Francois: 你怎么看我们刚才提到的那个问题——比如一只狗,它也在弄明白这一切,但显然不是在标记空间里完成的。你会怎么思考“非标记化”的推理?
Milan: 好问题。我认为确实存在各种潜在推理能力,模型可以在一种连续的理解空间里进行导航,而不受文本格式束缚。当然,这需要好的架构和理论来支撑这种连续推理的发展。如果我理解你的问题没错的话,你问的是某种非文本推理。我觉得,未来一些方法确实可能会帮助实现这一点。我们当前的做法,主要还是想利用大型语言模型和视觉语言模型已经拥有的那些强大先验,因为它们背后有海量数据;而机器人领域本身是数据稀缺的,所以我们想先把这些已有的先验借过来用。
观众: 我想理解一下,你们为什么觉得推理对自动驾驶有帮助。因为自动驾驶本身就有流式延迟问题,而推理在这种场景下会把延迟问题进一步放大。所以你们的论点主要是说:它可以帮助构造更好的自监督数据?还是还有别的机制能真正提升性能?
Milan: 当然有。延迟确实是一个很大的问题,我们在论文里其实也专门讨论了。我们的核心观点是:推理可以把先验引入模型中。你可以把它理解成一种联合训练数据:模型不只是学机器人示范,还能把文本推理当作一种优质标注来共同训练。我们还提出了一个叫动作强制的方法:在推理阶段,你可以把推理分支丢掉。这样你就不会承受推理带来的推理时延迟,但依然可以保留训练时从文本推理中获得的收益。也就是说,你可以某种程度上“两头都要”。
观众: 那再追问一个问题:你有没有看到某种“状态空间漂移”?比如模型刚推理完,状态已经变化了,那么前一刻的推理可能已经不再相关,甚至会伤害后续动作。你们有没有观察到这种情况?
Milan: 这里的推理是假设在实时进行的。它是基于当前图像和当前指令来生成的,所以这种漂移不一定会成为一个根本性的问题。
观众: 非常感谢。我有一个小问题。你刚刚提到,你们会剪掉那些对模型没那么有用的推理内容。你举了一个例子,说反事实推理似乎没那么有帮助。如果我没理解错的话,你能否多解释一下具体是什么意思?
Milan: 可以。这里的结论都基于我们做实验时所用的特定基准。我的意思不是说:某些推理类型永远都不应该出现,应该被彻底删除;而是说,某些推理没必要在每一个时刻都进行。举个例子,如果场景里没有什么新鲜或值得注意的事情发生,那么自动驾驶的大部分时候其实就是沿着直线往前开,周围也没什么东西。在这种情况下,没有什么有趣的反事实值得你去探索。
类似地,规划推理本身看起来很有用,我们也确实发现它是有帮助的,但你不需要在每一个时间步都做规划,因为那样会非常冗余。
Francois: 谢谢你,Milan。
Milan: 谢谢。
零样本灵巧操作:SimToolReal的仿真到现实之路

Tyler: 大家好,我叫 Tyler Lum。今天我很高兴向大家介绍我们的工作 SimToolReal。先让我直接展示一下 SimToolReal 能做什么。这里你们看到的所有视频片段都是 1 倍速。这是同一个策略,以零样本的方式工作,也就是说,在训练时它从未见过这些工具,也从未见过这些任务。遇到一把新的刷子、一把新的锤子,或者一种新的目标行为,我们都不需要重新训练。其中很多任务,比如让螺丝刀旋转,灵巧程度都非常高。它们真的需要多指灵巧手来完成,而不是一个平行夹爪,因为后者根本做不到。这个策略运行得非常快、非常有反应性:它以每秒 60 帧的频率运行,同时控制一只拥有22 个自由度的手和一个拥有7 个自由度的机械臂。我还想特别强调一下:这里展示出来的这种灵巧程度,其实是很难通过远程操控展示出来的。
有了这个预览之后,我先稍微做一点背景介绍。近年来,人们越来越多地使用灵巧手的远程操控来收集模仿学习所需的示范数据。但对于那些高度灵巧的动作来说,稳定、大规模地做示范仍然很困难。右边的视频里,即便只是一个简单的手内旋转任务,人类操作者也必须非常慢、非常刻意地控制,因为存在具身不匹配和力反馈有限的问题,这让精细接触调节变得非常困难。所以,与其从远程操控示范中学习策略,我们选择完全在仿真中训练它,也就是使用仿真到现实的强化学习。这种方法利用图形处理器加速仿真,可以并行运行成千上万个机器人,以比真实时间快约一千倍的速度生成经验数据。这样一来,数据采集的规模就由算力而不是人工来决定,我们可以在短短几天里收集到相当于几十年交互的数据。
这种方法带来的结果,是一种极强的灵巧性,因为策略不只是模仿演示,而是在优化奖励最大化行为。这些策略随后被部署到真实世界中,展现出非常惊人的灵巧操作能力,而这些能力是很难通过远程操控展示出来的。这里的视频来自 Dextreme,它是最早证明这条路线对灵巧操作有效性的工作之一。虽然这个任务看起来未必“有用”,但它确实是一个极强的灵巧性展示。不过,过去该方向的大多数工作,都是为每一种具体技能训练一个单独的策略:抓取一个策略、重定向一个策略、物体旋转一个策略、工具使用再一个策略。每新增一种行为,通常都意味着要重新设计奖励、重新做一轮任务特定工程、再重新训练一次。
而我们提出的问题是:能不能只训练一次一个统一策略,让它完成所有这些不同任务和技能?我们真正想要的是这样一个策略:它既控制手,也控制机械臂,贯穿完整动作序列。它先抓起刷子,再在手内把它调整到正确姿态,最后拿着它去扫动目标物体。我们希望整个过程都由同一个策略完成,而不需要手工在多个子策略之间切换。我们的关键洞见是:可以把灵巧工具操作统一建模为“目标到达”问题。策略不需要知道“这是扫地任务”还是“这是锤击任务”这种任务标签。它只需要知道:把当前物体从当前姿态移动到目标姿态。因此,我们训练的是一个目标条件策略,它能够把任意物体沿着一串期望目标姿态依次移动过去。图中绿色轨迹就是那些目标姿态。我们发现,这实际上对非常广泛的一类操作任务都成立。在训练时,我们在仿真中程序化生成原始几何体物体,随机采样目标,然后用大规模并行强化学习训练一个目标条件策略,让它操纵这些随机物体去到随机目标。当然,这里面还有很多细节要处理:系统辨识、域随机化,以及为了让探索有效所做的算法设计。这里我就先略过了,大家可以在问答环节再问。
在推理时,我们需要指定那一串目标姿态。这些目标姿态可以来自任何来源。在这项工作里,我们选择让策略以一段人类视频示范为条件。我们使用 FoundationPose 和 SAM 从视频里提取要跟踪的目标姿态序列。然后,强化学习策略在一个每秒 60 帧的控制循环中,逐个跟踪这些目标姿态。我想特别强调一点:这里的人类视频没有提供机器人动作,它也没有被用来训练或微调策略。它只是在推理时,为一个已经冻结的策略提供期望的物体轨迹。更具体地说,策略的输入包括:本体感觉、当前物体姿态、一个表示应该从哪里抓的边界框,以及当前目标姿态。它们会被送进一个长短期记忆网络策略,然后输出整只手和机械臂的关节位置目标。这个策略当然不只局限于拿刷子扫东西。同一个策略可以对从未见过的新工具和新任务做零样本泛化。它最妙的地方在于:对它来说,一个新任务不再意味着重新训练,而只是变成了一串新的目标姿态。从概念上说,这条轨迹就像一个“任务提示”,在推理时给到一个冻结的策略,于是我们可以在几分钟内,而不是几小时或几天内,让它在一个新物体上完成一个新任务。我们在 12 种未见过的工具和目标行为上评估了同一个冻结策略。结果显示,它在每一个工具家族上都能取得明显的任务进展,特别是在那些长手柄工具上表现更好。表现较弱的主要是更重的工具——因为它们更容易掉落——以及更小的物体;但这里面其实有很大一部分原因,是当物体被严重遮挡时,姿态跟踪器会出很多问题。接下来,我们想测量一下训练表现和测试表现之间的相关性。我们的目标是看:训练目标到底在多大程度上支持下游测试成功率。左边展示的是训练时的对象:原始几何体和随机目标。

右边展示的是测试时的对象:真实工具和人类示范轨迹。我们在训练过程中不断取不同检查点进行评估。结果发现:随着策略在左边这个“随机物体加随机目标”的通用目标到达任务上不断变强,它在右边这些未见过的工具和人类示范轨迹上的表现也会明显提升。这验证了一个关键点:SimToolReal 的训练目标——用随机物体和随机目标训练——对于泛化到真实世界里的工具和任务是有效的。
接下来我们把 SimToolReal 跟两个常见基线做比较。我们的方法能够成功抓取工具,并把它在手内调整到一个能完成任务的功能性姿态。第一个基线是固定抓取基线:它可以抓住物体,但之后只能靠机械臂去旋转它,结果会撞到桌子。这非常清楚地说明了:手内重定向能力非常重要。 过去很多方法都默认“只要抓住并保持住一个固定抓取就够了”,但对很多任务来说,这根本不够。第二个基线是运动学重定向:也就是试图通过迁移人类手指尖运动来模仿人类视频示范。但它并不会推理接触力,所以连抓住物体都做不到。接着,我们分析了 SimToolReal 的失败模式,发现最主要的问题是姿态跟踪失败。其次是抓住后掉落,最后是抓取失败——不过即使抓取失败,它也常常会试着追过去重新抓。这个策略展示出了非常强的恢复行为。比如这里机器人掉了一把锤子,它会立刻重新抓起锤子,然后继续完成任务。
最后,也请大家去看看我们的网站。我们的代码、资产和策略权重都已经开源了。我们甚至还做了一个可以直接在浏览器里跑的交互式演示,手机上也能运行。它不是在远程服务器上跑,而是真的在你的手机上运行。所以它会比较耗电,别让它一直开着,不过确实很好玩。以上就是 SimToolReal 的快速概览。接下来最后几分钟,我还想再讲一个后续工作,叫做 Play2Perfect。很多真实任务,比如精密装配,都需要持续接触和毫米级精度;但从零开始学习这种技能非常困难。我们的观点是:在学习“高难度的精密装配”之前,应该先学会更容易的“在自由空间里和物体玩耍”。这就引出了 Play2Perfect,它借用了一个非常熟悉的范式:预训练加强调。我们先通过与任务无关的“玩耍式交互”学习一个共享的灵巧先验,这一点和 SimToolReal 的任务无关训练很像。然后,我们再把这个先验在一个稀疏奖励、强接触的装配任务上进行微调,最后将策略以零样本方式部署到真实世界。这样就能实现多样化的接触密集型装配行为,包括紧密插接和多部件装配。总结一下:SimToolReal 让我们在新工具和新任务上具备广泛、反应迅速的灵巧性;而 Play2Perfect 则进一步把这种能力扩展到了精密、强接触的装配场景。谢谢大家。
观众: 我注意到你们演示里的恢复能力简直强得离谱。请问这是你们明确设计出来的吗?还是只是策略训练后的意外副产物?
Tyler: 这是个很好的问题。我们并没有专门为“恢复能力”做定向训练。但我们在域随机化里有一个很重要的细节:在仿真中,我们会给物体施加一些随机外力,把它随机推来推去。有时候它会把物体从手里打掉,于是策略就会获得“重新捡起来”的经验。如果没有这一步,它可能在仿真里从来不会掉东西,那现实里恢复能力也就不会这么强。
观众: 你们使用的那些原始工具形状,和真实世界里的刷子、锅铲之类的东西有多相似?
Tyler: 很好的问题。之所以叫 SimToolReal,是因为我们想聚焦在“工具使用”上。很多工具都会有某种“可抓取区域”,而这个区域通常可以大致用一个边界框来近似。这就是我们这里使用的接口。我们没有给它非常详细的物体几何,只是告诉它:大概这个抓取区域有多大。
在仿真中,我们用的是全原始几何体,比如圆柱和长方体。当然也可以扩展到更复杂的形状,但那样你就得重新生成另一整套数据集,还要过滤掉那些不稳定的情况。而使用简单形状的关键优势在于:仿真速度能快两到三倍。所以我们目前使用的是那些可以比较合理地近似成长方体的物体。像锅铲,甚至球,可能都还行。但如果你想抓一个碗,或者剪刀,那它也许能以某种奇怪的方式抓起来,但不一定是你想要的方式。
观众: 我对这种“不是从人类示范学习,而是学习一堆子目标、再通过强化学习去达到子目标”的路线非常感兴趣。不过我觉得一个问题是:对于现实世界中除了工具之外的大量物体,这种方法要如何泛化?因为对于工具,你还比较容易定义那些原始几何体。你们有没有考虑过这个问题?比如说,遇到铰接物体怎么办?
Tyler: 仿真有它的优点,也有它的局限。一种回答当然是:那我们就把它们也都模拟出来——模拟剪刀,模拟各种铰接式工具。但现实里有太多东西是仿真不好的,比如水,或者拉链,或者打开一罐汽水这种事情。那类东西目前基本不在仿真的能力范围内。
那面对这类问题怎么办?这是个很好的问题。我觉得一个大方向是:先把这些灵巧先验迁移到真实世界,再继续用现实经验微调。也就是说,先利用仿真学到很好的灵巧行为,然后再让它在现实里继续提升。我个人大概会这么做,但这确实是个非常重要的问题:如何把这种优秀的灵巧能力和现实世界中的持续学习结合起来。
观众: 我的问题更偏向于:哪怕你假设你可以把世界上所有物体都模拟出来,在这个范式下,它到底能不能泛化?本质上不还是强化学习吗?
Tyler: 这是个非常好的问题。如果你从更高层退一步看,我们的策略实际上拿到的是当前姿态和目标姿态。从某种意义上说,它有点像一个在姿态空间里的逆动力学模型。但如果一个物体根本没法用“姿态”来定义呢?比如毛巾,那你也许可以用关键点来表示。或者更一般地说,你可以把目标定义成一段视频目标——你当前看到的是现在状态,目标是未来状态,然后你像一个逆动力学模型那样,在两者之间找到动作。
我觉得训练出这样的东西,理论上可能是可行的。但如何把这些细节做对,尤其是如何在推理时生成目标,这确实是个很难的问题。我觉得你的问题问得非常到位:怎么把它做得更一般化。
观众: 对,我们其实也在尝试复现这个。
Tyler: 很酷,很酷。
观众: 我刚刚也在玩你们那个交互演示。我到处试图找失败模式,发现唯一一个比较稳定会出问题的场景,是机械臂不断扭来扭去,试图寻找不同目标,最后因为扭得太多而失败。我想知道,你们有没有一种“动作之间的重置动力学”?比如说,如果我的手臂现在在这个姿态,而为了达到目标姿态,其实我可以反向转回去,而不是继续越拧越紧。
Tyler: 好问题。说实话,我还不确定那个问题的正确解法到底是什么。理论上,如果强化学习足够强,它应该知道什么时候该彻底转一圈回来。但现实里有时候它确实会扭得很夸张。我现在也没有一个非常确定的答案。我想在大多数真实应用中,人们一般也不会让机械臂一直疯狂地扭来扭去,但这确实是个很好的问题。
观众: 先说一句,这工作太厉害了,恭喜。我的问题是,从你们团队的角度看,这种系统平时是怎么迭代的?比如你有一个统一策略,后来又在其他任务上观察到了性能下降,你们是怎么处理的?你们会做评估吗?在这个领域里,“迭代”到底意味着什么?
Tyler: 这是个很好的问题。它其实包含很多方面。首先,怎么评估这种策略?你当然可以在真实世界里评估,但那样非常贵,也非常耗时。而且很多时候你拿不到统计显著的数字。很多时候你得到的更像是一种“感觉检查”;除非你真的跑上百次实验,否则很难分辨你到底是百分之九十成功率还是百分之八十七。另一个我们特别努力在做的事情,是构建大量自动化评估手段,用来在仿真里评估策略在那些新工具、新任务上的表现。也就是说,我们虽然是在随机物体与随机目标上训练,但我们会把真实世界的物体和真实世界的人类轨迹放进仿真环境里测试,于是能得到某种指标,来判断它到底明显变差了还是明显变好了。不过你这个问题问得非常对,因为老实说,这真的很难判断。有时它在仿真里可能表现更好,但那是因为它学会了一些神奇的“抛接”动作,虽然任务上成功了,可现实里姿态跟踪器大概会直接崩掉。所以你还是需要一定程度的人类洞察。这确实是个很难的问题。
Francois: 我有个简短的问题。你们用了一个史前时代的东西,叫长短期记忆网络。能不能给大家讲讲那是什么?
Tyler: 可以。长短期记忆网络就是长短期记忆网络。我可以讲数学细节,不过简单说,强化学习的软件包——怎么说呢——强化学习是个非常“脆弱”的东西。一旦你有一套代码成功工作过一次,你通常就不想大改,因为哪怕你只是改了一个值,都可能把整个系统弄坏。所以最好的方式往往是:先从一个已经不错的起点出发,再一点一点往上迭代。我们那套代码库里本来就集成好了长短期记忆网络,所以我们就先试了试,结果它表现得更好。肯定还有别的整合方式。
Francois: 所以你的意思是,长短期记忆网络比变换器更好?
Tyler: 在我们这个系统里,根本没有用变换器。
Francois: 对,但你觉得变换器会更好吗?
Tyler: 我和别人聊过这个问题。我觉得从大的方向上讲,如果你有无限数据,变换器大概会是更好的“数据海绵”。但在这里,虽然我们拿到了很多数据,可策略本身一直在不断更新,所以我感觉这还没有进入那个“必须靠超大数据集喂变换器”的阶段。有些人其实测试过,也没有显示出更好的结果。我自己还没太有动力去试。不过现在编码智能体都出来了,所以我大概也没什么借口不去试了。
Francois: 很多人不知道,扩散策略那篇论文里,如果你仔细看表格,会发现传统卷积网络在一半任务上其实比变换器表现更好。
Tyler: 对,除非你把变换器调得特别好,不然它真的更敏感。我觉得完全就是这样。
Francois: 最后一个问题:我没太理解你说的“随机目标”到底是怎么生成的。代码里你们实际做的是什么?
Tyler: 哦,这其实是你能想象到的最简单版本。我们采样一个位置,再采样一个旋转,把它作为第一个目标。之后的每个目标,都是在前一个目标基础上加一个增量姿态:位置变化最多 10 厘米,角度变化最多 90 度。
Francois: 明白了。所以这对训练策略从 A 到 B 很有效,但它不能解决“如何生成目标”这个问题。要生成目标,你还是需要人工标签。
Tyler: 没错。或者你也可以用别的方法。比如,你完全可以想象有一个高层规划器去看整个场景,理解全局上下文,再帮你生成这些目标。我觉得这是一个很有意思的方向。
观众: 你刚才说失败里有一部分是错误的姿态估计造成的。这个大概占多少?第二个问题是:你们一直都在用第三人称视角吗?有没有试过第一人称视角?
Tyler: 好问题。大概超过一半,我记得差不多百分之六十的失败都纯粹是姿态跟踪问题。这确实是系统最大的瓶颈之一。老实说,它也不是我最喜欢的部分,但它确实是最常出问题的部分,尤其在这些小物体上更明显。像那个记号笔就特别容易被遮挡;有些时候你几乎看不见它。这种情况就会非常难。而那种更长的柄、或者更大的刷子,因为表面特征更多,姿态跟踪问题就会少一些。差不多就是这样。
至于视角,我们用的是一个大概放在这里的第三人称视角,基本也只试了这个。我们只是找到一个看起来遮挡不太严重的角度,然后就一直用它做姿态跟踪。我觉得还有改进空间。也许你甚至可以从相机视角本身做姿态跟踪;也许还能把这一整套蒸馏成一个图像输入策略,不过这里面还有不少关于目标条件化的细节要处理。
Francois: 太好了,谢谢 Tyler。
Tyler: 谢谢。
世界动作模型的优化实践:蒸馏、解耦与交叉注意力

Nico: 我是Nico,Rerun的联合创始人兼CEO。创业之前,我做了差不多十年的机器学习和计算机视觉,做的是物理世界里的应用,就是把技术做成能发货的产品。Rerun在做的,是为物理AI搭一个统一的数据层。说白了,就是一套工具和基础设施,帮你处理物理数据——从采集到训练,全流程覆盖。我们有个开源SDK,现在还挺多人用的,我知道在座不少人都拿它来处理物理数据。它能记录、能可视化、能做通用查询,也能做训练时的数据加载。基本上你处理和分析物理数据需要的工具,它都有。我们还有一个产品叫Rerun Hub,是个数据目录和大规模数据后端,在云上做同样的事情,只是面对的数据量更大。
做这些的过程中,我们接触了很多机器人公司,从最前沿的实验室到两个人的YC初创团队都有。做机器人公司有很多种方式,但有一个模式我们经常看到,而且效果真的很好,我特别希望更多人能去做。今天这场分享,其实主要就是想劝大家去创办这样的公司。这类公司可以叫机器人应用公司,也有人叫新集成商。他们的模式就是端到端地去解决一个完整的商业问题。现在数据中心管理、建筑、仓储、制造这些领域,已经有很多这样的案例了。这些公司在运营、部署、支持这些方面做得特别出色。
他们尽量少碰定制硬件。通常从远程操控起步,先确保业务光靠远程操控就能跑得通,然后再去微调模型。他们不会一开始就觉得自己必须做基础模型,必须先解决非常通用的问题。我个人觉得,这类公司会成为新SaaS。过去十年SaaS公司把软件行业整个占领了——虽然现在有人说SaaS已死——但我觉得这条路线没有死。同样的事情会在物理世界的工作上重演一遍。这类公司会带来大量的经济转型。现在进这个赛道,时机非常合适。
我想讲一下,如果我现在没在做Rerun,我会怎么做。这也是我看到的比较有效的模式。怎么开始?其实很简单。先找一个客户愿意付钱的问题。先用远程操控和现成的硬件去解决它,土法上马,赶紧跑起来。这是你积累经验的基础。有了这个基础之后,再大规模地迭代,然后你公司的大部分时间都在做这个。但这恰恰是最有意思的部分。要我选的话,我一定会选一个很实际的问题。比如大家都喜欢纸飞机,但折纸飞机特别烦人。所以我就做一个自动化纸飞机工厂的机器人。第一件事是什么?尽快卖出去、尽快部署。还是从远程操控和现成硬件开始。为什么?现实世界很残酷,你做的每样东西都会出问题。你不可能提前把所有失败的场景都想到。在实验室里把所有情况都预料到,根本不可能。你必须快速理解端到端的真实业务需求,因为你不可能先把所有理论问题都解决再出门。如果你能用远程操控解决一个问题,那通常也能训练一个模型来做同样的事。反过来不一定成立,前面很多例子也说明了这一点。如果能做到,那当然很好。
从这个过程中你能学到很多东西。比如你可能发现,每天必须生产一千架完美的纸飞机,业务才能成立。可能允许有瑕疵,只要能筛掉坏的,所以你真正需要的是高效的判别能力。纸很便宜,但客户最在乎的可能是新设计上线的速度。也许加一个合适的纸托盘,失败率就能降一半,因为大部分失败其实就是从一摞纸里取第一张那一下没弄好。
可能一个操作员要练二十个小时才能达到客户的要求。这个对你的运营方式影响很大,你可能需要自己招人,因为他们需要培训。你还可能发现,如果机器人能自己去拿纸、折完还能装箱发货,那它的价值直接翻十倍。这样你就知道下一代产品该往哪个方向走了。你还一定会学到一件事:你买的那些便宜研究臂,用一段时间肯定会坏,你得换供应商。
这是第一部分。第二部分,是把学习系统的基础搭起来。在这个领域里,Hello World 基本上就是拿一个现成的开放模型——比如Pi——用几小时的远程操控数据,在某个最简单的任务上微调一下,先确认它能跑出一点点成果。
这样你就开始运转了。尽早做这件事很重要,因为一旦你在数据上做训练,它就会反过来影响你怎么采集数据、怎么运营。这点特别关键。有了这些基础之后,你要确保自己能评估和理解性能,当然也要能采集到对训练有用的数据。
第一件事,评估性能。你需要在办公室里搭一个客户环境的复制品。我去过很多机器人公司,凡是真正能出货的,我没见过哪家办公室里没有客户环境的复制品。你就是需要一个地方来测试,而且需要做大量的测试。第二件事,找到可重复的评估成功的方法。
这就是你所有学习流程的基础。在这里,你可以把那些通用模型公司不会替你做的事情编码进去。你会把对这个业务真正重要的指标——那些你在客户现场学到的经验——放到系统里。这会产生很强的黏性。比如纸飞机,你可能特别在意机翼够不够锋利,设计对不对,重量分布合不合理。具体是什么不重要,关键是,你得先手动做这些评估,直到你真正理解了,然后它开始稳定下来。之后你当然可以自动化——训练一个模型、外包出去——但最开始你必须手动做。你还要追踪所有部署的元数据,失败分类什么的。
第二件事,采集能真正提升模型的数据。好数据就是能让模型变好的数据——听起来像废话,但它的意思是,你得持续地去训练、评估、调试你的数据。我跟很多大型机器人公司的研究员聊过,他们经常说,调试的时候最常见的发现,往往不是模型要改,而是应该告诉数据采集员换个方式干活,或者别再犯某个错误。这件事尽早做很重要。千万不要先把所有数据都采完了再训练——那是大坑。关于什么样的数据是好数据,有很多文献和经验可以看,要有合适的变异性,不能有错误,等等。但最关键的其实不是具体的技巧,而是你能不能快速测试、快速迭代、尽快接触真实问题。
要做到这些,你需要有合适的数据和格式,也需要一整套工具来处理数据。你得能记录、存储、检查数据,还得能拿来训练。举几个例子。比如客户特别在意新设计上线的速度,那就意味着你需要有一些策略来提升样本效率。很多公司实际的做法,是把任务拆成更小的、可组合的子任务。然后你就得设计分类体系,考虑怎么高效地、可重复地做标注。
一旦标注变复杂了,你就没法现场实时做了。简单的时候,操作员可以一边操作一边说话来标注,或者踩个脚踏板,但现在不行了,这反过来会影响你的运营方式。另外,在数据工具方面,你可能会问,为什么不用Postgres?为什么不用以前给大语言模型、传统机器学习、特征存储设计的那套基础设施?答案很简单:物理数据和网络数据完全不是一回事。它是多模态的、多速率的、按片段组织的,还带着各种三维语义和深层嵌套结构。
你要是硬把它塞进普通的表格型数据库里,查询会特别痛苦,存储和处理效率也极低。这就是处理物理数据时各种复杂性的核心。如果不把底层存储弄对,大多数团队最后都在做各种临时方案,摩擦力特别大。但一旦这些基础搭好了,你就开始爬坡了,你已经在从真实的有价值的机器人服务中不断学习和部署了;你知道怎么评估性能;你知道怎么改进数据采集和训练;你也能跨整个技术栈做调试。
这一点极其重要。因为真实的机器人系统里,你根本不知道问题会出在哪里。这个行业就是细节里藏了无数问题的,你要把所有问题一个一个找出来。之后就是不断迭代、不断扩展。这是你公司长期要做的事,而且真的特别有意思。包括提升智能、扩数据量、迭代算法、更高级地利用数据,可能还会加上 Francois 特别喜欢的那些模态,比如触觉、深度、声音。但你同时也要在销售、装配、快速发货、开箱体验、运营、支持这些环节上做得特别好。重要的是,这些不只是建模的部分,它们本身就是你护城河的重要来源,纯模型公司不会替你做这些。
我们看到那些真正成功的团队——有些甚至只融了很少的钱,现在已经赚了很多钱,增长也特别快——他们共同的特点就是迭代速度极快。前沿实验室通常会给每个研究员大量算力。大家都知道他们在 GPU 上花了很多钱,但很多人不知道他们在CPU上花得也不少,用来压数据搜索和探索的延迟。而这些机器人应用型创业公司,反而更关注务实、简单、灵活的系统设计,尽量减少活动部件。他们最在意的是新数据能快速回流、能做全栈调试、能看清楚每个活动部件在干什么。
所以,这就是我对你们的劝说。在座至少应该有人去做一家机器人应用公司。这个市场规模巨大。基础模型会越来越好。物理世界里摩擦足够大,你真的能建立起业务护城河——这意味着你能留下来,这是好事。而且你不用一上来就融十亿美金。当然,你还是需要有好的 AI 和好的工程能力。也就是说,在座的各位和正在听的人,你们有优势,而且这事真的会很有意思。最后我快速宣传一下 Rerun 。如果你在做这样的公司,欢迎来了解 Rerun,或者直接找我聊。
我们有开源 SDK,就是帮你在机器人数据上快速迭代的。里面已经包含了大部分你需要的组件,和智能体也配合得很好。还有一个生产级的目录和存储引擎,等你到了需要扩展的时候,不管是生产还是训练还是别的,都能快速方便地用起来。好,这就是我,你们可以在这里找到我们。
我最后再说一点:我们现在看到的早期成功,往往出现在那些可以直接“卖”的方向。数据中心是一个很大的类别。仓储机器人也很有机会,因为搬东西这件事涉及很多环节,而且很多都是可重复的。劳动力不贵,但很难管,而且劳动力本身也不够。我们合作的那些能做可靠机器人的公司,基本是百分之百供给受限——他们不缺订单,缺的是产能。这是其中一个方向。小规模制造,比如各种桌面级制造,我们也看到很多动作。食品领域也有机会。
Francois: Nico,为什么到现在还没有一大批这种机器人应用公司,做到数十亿美元收入规模?
Nico: 我觉得机器人这个行业本质上就是一种“千刀万剐式”的行业。在任何这种行业里,有一件事非常关键:你得能够以相对便宜的方式去试一个具体应用。而这其实是最近才开始变得可能的。现在市场上机械臂多得多了,基础模型也比两年前强太多了。过去缺的是那种让你可以“低成本起步”的基础条件。所以以前大家往往不得不出去融很大一轮钱,然后从更通用的问题开始做。
观众: 我觉得如果要建立这种公司,一个两难问题是:在模型真正可部署之前,你怎么估计一个问题到底需要多大规模的数据?你怎么判断这个问题是不是一个值得做的问题,还是说应该换一个数据需求更小、迭代更快的问题?
Nico: 对,我觉得这其实正是“为什么要先做远程操控”这套策略的核心。很多业务即便没有完全自主,也照样能成立。其实很多机器人出租车业务也不需要一开始就达到完全自动驾驶。很多公司把自主性看作一个扩展倍增器。
所以你先远程操控;如果你能远程操控,把事情做起来,那通常最没必要让人类做的那部分,未来总能逐步学掉。真正的问题只会变成:什么时候学掉、以什么代价学掉。这些东西,你是通过训练模型、自己画扩展曲线一点点学出来的。我不觉得我能在一开始就准确知道答案,但这正是这套策略的意义:你不要一开始靠猜然后回避。因为同样有很大概率,那个你以为最关键的任务,实际上并不是业务里最重要的任务。
观众: 谢谢。
Nico: 好的,谢谢大家。
Francois: 谢谢 Nico。
不想每台机器人配两块GB200?General Instinct给世界模型“瘦身”

Bill: 我们来自 General Instinct。我叫 Bill,稍后 Guanming 也会讲。我自己的技术背景一开始主要是视觉语言模型,在西门子也做过他们的基础模型,用来预测时间序列。Guanming 主要做的是机器人强化学习。我们公司做的事情,是构建一套基础设施,让你能够非常快地运行物理人工智能模型。对大型语言模型来说,你有 vLLM 和 SGLang;而对于物理人工智能模型,比如世界动作模型和视觉语言动作模型,你就会有我们,General Instinct。这里有一张梗图,来自 Jim Fan 的一场演讲:“视觉语言动作模型已死,接下来都是世界动作模型。”在座的大多数人应该都知道视觉语言动作模型是什么,我就不详细解释了。简单来说,就是你有一个视觉语言模型,然后它通过一个动作头去预测动作。而所谓的世界动作模型,则是另一种架构:你有一个核心的扩散变换器,它试图同时预测未来会长什么样,以及未来的运动学。也就是说,你从机器人相机得到当前观测,以视频流形式输入,然后模型去“想象”未来的画面,并以这些未来帧作为条件,再去预测未来运动学。
一个例子是 NVIDIA 的 DreamZero。本质上,机器人要去预测未来动作,同时通过流匹配在那些动作块和未来帧上进行推理。DreamZero 的表现确实很好。这里你们看到的是 DreamZero 与一些当前最先进模型的基准对比,包括来自 Pi 和 NVIDIA 的模型。但我们发现了一个问题:虽然世界动作模型表现非常好,但因为你本质上还是在用一个扩散模型去预测图像帧,这件事非常重。即便做了各种优化,它仍然需要两块 GB200 才能跑起同样一个模型。而每块卡大约要七万美元。从机器人作为一个产业的经济性来看,这显然是不可扩展的。还有一点是:视觉语言动作模型还没死,因为它很小。
Guanming: 既然我们已经知道像 DreamZero 这样的世界动作模型非常慢,那么接下来我就讲讲:我们如何优化它。这里是一张架构图。左边是训练流程,右边是推理流程。先说训练流程:你把当前观测当作流匹配的条件,然后往未来潜在向量上加噪声。模型要学习未来潜在向量,并预测未来的速度场。接着把它送进常微分方程求解器,就可以把它慢慢漂移回干净的未來潜在向量状态。推理流程也是同样的思路。在推理时,你会非常激进地做这个过程,比如跑50 步,有些人甚至跑100 步,以保证模型精度。问题就在这里:左边是视频预测,右边是逆动力学模型。对于每一个数据块的生成——比如要生成一个包含 16 帧的数据块——你需要把扩散变换器运行32 次,因为这里面有无分类引导。无分类引导的意思是:你得跑一次有条件的流匹配,还得再跑一次无条件的流匹配,然后才能拿到梯度导向所需的信息。
如果我们再回到整个架构来看,就会有人问:那为什么不干脆不跑扩散模型?也就是说,我们是不是根本不需要预测未来所有帧?答案是:可以。已经有研究这么做了。比如有一篇叫 ImageWAM 的论文。它不再去预测未来视频数据块,而是只预测未来终态,也就是某一个未来时间点的单帧终态。举例来说,如果原本我要预测未来 16 帧的视频,那现在我不预测整个视频了,而只预测 时刻那一个最终帧。还有另一篇工作叫 Fast-WAM。它更激进。它认为:所有关于世界的表示,其实都已经学在扩散变换器的隐藏状态里了。既然如此,你甚至不需要解码器去把未来视频解码出来;你可以直接把那个隐藏状态拿来当作条件,训练动作头。这样一来,在训练和推理阶段,你都不再需要解码器。如果要打个比方:对于那种真正要解码、要预测未来帧的生成式世界动作模型,它有点像是一个谷歌地图的虚拟现实版本;而对于潜在世界动作模型,它更像是你在看谷歌地图的导航界面,思考模型接下来要往哪里走、未来会产生什么动作。
总结起来,所有问题最后都收敛到一个核心:如何在保留丰富世界表示的同时,把系统做快。有些人,比如 LeCun,在做 JEPA 的时候会想:也许可以用两个不同的编码器。一个编码器编当前观测,另一个编码器编未来观测。然后对“当前观测潜在向量”和“未来观测潜在向量”做某种损失,来教模型学习如何预测未来。这是一种做法,他们通常用均方误差损失来做。另一些人则会把未来看成一个可能性分布:你可以做这个动作,也可以做另一个动作,于是未来是一大团分布;然后你用流匹配去估计这整个动作分布。
基于这些不同优化角度,我们在做基础设施时,把一系列优化都落到了基础设施里。我们做了:对变分自编码器的编码器—解码器部分做蒸馏;对扩散变换器部分做蒸馏,让扩散变换器变得更小;原先很多系统用的是一个统一的扩散变换器,我们把它拆成了两个不同的扩散变换器;我们不再去解码所有未来帧,而是直接从视频变换器到动作变换器做交叉注意力,让动作变换器从视频变换器的头和状态里学习世界表示;因此不再需要显式解码未来帧;我们还对自回归流匹配采样做了蒸馏。过去可能要 50 步甚至 100 步去完成流匹配解码,而我们把它压到了1 到 2 步。这本身立刻就是50 倍加速。
另外,我们还在模态层面做了改动。因为我们知道,“未来表示”或者“世界表示”既可以通过像素级学习,也可以通过潜在级学习。那么有没有可能存在一种更适合保留世界表示的模态?一种可能是掩码,另一种可能是流。我们两种都测了。这里热力图展示的是模型的可视化结果:它会指引世界模型在未来0.5 秒内可能会采取什么动作。通过我们的基础设施,世界动作模型可以在500 毫秒一个数据块的速度上运行,也就是在 Jess 和 SOAR 上每个数据块生成16 个动作。我们也写了一篇完整的博客,讲解我们是怎么做到这些的。如果你想了解更多,可以扫这个二维码。这里也有我们几位创始人的领英。以上就是全部内容,谢谢大家。
观众: 回到你刚才那张关于世界动作模型训练与推理的图。在训练阶段,你们用的是流匹配和教师强制,这个我能理解。但在推理阶段,你是从一个完全噪声的空间开始,然后逐步走到未来时间步的。那么你怎么确保在推理时,模型真的能收敛到正确结果,而不是直接退化成噪声?
Guanming: 很好的问题。训练流程是这样的:我们先拿一组干净的未来画面特征作为起点——你可以把它理解成一张清晰照片的“数字底片”。然后我们逐步往里面混入噪点,直到它彻底变成一团毫无信息的雪花。模型要做的就是学习这个过程的逆操作:从雪花里一步步把原来的干净特征还原出来。等到推理的时候,我们直接给它一团纯噪声作为输入,它就能按照学到的逆向流程,逐步还原出对未来画面的预测。这就是它最基本的运作方式。
观众: 所以有点像课程学习?先从一点点噪声开始,然后随着训练推进慢慢增加噪声?
Guanming: 对。也正因为如此,它会很慢,因为很多人会跑 50 步。我们觉得太慢了,所以我们找到了一种方法,可以把它蒸馏到 2 步或 3 步,同时性能还不掉。
观众: 非常有意思。
观众: 关于世界模型,我有两个问题。第一,性能提升是不是来自于:当动作头被迫去预测整帧未来时,它会看到更多细节?第二,如果场景中有多个智能体,模型会不会发展出某种“心智理论”,从而预测其他智能体的动作,以便更好地预测世界?
Guanming: 这是个很好的问题。我想回到视觉语言动作模型和世界动作模型的架构差异上来回答。很多人都会问:视觉语言动作模型和世界动作模型到底有什么不同?为什么世界模型要去预测未来,而不只是直接预测动作?一种回答方式是:对视觉语言动作模型来说,它主要是基于当前观测去预测当前动作,它没有显式地学习未来运动学。而我们之所以引入未来视频,恰恰是因为我们希望模型能学会未来运动学。举个例子:我手里拿着一瓶水,然后我把它放开。只要把未来视频给模型,它就能从像素层面学到:这个物体在未来是怎么运动的。我们把这看作一种监督,教模型学习未来动力学。我们相信这种未来动力学对动作生成本身也有帮助,因为那本质上就是物理学。通过这个过程,我们教模型学会从像素级物理变化到最终动作之间的相关性。
Francois: 那为了验证这个假设,你能不能训练一个变换器主干去做下一帧预测,而且一帧一帧往后推,然后最后把头拿掉,只保留动作头,看它效果是不是一样?
Guanming: 你的意思是,把它拆成两个阶段,分别训练?
Francois: 对,分阶段。
Guanming: 对,当然可以,而且其实还有一种更高效的方法,叫混合变换器。如果你去看 ImageWAM,他们其实就在做类似的事情:从图像编码主干到动作专家做交叉注意力。像 ImageWAM 和 Fast-WAM 都意识到了一点:世界表示其实不需要显式解码成帧,你可以把它保留在隐藏状态里,然后直接从主干最后一层做交叉注意力到动作头。所以简短回答就是:当然可以,而且我们也意识到,这正是维持世界表示、同时高效生成最佳动作的一种更高效方式。
Francois: 那世界动作模型在测试时会不会做规划?比如你采样 10 次,得到 10 个不同终态和 10 个不同动作,然后从里面选一个最好的终态对应的动作输出?还是说没有做这种测试时规划?
Guanming: 我觉得这本质上就是流匹配的工作方式。因为在流匹配里,你本来就是把动作看作一个可能性分布,然后从中采样最优轨迹。我们又用教师强制教模型学习这些动作分布。所以我觉得,从某种意义上讲,它已经在做类似的事情了。
Francois: 我最后一个问题:为什么你们选择做“世界动作模型的 vLLM”这种商业模式,而不是像 Nico 说的那样,直接变成一家机器人应用公司,端到端去做?
Guanming: 这个问题 Bill 来答更合适。
Bill: 对。我们之所以走这条路,是因为我们真的相信:模型应该拥有对世界的理解。但我觉得现在大家的关注点更多还是在研究上——希望模型尽可能通用、尽可能泛化。可不管多通用,最终每个模型都得跑到边缘设备上,得做到实时。所以我觉得现在还没有很多人真正专注在那一层:如何构建让这些模型先在你的机器人上跑得足够好的基础设施。我们想成为第一家把这件事做好、做出来的公司。
观众: 你好,我有两个问题。第一个是个澄清问题:对于世界动作模型,它的预测是自回归地依赖所有历史帧,还是只根据前一帧来预测当前帧,不涉及更早的帧?
Guanming: 我觉得你问的其实是数据块大小,因为这个参数是可以调整的。训练时,很多人会设成16 帧,也就是预测未来 16 帧。也有人做 32 帧,甚至更长。但如果你把数据块大小拉大,也就是让模型预测更多未来帧,那么模型学习未来状态就会更难,因为时间跨度更长了。
观众: 明白。第二个问题:你有没有了解过一些工作,是去编码帧与帧之间的差异,比如时间差分编码?我记得 Yann LeCun 最近有一篇,还有 Induction Labs 的一篇技术博客,讲的是训练一个想象模型,去预测相邻帧之间差异的潜在编码。
Guanming: 有的。你如果看我们这里提到的非对称去噪,我们其实发现了一种方法,可以测量键值缓存的能量。所以与其去生成所有未来帧,不如只保留与当前动作最相关、信息密度最高的那部分细节。这也是我们加进基础设施里的东西。也就是说,我们找到了一种办法去衡量键值缓存的不同能量分布,然后据此决定模型是去预测不同分辨率的帧,还是干脆完全在潜在空间里做这件事。
观众: 谢谢。


