[论文笔记] Pi-0: 面向通用机器人控制的VLA Flow 模型

作者 | 林天威 编辑 | 自动驾驶之心

原文链接:https://zhuanlan.zhihu.com/p/4711051331

点击下方卡片,关注“自动驾驶之心”公众号

戳我-> 领取自动驾驶近15个方向学习路线

>>点击进入→自动驾驶之心具身智能技术交流群

本文只做学术分享,如有侵权,联系删文

Pi-0 是Physical Intelligence 成立后的第一个论文工作(全公司都署名了,豪华阵容)。这篇论文主要关注如何实现robot foundation model,并聚焦在两个方面:Pre/Post-Training 策略;基于Flow-Matching 的action expert。从结果看,pi-0可以实现比较强的泛化能力,并能实现非常实时的推理。比起之前的OpenVLA 等工作,pi-0 在端到端VLA这条路线上向robot foundation model 迈进了很多。

e54c7d00edc5c2c586d7088fd1396e27.png

Motivation

Pi-0 的核心motivation 是将LLM 和VLM 领域中已经经过考验的Pre/Post-Training 训练范式迁移到机器人具身模型的训练过程中来,即:

  • Pre-training:在大规模且非常多样性的互联网语料库上对模型做预训练;

  • Post-training:在更精心设计的数据集上fine-tune (or "align") 模型,使模型输出更符合预期;

如何将这个范式迁移到机器人领域呢?Pi-0 的训练,实质上是三步:

  • Internet-scale Pre-Training: Pi-0 是基于一个训练好的开源VLM 模型继续训练的,因此这个开源VLM 模型的训练实质上相当于是Pi-0 模型训练的第一个阶段,提供了模型的多模理解能力;

  • Pre-Training:基于团队构造的一个10000 小时机器人操作数据集,进行了大规模训练。实质上,Pre-Training 后,Pi-0 模型就已经可以处理见过的任务,并zero-shot泛化到一些不那么难的任务上

  • Post-Training:对于一些新的很困难的任务,需要5-100 小时数据进行fine-tune.

作者认为,要获得一个具备良好泛化能力的robot foundation model,主要有三方面挑战:

  • 数据的规模要足够大(数据量、本体丰富度、任务丰富度等);

  • 模型的架构要合理(支持高频控制,连续action space控制);

  • Training recipe 要合理(训练策略,数据配比等);

围绕这几个问题,Pi-0 的核心设计如下节介绍。

The Pi-0 Model

模型结构

d4b8e334512d9f4b9be9027adb7dbeb6.png

模型结构如上图所示:

  • 模型基于一个Pre-Trained VLM (PaliGemma) 构建,其包含视觉Encoder 部分(SigLIP,400M)和Transformer 部分(Gemma,2.6B);

  • 在预训练模型的基础上,Pi-0 通过MoE 混合专家模型的方式引入了一个action expert 来处理动作的输入和输出。这里是指,只有一个Transformer 模型,在处理文本和图像token 时,用的是原模型的参数;在处理action token 时,则用新初始化的action expert 的参数;

  • 输入:模型的输入包括3帧最近的图像,文本指令,以及机器人本体信号(即各joint 当前angle)

  • 输出:输出是称作action chunk 的形式,即未来一段时间的action 序列,这里的序列长度H 设定为50,对于50HZ 控制的情况,即相当于预测未来一秒钟的动作。这里action 的维度,设定为各个本体中最长的那个(18DoF),不够的本体则pad。(注意,这里action space 都设定在joint space,这有利于模型输出结果直接控制机械臂,避免了IK 解算环节)

Flow Matching as Action Expert

Flow matching 可以看作是diffusion 的一种变体,之前有听说但没仔细学习过,正好这次学习了下(知乎上也有很多不错的介绍文章,比如 笑书神侠:深入解析Flow Matching技术 )。Flow-Matching 主要是学习如何从一个噪声分布数据流形到目标分布数据流形之间的flow。Flow matching 的主要优势主要在于训练/推理方式比较简单、生成路径比较容易控制、稳定性更高等。Flow Matching +简单线性高斯概率路径的方案在生成任务上也获得了比较好的效果。

具体到Pi-0中:在action 预测任务中,在时间t我们要预测一个action chunk, 则优化目标为:

fa058d88010a1878f6f4d03c144211af.png
  • 是 [0,1] 之间的数值,代表flow-matching 的timestep,0对应噪声分布,1对应目标分布;

  • 即所对应的噪声流形到目标流形的中间流形。基于flow matching 的定义,我们可以将后验概率(即已知,来获得)表示为:

61775a7d5eb78ae88a7fb46f2cb1bdc4.png
  • 具体地,基于线性高斯路径策略,可以表示为(和扩散加噪过程很相似):

852c41ef659aa7c4ad420820b1646387.png
  • 而在前面的训练损失函数中,我们实质监督的是,在这个时间点流形的 flow 或者说是速度方向(也因此这种训练方法叫做flow matching)。(,)指网络预测结果,其优化目标为:

ce0ea6147b1f7f90ce284a4895c70913.png
  • 因此,diffusion 和flow matching 的训练都是一个去噪过程,但表示形式不同,前者预测的是添加的噪声,后者预测的是噪声到分布的方向。flow matching 可以通过控制优化路径来实现更灵活的生成控制。

  • 在训练阶段,从一个beta 分布中采样(为了强调前段/噪声更多阶段的训练)。而在inferece 阶段,Pi-0 使用了10步均等步长(=0.1)的形式来实现flow matching 过程:

Pre-Training and Post-Training

8815352714540e6f02d18882cb5610bf.png

作者认为预训练阶段最重要的就是diversity,用了一个10000小时规模的数据集训练:

  • 数据集大部分是自采的(采集方式下一节介绍),仅9.1% 是开源的(Open-emb-x, droid 等)。数据集的自采集部分,包含了903 million timestep。

  • 数据集中使用了多种本体,大部分都是双臂数据,基本都是aloha 数据

  • 自采任务包含68个任务,但普遍都是比较复杂的符合任务,所以实质上包含的任务更多;

作者认为后训练阶段数据的要点是动作质量高,即动作要完成地一致且高效

  • Post-training 阶段的任务选择地和预训练有明显差异;

  • 简单的任务,需要5小时数据,最复杂的任务需要100小时甚至更多;

Robot System

328a157d1dc89f6dd6ec00666d46db3d.png

Pi-0 构造了一个还算比较丰富的多本体平台,如上图所示。具体信息整理如下:

5208b1e720f4c59a30de533cab2ef663.png
  • 轻型机械臂用的都是Aloha 方案,主要是Trossen,ARX(方舟无限,国产)和AgileX(松灵,国产)

  • 非轻型机械臂(UR5e 和Franka)用的不是Aloha 方案,没说啥采集方案。猜测应该是6D 鼠标等遥操设备。

  • 这里面的所有任务都是夹爪,没做灵巧手;

Experiment

实验内容比较多,这里主要贴一下两个主要实验

Zero-shot evaluation

这个任务主要是想看Pre-Training 完的模型直接拿来用的效果,和OpenVLA,Octo 等方法比;

a803d7445decaf43c30408f0e5c300f8.png 4f9b71529095a175974e738df0a58c2b.png
  • Pi-0 比OpenVLA 等方法效果好很多;

  • Pi-0-Parity 是训练步数比较少的模型 160k/700k,表明训练充分对模型效果影响很大

  • Pi-0-Small 是没有用Pretrain VLM 的模型,可以看出来效果也差了很多。

Post-Training Evaluation

在新的困难的灵巧任务上进行训练和测试:

568deb0c12f5117b2823247cd943199b.png e83ba4dd72fb32e11a3e46870719b764.png

部署 & 效率测评

这里补充一下附录里面提到的部署时的推理策略和推理效率。推理策略:

  • 模型每次生成H timestep 的action chunk,H一般是50;

  • 对于20Hz 控制的机械臂,需要2.5s 执行完;对于50HZ 控制的机械臂,需要1s 的执行完;

  • 实质上,并不会等所有action 执行完再进入下一轮执行。对于20Hz 平台,在执行完16步(0.8s)后就会进入下一轮;对于50Hz平台,执行完25步(0.5s)后就会进入下一轮

这个执行策略,其实是每0.5s 做一次重新规划。这是因为Pi-0 并没有把历史决策作为输入,即这个模型并没有维护history 信息。所以这个方案实质上还是应该看作是一个开环方案。

bdca506730e2a6aac23219bf31d26577.png
  • 速度是在4090 上测试的,可以看出这个3.4B模型的推理还是很快的,应该用上了当前主流的推理加速

  • Off-board 指显卡不在设备上,通过wifi 通信,可以看出他们这个通信延迟做的也还行。

  • 整体延迟控制在了100ms 内,这意味着他们其实最高可以以10FPS 频率来做重规划。

讨论 & 总结

Pi-0 方案可以看作是OpenVLA 这类VLA 方案的一次系统升级,主要是更好的训练数据 + 更好的Policy Head。而且Policy Head 和VLM 模型连接的方式,可能是一种很好的大小脑系统连接的路径。整个方案系统性很强,值得细读学习,整体读下来感觉也很好。

除了优点,还是有不少槽点和疑惑点的:

  • 从预训练的层面,这篇工作似乎并没有带来太多新东西。当前大家对于“具身预训练”这个话题,可能更多还是希望能够减少需要大量人力投入的遥操数据采集环节。所以,这篇文章里面的Pre-Training,可能实质上对应的是我们认为的Post-Training,而Post-Training 对应的则是我们认为的few-shot adaption。

  • 文章中提到一个观点:“高质量数据不能教会模型如何从错误中恢复”,那言下之意应该是低质量数据中一下错误后重新尝试的数据对这方面有帮助。这个观点很认同,但文中其实并没有分析训练数据中是否真的有这类数据,也没有做相关的佐证实验。

  • Pi-0 的框架没有加入history 我感觉还是比较可惜的,或许是他们的下一步吧;

  • 模型部分,不同本体似乎没有加一个区分指示的token,只靠action space 维度区分不太靠谱;同时Pi-0 也没有展示本体层面的泛化能力。

① 2025中国国际新能源技术展会

自动驾驶之心联合主办中国国际新能源汽车技术、零部件及服务展会。展会将于2025年2月21日至24日在北京新国展二期举行,展览面积达到2万平方米,预计吸引来自世界各地的400多家参展商和2万名专业观众。作为新能源汽车领域的专业展,它将全面展示新能源汽车行业的最新成果和发展趋势,同期围绕个各关键板块举办论坛,欢迎报名参加。

e27d60beb9d18220f6d990326196d62a.jpeg

② 国内首个自动驾驶学习社区

『自动驾驶之心知识星球』近4000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知端到端自动驾驶世界模型仿真闭环2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型,更有行业动态和岗位发布!欢迎扫描加入

d7923db93ebcd74605dfe97c50fd1b79.png

 ③全网独家视频课程

端到端自动驾驶、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、CUDA与TensorRT模型部署大模型与自动驾驶NeRF语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

5d1cba733f67a355451324422a4161a0.png

网页端官网:www.zdjszx.com

④【自动驾驶之心】全平台矩阵

736e29a8278ed4f6e757c8ac7ffb8285.png

### VLA机器人控制中的作用 视觉-语言-动作(Vision-Language-Action, VLA模型是一种融合了计算机视觉、自然语言处理和机器人学的技术框架,其核心目标是使机器人能够理解人类的语言指令并将其转化为具体的物理行为。VLA 技术的发展显著提升了机器人的灵活性和适应能力。 #### 1. **VLA 的基本功能** VLA 模型通过结合预训练的视觉语言模型 (Visual Language Model, VLM) 和特定于机器人的动作模块,实现了从感知到行动的端到端映射[^2]。这种架构允许机器人接收自然语言输入,并根据上下文生成相应的动作序列。例如,在 Helix 控制技术中,VLA 被用来实现对整个上半身的高度协调控制,包括手腕、躯干、头部甚至单个手指的动作[^1]。 #### 2. **VLA机器人控制中的具体应用** ##### (1)**通用任务执行** 借助 VLA 模型机器人可以完成多种复杂任务而无需针对每种任务重新设计控制系统。例如,Pi0 使用了一个跨体现的数据集来学习不同类型的灵巧操作技能,并通过添加一个专门的动作专家模块来优化这些技能的表现[^3]。这使得 Pi0 可以轻松应对诸如抓取物体、打开门或堆叠物品等多样化场景。 ##### (2)**基于提示的任务推理** VLA 不仅限于简单的命令跟随;它还支持更高级别的认知活动,比如基于提示的任务推理。这意味着当用户提供一段描述性的文字说明时,机器人可以根据自己的经验库推断出如何完成这项工作。这种方法特别适合那些未被明确编程过的新型挑战情境。 ##### (3)**动态环境下的实时响应** 由于采用了流匹配算法生成连续平滑的动作轨迹,即使面对不断变化的情况,装备有先进 VLA 系统的设备也能保持稳定高效的性能表现。这对于需要快速反应的应用场合尤为重要,如搜救作业或是生产线上的质量检测环节。 #### 3. **未来发展方向与潜力** 随着研究深入和技术进步,预计未来的 VLA 将更加注重以下几个方面: - 提高泛化能力和鲁棒性; - 减少对于大量标注数据依赖程度的同时提升效率; - 推动多模态交互方式创新以便更好地服务于人类社会需求。 ```python def vla_robot_control(task_description): """ Simulates a basic function of how an advanced robot might use VLA to interpret and execute tasks. Args: task_description (str): A natural language string describing the desired action. Returns: str: Feedback indicating success or failure after attempting execution based on input description. """ vl_model_output = process_language_and_vision_data(task_description) continuous_actions = generate_smooth_action_sequence(vl_model_output) try_execute(continuous_actions) return "Task executed successfully!" if verify_outcome() else "Failed to perform requested operation." ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值