<aside> 💡

Disclaimer:

本文仅代表个人观点,陈述内容未经严谨考证,如有错漏或表述不当之处还望见谅。

</aside>

具身智能(Embodied Intelligence),我第一次听说这个词大概是在2020年,当时这个说法主要被用在视觉导航(Visual Navigation)任务上,Embodied AI Workshop 在 CVPR 2020上首次举办。到2021年,李飞飞组发了一篇Nature子刊,文章内容已经不太记得了,但是 title 里这个 Embodied Intelligence 的说法对那时的我来说仍然很是新奇,同年我也参加了 CVPR 2021上的第二届 Embodied AI Workshop。自那之后,我常言称我是在做具身智能相关的研究。但其实在很长一段时间里我都不太喜欢这个说法,而是更倾向于用 Robot Learning 这个词(就是CoRL中的RL)。与之类似的,还有一个也是2021年听说的词,叫 Foundation Model,是Stanford一众大佬联合发表的一篇综述性文章提出来的新名词。幼稚的我当时只觉得这是北美学者一贯的 rebranding,是提出一些看起来更加高大上但实际没什么意义的新名词,但现在……嗯,真香 :) 他们 envision 的能力让人叹服(rebrand 的能力也是)。

不过要说「通用」具身智能这波浪潮的起点,我个人认为是 SayCan 的发布。当时 ChatGPT 还没问世,GPT-3 的强大之处也只是在学术圈内部才有所耳闻,还很少有人意识到 AI 研究甚至整个社会都将面临一次重大变革,而 SayCan 团队无疑就是机器人领域最早意识到这一点的。他们研究发现,利用 LLM 强大的语言处理能力,能够将一个很复杂的长程任务拆解成多步短程的子任务,然后将 LLM 与能够判断 affordance 的 value function 相结合进行打分,能够自动地选择合适的底层机器人技能完成任务,他们把这个方法称为 SayCan。基于这个框架,他们展示了类似“帮我把可乐拿过来”等多个直接以语言进行指令的移动操作(mobile manipulation)demo,这些在之前是很难想象的一件事,是我在具身智能方面经历的第一个mind-blowing moment。论文发布后不久,文章通讯作者之一的夏斐(Fei Xia)学长曾受叉院几位老师的邀请来进行过一次线上报告,我翻了下当时的笔记,是在2022年的4月28号。在那之后,Google Robotics 这个团队几乎以平均不到两个月一篇的速度接连发布了多篇文章,其中,打头阵的 SayCan 大概是第一篇大小脑结合的工作,启发了后续各种通用机器人模型的研究;Code-as-Policies 展示了 LLM 不仅是用来沟通机器人的工具,LLM 本身也可以学习完成机器人任务;RT-1 应该是事实上第一个 VLA 模型,将 SayCan 中多个独立的底层技能库整合成了一个大的基于视觉-语言输入的模型;PaLM-E 大概是第一个基于预训练的 LLM 模型得到的具身多模态模型,在机器人数据上对 PaLM 进行了专门的训练,其许多特征,例如利用 LLM 在 token 空间处理视觉和语言,已经具备了现今 VLA 的雏形,只是 PaLM-E 当时还是调用底层技能库完成的实际机器人控制;RT-2 正式提出了 Vision-Language-Action (VLA) Model 这个称谓,这个名字和 RT-2 中的许多设计,至今仍被广泛采用;到2023年10月 Open X-Embodiment 数据集和 RT-X 模型 的发布,现在主流 VLA 模型所使用的数据、训练算法和模型结构已经基本成型,构建通用 VLA 的浪潮开启。

PS:针对 Embodied Navigation 和 从 SayCan 开始的通用具身智能浪潮早期的进展,我都曾经整理过报告 [1][2]。关于 SayCan 这部分早期进展,如果还没读过这些文章的我十分推荐回顾看看,我认为这些工作至今看来仍然充满 insights,我们现在的许多研究内容其实并没跳脱出他们当时的探索路径。Sincerely respect to the pioneers of Robotics at Google!

来自Ted Xiao的推特,Google Robotics于2022-2023年间发布多篇奠基性工作

来自Ted Xiao的推特,Google Robotics于2022-2023年间发布多篇奠基性工作

同样来自Ted Xiao的推特,Robot Learning 的几次关键演进过程

同样来自Ted Xiao的推特,Robot Learning 的几次关键演进过程

回看这些时间点,在2022年到2023年这一年多的时间里,Google 团队一系列的进展,Aloha(ACT)Diffusion Policy 等工作的发布,以及2022年底 ChatGPT 的轰动,已经让一些人意识到了 LLM 等通用模型将给机器人领域带来前所未有的机会。像智元机器人(2023年2月)、银河通用(2023年5月)和星海图(2023年9月)等国内头部的具身智能初创公司都在这期间成立,这份敏感度和对时间点的精准把握,也让智元和银河通用占据了先发优势,成为了目前国内唯二(?)估值达到独角兽级别(>$1B)的具身智能初创公司。而当时我还在苦苦挣扎于无人机方面的研究和项目推进,虽然早早就关注到了这方面进展,却没能把握住这波浪潮早期的发展机会,一直处于旁观的状态。关于无人机的部分这里暂且按下不表,或许之后有机会再总结下这部分经历和经验教训。而等到我们真正开始着手转向「通用操作」VLA模型的时候,已经是2024年下半年。这时距离 ACT 和 Diffusion Policy 的发布已经超过一年,OpenVLA 已经开源,VLA 正当热门,资本的关注也让「具身智能」这个词成了最具流量的话题之一。

在转向的一开始,我们没有选择超大参数量的 VLA 模型,而是怀着谨慎和递进的态度,决定先尝试研究下「模仿学习中 ACT 和 DP 等不同模型在不同情况时的表现」。结果很遗憾是失败的。也是因为我们当时对于领域发展存在一些过高的预期和实践经验的缺失,我们失望地发现这些模型在一些很简单的任务上也并不能达到令人满意的成功率,经历一些波折和 debug,虽然对这些方法有了更深入的理解,但是眼看着项目进展缓慢和外界 VLA 层出不穷的发布,我们再次决定转向,开始直接做 VLA 模型方面的研究。这时候,我们选择的是 RDT 这个模型,2024年10月挂在了arxiv上并进行了开源,展示了许多看起来很 fancy 的双臂机器人demo。可惜我们再次对 VLA 的能力产生了错误的判断。当时提出的设想是,既然 RDT 已经看起来很强劲了,我们应该可以通过输入不同的语言指令,来完成复杂的长流程任务,实现基于语言的反馈闭环。直到几个月之后我们才真正意识到,指令遵循(instruction following)实际上是现在 VLA 模型最大的挑战之一,VLA的能力也远没达到如臂指使的地步。此外,我们一开始也并没意识到,RDT 这个模型的一些特性(不是基于 VLM,整体是个 DiT),让我们也难以进行一些除了 SFT 以外的微调工作,后来想尝试进行一些 DPO 的训练但是并未成功(虽然我们至今在其他VLA上也没能把DPO搞work)。进行类比的话,我会觉得 RDT 更像是 RT-1,而不是 RT-2。总之,几次踩坑之后,时间来到了2025年,事情发生了一些变化,首先是人员和投入上的变化。组里更多的人开始投入在具身智能(准确来说,是面向通用操作的 VLA 模型,我一直认为曾经进行的 Navigation 和无人机等研究同样属于具身智能)这个方向上。这里要特别感谢良致这半年多以来因为我的认知不足跟着我踩了不少的坑,希望后续的科研进展都能一切顺利 🙏🏻。另外一个变化,是我们开始更加重视基于 VLM 构建的 VLA 模型,例如 OpenVLA 和 Pi-0。

说到对于 VLM 重视度的提升,还需要提及在2024年下半年到2025年初的这段时间里,发生的另外两次重要的mind-blowing moments。一个是 Pi-0,他们展示了一套完整的「从洗衣机中取出衣物,然后移动到桌子旁,再在桌子上依次对衣服进行折叠收纳」的流程,全程没有人类辅助。大概是从这之后,能够折叠收纳衣服/布料/纸巾,成了展示 VLA 能力的关键任务,不过至今也没有第二家公司能够复刻 Pi-0 的完整移动操作流程,或许在某些 benchmark 的性能上超过了 Pi-0,但是在完整度和产品能力上,还没有。到目前为止,Pi-0 仍是最好用的开源 VLA 模型。另一个是令人感到 shocking 的工作是 Gemini Robotics。他们展示了 Google 开发的 Gemini 模型已经具备了很强的机器人任务场景下的理解能力,能够完成物体检测、2D轨迹规划、关键点生成、行为理解、甚至是3D物体检测等任务。基于这些能力,他们构建的 Gemini Robotics 模型能够实现多种复杂的机器人任务,能够实现当时看来(可能到今天也是)最好的指令遵循能力和推理能力。虽然他们的很多技术细节并未在报告中阐述,模型也未开源,但这篇工作让我真正意识到了 VLM 模型在实现通用机器人模型上的重要性,其中提及的 Emobided Reasoning 的概念也是我近几个月来一直关注和推进的方向。

OK。啰里啰嗦写到这里,终于该进入正题了——接下来应该做什么。想要实现通用机器人,什么是最重要和核心的问题?

A first principle is an axiom that cannot be deduced from any other within that system. (Source: Wikipedia)

**首先,是数据。**先放上两张最常被引用作为论据的图。

来自 Prof. Jitendra Malik’s talk on “Robot Learning, with inspiration from child development”

来自 Prof. Jitendra Malik’s talk on “Robot Learning, with inspiration from child development”

来自 Prof. Ken Goldberg 的推特

来自 Prof. Ken Goldberg 的推特

机器人的数据太少了。即使自 OXE 数据集公布以来,陆续出现了许多新的开源“大规模”机器人数据集(Droid, AgiBot World, RoboMind),机器人数据在绝对数量上仍然差得很远。一方面,随着数据集扩摸的扩大,至今仍未看到 VLA 训练具备 scaling law 的证据,构建数据采集场和收集更大规模的机器人数据好像成了一个看不见尽头的军备竞赛。另一方面,机器人任务的复杂性让这些开源数据集和开源模型起到的实际效用大打折扣,不同机器人本体采集到的数据集在模型能力的提升上作用如何并不十分明确,即使相同本体型号,不同实验室也往往会采用千差万别的搭建方案(控制指令、坐标系选取、相机配置、相机数目等等),不同实验室通常也难以保证具有相近的测试环境。

针对数据问题,还有一个说法叫做数据飞轮,这个说法常见于自动驾驶行业,指的是可以通过量产的商业化落地,实现快速大量的数据反馈,从而进一步提升算法能力。我认为这个思路在通用机器人上是不成立的。关键在于,自动驾驶车辆与通用机器人的产品特性是不同的。自动驾驶车辆,首先是一辆车,是一个「可驾驶的工具性产品」,即使没有「自动驾驶」这项「服务能力」,也会有人类司机充当驾驶员,让车能够完成上路行驶这个任务,所以即使自动驾驶仍不成熟,一个配备了适当传感器模组的车辆,已经能够反馈大量的驾驶数据。而通用机器人,它的产品特性基于它所能提供的「智能化服务」。一个不具备智能的机器人只是一个上百斤重、难以控制的钢铁。即使一个具备了初步智能化服务能力的机器人,也难以达到量产的标准。试想一个能实现99%成功率的 pick-and-place 模型(机器人操作中最简单、数据量最大的任务),量产部署在一万台机器人上,每台机器人每天进行100次操作任务,每个月会出现的事故数大概是30万次,平均到每台机器人上,每个月会出现30次事故。如果把成功率提高到99.9%,这两个数字分别是3万次和3次。试想你会接受花上万甚至上十万元,买一个每个月摔3次东西的机器人出现在你家或者公司吗?何况在各种复杂场景下能够实现99.9%的成功率,已经是一个极高的进入门槛。综合这些,我对于单纯通过采集真实机器人数据和扩大数据量以实现模型泛化这条路一直持一个相对悲观的态度。

Momenta提出的“飞轮式”L4方案 https://www.momenta.cn/article/54.html

Momenta提出的“飞轮式”L4方案 https://www.momenta.cn/article/54.html

既然V-L-A三元组的数据难以在真实世界采集,那么将问题拆解开大抵有两个思路:

  1. 在模拟世界中采集,通过增大算力投入加速采集;
  2. 打破三元组的约束,引入更大规模、更容易采集的数据。

先说第一个:在模拟(仿真/合成)环境中采集数据,利用GPU时间进行加速。