π 0 π0 π0在2025.2.4开源,目前在github有3.4k的星标,说他是通用策略表现在两点上:
- 做的任务是多元的而且都比较复杂,比如叠衣服,从洗衣机里拿出衣服等等
- 既可以控制单臂,又可以双臂,还可以控制有移动平台的(Groot也是这种通用的)
这样我们后续要加入移动等可以继续往下做,而且π0本身还有后续的 π 0 π_0 π0-fast, π 0.5 π0.5 π0.5, 如果开源也方便后续研究
项目页:https://www.physicalintelligence.company/blog/pi0
论文页:π0: A Vision-Language-Action Flow Model for General Robot Control
作者包括Kevin Black, Noah Brown, Danny Driess, Adnan Esmail, Michael Equi,Chelsea Finn, Niccolo Fusai, Lachy Groom,
Karol Hausman, Brian Ichter, Szymon Jakubczak, Tim Jones, Liyiming Ke, Sergey Levine等20多人
其中的Kevin Black是伯克利AI的博士生,也是该公司的研究员
这个通用机器人策略以预训练的 VLM 为骨干,并结合了一个跨形态数据集。通过引入一个独立的“动作专家”(action expert),该模型能够通过流匹配(flow matching)生成连续动作,从而实现精确且流畅的操作技能。该模型既可直接根据提示执行任务,也可在高质量数据上进行微调,以完成更复杂的多阶段任务,例如折叠多件洗衣物或组装一个箱子。
先在非常多样化的机器人数据集上进行预训练——让VLM变成了相比不用机器人数据预训练下更符合机器人场景的VLA,然后再根据具体任务进行微调
0. 摘要
要让机器人学习达到能够在真实世界中高效应用的通用水平,在数据、泛化能力和鲁棒性方面还面临着重大挑战。
作者探讨了通用型机器人策略(即机器人基础模型)如何应对这些挑战,以及如何为复杂且高精度的任务设计有效的通用型机器人策略。他们提出了一种新颖的流匹配架构,它构建在一个预训练的视觉–语言模型(VLM)之上,以继承互联网规模的语义知识。随后,讨论了如何利用来自多种机器人平台(包括单臂机器人、双臂机器人和移动机械臂)的海量多样化数据集来训练该模型。
通过以下几个方面评估了模型:直接提示执行任务的能力、遵循人类语言指令和高层VLM策略指令的能力,以及通过微调习得新技能的能力。实验结果涵盖了多种任务,例如叠衣服、清理桌面和组装箱子。
1. 介绍
1.1 π 0 π0 π0产生的背景
人类智能相比机器智能最显著的优势在于“通用”:在不同的物理环境中完成各类任务,并能智能应对环境限制、语言指令和意外干扰。在实现这类多才多艺方面,最直观的进展或许体现在LLMs,它们先在网络上海量而多样的图文数据上预训练,然后再用精心筛选的数据集进行微调以塑造期望的行为和响应。
虽然这些模型已经展现出很强的泛化能力,但它们并不是真正“身处”物理世界,而是完全依赖抽象描述来理解物理交互。如果要让它们朝着具有人类那种“通用”能力的方向取得实质进展,就必须用“物理场景数据”来训练——也就是来自具身机器人智能体的数据。可被分派完成多种机器人任务的通用模型,不仅具有广泛的实际意义,也可能为机器人学习面临的数据量不足、泛化能力和鲁棒性等难题提供解决思路。
在 NLP 和 CV 领域,先在多任务多样化数据上预训练出的通用基础模型,往往优于针对单一任务专门设计的模型。例如,要在照片中识别鸟类,与其只用鸟类识别数据训练,不如先在各种图文关联上预训练,再针对鸟类识别进行微调或提示,更加高效。
同样地,对于某些专用机器人系统,先在高度多样化的机器人数据上预训练,再针对特定任务微调或提示,也会更有效。
这样能缓解数据稀缺问题,因为通用模型可以利用更多数据来源——来自不同任务、不同机器人,甚至非机器人场景;也能提升鲁棒性和泛化性,因为多样化数据涵盖了更多观察与动作,包含各种场景、错误修正和恢复行为,而这些往往在狭窄的专用数据中缺失。然而,要开发出这样通用的机器人策略——也就是机器人基础模型——仍面临三项重大挑战。
- 研究必须在非常大规模上进行,因为大规模预训练的全部优势在小规模时往往无法显现
- 需要设计合适的模型架构,既能高效利用多样化数据,又能表达与复杂物理场景交互时所需的微妙动作。
- 需要找到恰当的训练方案。这或许是最关键的一环,因为近期大规模语言和视觉模型的许多进步,都依赖于精心策划的预训练与后训练数据策略。
因此,作者们提出了一个模型与学习框架,称之为 π 0 π0 π0,用以展示如何攻克上述三大瓶颈。
1.2 如何解决上面三个挑战
1.2.1 数据上
为了融合多样化数据源,首先利用预训练的视觉–语言模型 (VLM),引入互联网规模的经验。
基于 VLM 构建模型,意味着我们能继承语言模型和视觉-语言模型的通用知识、语义推理和问题解决能力。
接着,进一步让模型学习机器人动作,将其扩展为视觉-语言-动作 (VLA) 模型。
为了可行地利用多种机器人数据源,采用跨形态训练,将来自不同机器人类型的数据合并到同一个模型中。
这些机器人的配置空间和动作表达形式各异,既有单臂、双臂系统,也有移动机械臂。
1.2.2 模型架构上
此外,为了能够执行高精度且复杂的物理任务,采用 action chunking 架构,配合流匹配(扩散的一种变体),来表示复杂的连续动作分布。
这使得模型能够以高达 50 Hz 的频率控制机器人,完成诸如折叠衣物等灵巧任务
为了将流匹配与 VLM 结合,作者设计了一个新颖的“动作专家”,为标准 VLM 增添基于流的输出。
相当于通过流匹配微调VLM以生成动作(且是多时间步的动作块)
VLM 经过训练只能输出离散语言token。灵巧的机器人操作需要以高频率输出运动命令。
为了让机器人操作能有较高的频率,他们通过流匹配为预训练的 VLM 提供连续动作输出
1.2.3 训练方法上
与语言模型一样,模型架构仅是方法的一部分。要灵活且鲁棒地执行复杂任务,还需要合适的训练方法。
借鉴了超大规模语言和视觉-语言模型常见的预训练/后训练流程:先在海量多样语料上预训练,再在更狭窄、更精心挑选的数据上微调,以塑造期望的行为模式——对我们而言,是灵巧性、高效性和鲁棒性。
直观地看,仅用高质量数据训练,模型学不到如何从错误中恢复,因为此类数据中很少包含失误示例。仅用较低质量的预训练数据训练,则无法让模型学会高效且鲁棒地行动。而二者结合恰好可带来理想行为:模型尽量按照高质量数据的方式行事,同时保留在出现失误时可用的各种恢复和纠正策略。
流匹配的工作方式和扩散模型有些类似,核心思想都是通过逐步添加噪声来简化数据分布,然后逐步去噪得到隐私数据
通过在超过 10,000 小时的机器人数据上预训练,并微调至多种灵巧任务(如折叠衣物、清理桌面、将餐具放入微波炉、将鸡蛋摆入蛋盒、组装箱子、装袋购物物品)来评估所提方法。
2. 相关技术和工作
近期的VLA模型通常通过自回归的离散化方法,将动作表示为类似文本 token 的形式。 与此不同,他们的模型采用了一种新颖设计——对 VLM 进行微调,使其通过流匹配来生成动作。这样就能处理高频率的action chunks(最高可达 50 Hz)和高精度任务,而先前的自回归 VLA 模型在这些方面存在较大挑战。
动作分段架构(Action Chunking):把长动作序列切成若干块,每块里动作相似或连贯,提升生成效率与质量。
这与近期一些基于扩散模型的动作生成方法相似,但不同之处在于,这个模型以预训练 VLM 为主干。作者们的贡献还在于整体框架的整合性,不仅包括模型架构,还涵盖预训练方法、预训练与后训练阶段,以及一系列真实场景下的实验证明。
具体来说,对每个动作序列元素使用扩散式(流匹配)损失,而非仅用于解码器的标准交叉熵损失。为扩散相关的token使用了独立的一组权重。将这些概念融入 VLA 模型中,他们提出了首个基于流匹配、能生成高频动作chunks以实现灵巧控制的 VLA。
作者们使用这个模型所展示的任务复杂度远超以往工作,本工作展示了端到端机器人学习文献中时长最长的高精度任务。
3. 训练架构概览
下图3简要展示了模型结构和训练流程。
首先构建预训练混合数据集,该数据集由加权组合而成:一部分是他们自己采集的、涵盖 7 种不同机器人配置和 68 种灵巧操作任务的数据(见 V-C 节),另一部分是包含 22 款机器人数据的完整 OXE 数据集。
使用这个混合数据集,训练了流匹配VLA模型,该模型由较大的VLM主干网络和较小的动作专家模块组成,动作专家用于处理机器人状态和动作。VLM主干网络的权重初始化来自 PaliGemma,利用了从大规模互联网预训练中学习到的特征表示。最终得到的π0模型。
第一大模块用于图像和文本(比如人类指令)输入
第二大模块用于机器人特定的输入(比如机器人的状态),和输出(比如预测的机器人动作),该第二组权重称为动作专家
这种设计类似“双专家混合“,相当于这两大模块各司其职,各自处理各自接收到的输入
1.预训练阶段还使用了多样化的语言标签,包括任务名称和片段注释(对约 2 秒子轨迹的细粒度标注)。
预训练阶段的目的是训练一个基础模型,使其具备多种能力和泛化能力,但不必针对任何单一任务达到高性能。该基础模型能够根据语言指令执行多种任务,具备初步的熟练度
2.对于复杂且高精度的任务,接着采用后训练流程,利用高质量的精心挑选数据,使模型适应特定的下游任务。
分别研究了小规模至中等规模数据的高效后训练,以及用于如叠衣服和移动操作等复杂任务的更大规模高质量后训练。
为了将基础的 PaliGemma VLM 转化为 π0,加入了使用流匹配生成连续动作分布的动作输出模块。下一节中详细介绍这一设计。
需要说明的是,他们选用 PaliGemma 是因为它体积较小、便于实时控制,但这个框架兼容任何预训练 VLM。
4. π 0 π0 π0模型
π0 模型(见图 3)主要由一个语言模型 Transformer 骨干构成。遵循标准的后期融合视觉语言模型(VLM)方法,图像编码器将机器人获取的图像观测嵌入到与语言token相同的嵌入空间中。进一步在此骨干上加入机器人专用的输入输出:自身状态(关节角度等本体感知)和动作指令。
π0 利用“条件流匹配”方法来建模连续动作分布。流匹配为他们的模型提供了高精度和多模态建模能力,使其特别适合高频率的灵巧操作任务。
该架构灵感来自Transfusion ,同一 Transformer 在多目标下训练,token对应的连续输出(比如机器人的动作)通过流匹配损失进行监督,而与离散输出对应的token则通过交叉熵损失进行监督。
在Transfusion的基础上,他们还发现,为机器人特定的(动作和状态)token使用一套单独的权重能够提升性能
数学上,他们希望对数据分布
p
(
A
t
∣
o
t
)
p\left(\mathbf{A}_{t} \mid \mathbf{o}_{t}\right)
p(At∣ot)建模,
其中,
A
t
=
[
a
t
,
a
t
+
1
,
…
,
a
t
+
H
−
1
]
\mathbf{A}_{t}=\left[\mathbf{a}_{t}, \mathbf{a}_{t+1}, \ldots, \mathbf{a}_{t+H-1}\right]
At=[at,at+1,…,at+H−1]对应于未来动作序列(作者在任务中使用H=50,即一次性预测未来的50个连续动作块)
当我们看到 A t \mathbf{A}_{t} At这个符号时,它表示的是输出的预测动作——相当于是不带有噪声的动作
当看到 A t τ \mathbf{A}_{t}^{\tau} Atτ这个符号时,它表示的是输入噪声动作——相当于是带有噪声的动作
其次, o t \mathbf{o}_{t} ot是一个观察向量,观察由多张RGB图像、一个语言指令和机器人的本体状态组成,即 o t = [ I t 1 , … , I t n , ℓ t , q t ] \mathbf{o}_{t}=\left[\mathbf{I}_{t}^{1}, \ldots, \mathbf{I}_{t}^{n}, \ell_{t}, \mathbf{q}_{t}\right] ot=[It1,…,Itn,ℓt,qt]
I t i \mathbf{I}_{t}^{i} Iti是第 i t h i^{\mathrm{th}} ith张图像(每个机器人有2或3张图像)
ℓ t \ell_{t} ℓt是一系列语言token
q t \mathbf{q}_{t} qt是关节角度的向量
图像 I t i \mathbf{I}_{t}^{i} Iti和状态 q t \mathbf{q}_{t} qt通过相应的编码器进行编码,然后通过线性投影层投影到与语言token相同的嵌入空间中.
对于动作块 A t \mathbf{A}_{t} At中的每个动作 a t ′ \mathbf{a}_{t^{\prime}} at′,都有一个相应的动作token,将其输入动作专家action expert
对于π的基础 VLM,它本身并不直接输出动作, 具体而言,作者是在VLM后面接一个专门的动作模块 这个 action expert
它不是直接把自己的参数塞进VLM模型中,变成一个整体大模型来输出动作,而是通过"cross-attention"去关注VLM的参数——从而基于文本指令指导去噪
所以 action expert 就是“注意着” VLM的参数,根据这些信息生成具体的连续的动作——而无需像RT-2那样对其进行离散化或token化(discretize or tokenize)
在训练过程中,使用条件流匹配损失对这些动作token进行监督。
L
τ
(
θ
)
=
E
p
(
A
t
∣
o
t
)
,
q
(
A
τ
τ
∣
A
t
)
∥
v
θ
(
A
t
τ
,
o
t
)
−
u
(
A
t
τ
∣
A
t
)
∥
2
L^{\tau}(\theta)=\mathbb{E}_{p\left(\mathbf{A}_{t} \mid \mathbf{o}_{t}\right), q\left(\mathbf{A}_{\tau}^{\tau} \mid \mathbf{A}_{t}\right)}\left\|\mathbf{v}_{\theta}\left(\mathbf{A}_{t}^{\tau}, \mathbf{o}_{t}\right)-\mathbf{u}\left(\mathbf{A}_{t}^{\tau} \mid \mathbf{A}_{t}\right)\right\|^{2}
Lτ(θ)=Ep(At∣ot),q(Aττ∣At)∥vθ(Atτ,ot)−u(Atτ∣At)∥2
其中, v θ ( A t τ , o t ) \mathbf{v}_{\theta}\left(\mathbf{A}_{t}^{\tau}, \mathbf{o}_{t}\right) vθ(Atτ,ot)为学习网络,相当于预测的噪声, u ( A t τ ∣ A t ) \mathbf{u}\left(\mathbf{A}_{t}^{\tau} \mid \mathbf{A}_{t}\right) u(Atτ∣At)为学习目标,相当于添加的真实噪声,即训练前者去逼近后者。
解释下上面的大公式:首先,网络先采样噪声 ϵ ∼ N ( 0 , I ) \epsilon \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) ϵ∼N(0,I),计算带噪声的动作,就能构造出 A t τ = τ A t + ( 1 − τ ) ϵ \mathbf{A}_{t}^{\tau}=\tau \mathbf{A}_{t}+(1-\tau) \epsilon Atτ=τAt+(1−τ)ϵ,相当于从动作分布到噪声分布。
之后再去噪,所以要训练网络输出 v θ ( A t τ , o t ) \mathbf{v}_{\theta}\left(\mathbf{A}_{t}^{\tau}, \mathbf{o}_{t}\right) vθ(Atτ,ot)去拟合去噪向量场 u ( A t τ ∣ A t ) = ϵ − A t \mathbf{u}\left(\mathbf{A}_{t}^{\tau} \mid \mathbf{A}_{t}\right)=\epsilon-\mathbf{A}_{t} u(Atτ∣At)=ϵ−At。( u \mathbf{u} u代表添加的真实噪声)。
这种"先污染后治理"的训练范式,本质上是将机器人控制问题转化为对动作流形的几何学习,使模型获得超越传统方法的泛化能力和抗干扰特性。
动作专家采用全双向注意力,使所有动作 token 相互关联。
在训练过程中,从一个强调较低(更嘈杂)时间步的 beta分布 中采样流匹配时间步τ。更多细节请参见附录B。
在推理时,先采样随机噪声
A
t
0
∼
N
(
0
,
I
)
\mathbf{A}_{t}^{0} \sim \mathcal{N}(\mathbf{0}, \mathbf{I})
At0∼N(0,I),再从
τ
=
0
\tau=0
τ=0到
τ
=
1
\tau=1
τ=1积分学习到的向量场来生成动作。且作者使用前向欧拉积分规则
A
t
τ
+
δ
=
A
t
τ
+
δ
v
θ
(
A
t
τ
,
o
t
)
\mathbf{A}_{t}^{\tau+\delta}=\mathbf{A}_{t}^{\tau}+\delta \mathbf{v}_{\theta}\left(\mathbf{A}_{t}^{\tau}, \mathbf{o}_{t}\right)
Atτ+δ=Atτ+δvθ(Atτ,ot),其中
δ
\delta
δ是积分步长,实验中取 10 步(即 δ=0.1)。
这种训练方式就像让AI在虚拟的"动作健身房"里,通过反复抵抗人为制造的干扰(噪声),最终获得在真实世界中抗干扰的"肌肉记忆"。
注意,推理过程可以通过缓存前缀 o t \mathbf{o}_{t} ot的注意力键和值,并且仅对每个积分步骤重新计算与动作token对应的后缀,从而高效地实现推理。他们在附录D中提供了有关推理过程的更多细节,包括模型各个部分的推理时间
虽然可从零开始或用任意 VLM 进行微调,实际上选用 PaliGemma 作为骨干模型。
PaliGemma 是一款开源的 30 亿参数 VLM,在体积与性能间保持了良好平衡。为动作专家新增 3 亿参数(从头初始化),令模型总参数量达 33 亿。
VLM那么多,每个VLA都选的不太一样,为什么pi0要用这个呢?哪种VLM更适合VLA呢
除主模型外,他们还训练了一个不采用 VLM 初始化的基线模型,用于消融对比。此模型称为 π0-small,参数量 4.7 亿,不用 VLM 初始化,其针对无 VLM 数据训练的若干优化见附录 C。
5. 数据收集与训练方案
正如大型语言模型(LLM)通常分为 预训练(pre-training) 和 后训练(post-training) 两个阶段,作者对模型也采用了 多阶段训练流程。
- 预训练阶段 的目标是让模型接触尽可能多样的任务,从而获得广泛通用的物理能力
所以预训练数据集 要覆盖 越多任务越好,且每个任务内要包含 多种不同的行为示例。 - 后训练阶段 的目标是让模型在特定下游任务上表现得娴熟流畅。
后训练数据集 则要包含 有助于高效执行目标任务的示例,且示例要策略一致、质量稳定。
直观上,多样但质量稍低的预训练数据 能让模型学会容错、应对各种罕见情况(比如意外碰到枯枝或杂草时还能继续采摘);
而高质量的后训练数据则能让模型在标准场景下把任务做得更好(比如精准地判断每颗草莓的成熟度并轻柔采摘)。
5.1 先基于机器人数据预训练,之后实际任务中微调
下图 4 中概述了预训练数据的组成。
上图右侧展示了预训练混合集中不同数据集的权重,上图左侧展示了通过步数衡量的相对大小。
该预训练混合集由OXE 的一个子集和 π 数据集组成。OXE的这个子集称之为OXE Magic Soup。
OXE Magic Soup 是对 DeepMind 发布的 Open X-Embodiment (OXE) 数据集所做的一个精心筛选子集
- 9.1% 来自公开数据集,如 OXE、Bridge v2、DROID,这些数据集里机器人通常装1–2个摄像头、控制频率在2–10 Hz,但涵盖多种物体与环境;
- 为了学习灵巧复杂的操作,还使用了自有数据共 903 M时间步,其中 106 M 来自单臂机器人,797 M 来自双臂机器人;
这些数据涵盖了68个任务,每个任务都由复杂的行为组成——例如,“清理餐具”任务包括将各种各样的盘子、杯子和餐具放入餐具回收箱,以及将各种垃圾物品扔进垃圾桶。
此外,由于各数据集在规模上存在不平衡(例如难度更高的“叠衣服”任务数据过多),他们对每个“任务–机器人”组合按样本数 n 做权重调整,权重 ∝ n⁰·⁴³,这样过多的组合会被相对削弱。
1.配置向量
q
t
\mathbf{q}_{t}
qt和动作向量
a
t
\mathbf{a}_{t}
at 的维度固定为数据集中最大的机器人(案例中为18维,以适应两个6-DoF机械臂、两个夹爪、移动底座和垂直驱动的躯干)。
2.对于配置和动作空间维度较低的机器人,对配置和动作向量进行零填充。对于少于三张图像的机器人,还会屏蔽掉缺失的图像槽
3.在后训练阶段,使用一个更小且面向具体应用的数据集对模型进行微调,以使其在特定下游任务上表现出色。不同任务所需数据量差异很大:最简单的任务只需 5 小时 数据;最复杂的任务则可能需要 100 小时 以上数据。
5.2 语言与高层策略
对于需要语义推理和高层战略的复杂任务(如“清理餐台”),可以借助高层策略(high-level policy),将“大任务”(如“清理餐台”)分解为一系列“立即可执行的小任务”(如“拿起餐巾”或“将餐巾扔进垃圾桶”)。
由于我们的模型可处理语言输入,可以利用视觉-语言模型(VLM)来做这类语义推断,其思路类似于 SayCan 等 LLM/VLM 规划方法。他们在多个实验任务中都使用了这种高层策略,在第 6 节会有更多细节。
VLM(视觉–语言模型)擅长“想事情”,但它并不知道「机器人的手臂当前伸得到那个角度么?桌子上那瓶子滑不滑?」这些物理细节。
SayCan的核心思想是:让语言模型提出一大串“可能的子动作”,再让每一个子动作通过一个「物理可行性评估器」(通常是对各个动作专家、RL policy 或 affordance 模型)打分,打分高的就是真正「机器人现在能做」的;打分低的就丢掉,不用浪费资源去尝试失败
π0 本身做高层规划+生成动作指令已经很强,但如果一步到位交给动作专家(motion expert)去执行,动作专家也需要「先确认一下这步动作在当前环境里到底行不行」借鉴 SayCan 思路,你在把 GPT/π0 的规划输出给动作专家之前,先做一层“物理可行性过滤+排序”。
5.3 机器人系统细节
作者灵巧操作数据集包含7种不同的机器人配置和68个任务,如下图图5所示,这些都是他们在实验中使用的机器人
以下逐一说明:
- UR5e:
单臂平行爪,配有腕部和肩部摄像头,共 2 路图像,7 维动作/配置空间。 - 双臂 UR5e:
两套 UR5e,共 3 路图像,14 维空间。 - Franka:
两路摄像头,8 维空间。 - 双臂 Trossen(基于 ALOHA 配置):
两只 6 DoF Trossen ViperX,两腕摄像头 + 一底座摄像头,14 维空间 - 双臂 ARX & 双臂 AgileX:
两只 6 DoF(ARX 或 AgileX),三路摄像头(两腕 + 一底座),14 维空间。 - Mobile Trossen & Mobile ARX(基于 Mobile ALOHA):
两只 6 DoF 臂装在非完整约束底盘上,底盘增加 2 维动作,共 14 维配置 + 16 维动作,三路摄像头布局同上。 - Mobile Fibocom:
两只 6 DoF ARX 臂装在全向底盘上,底盘增加 3 维动作(平移×2 + 旋转×1),共 14 维配置 + 17 维动作。
6. 实验评估
实验评估包括:
- 开箱即用评估(out-of-box evaluation)——将我们的基础(预训练)模型与其他架构通过“直接提示”(direct prompting)的方法进行对比;
- 微调实验——在一系列更具挑战的下游任务上对模型进行精细微调,并与已有的灵巧操作方法做比较。
他们要回答的第一个研究问题是:
预训练后,π₀ 在那些它见过的各种任务上表现如何?通过“直接评估”π₀ 并与其他基础机器人模型对比来研究这一点。
第二个问题是:π₀ 跟随语言指令 的能力如何?
他们将 π₀ 与 π₀-small(不带 VLM 预初始化的精简版)做对比,评估在执行语言命令时的表现。既用 人类给出的自然语言指令,也用 高层 VLM 策略生成的指令(见第 V-B 节)来测试。
第三个问题是:π₀ 与那些专门为灵巧操作提出的方法相比如何?
选取一些下游任务,既尝试 从预训练模型微调,也尝试 从头训练,并与之前的各类灵巧操作算法做对比。目的是评估π₀模型结构和预训练流程带来的提升。
第四个问题是:π₀ 能否适应复杂的多阶段任务?
在最后一组实验中,我们将 π₀ 微调到一批特别复杂的任务上,比如“叠衣服”和“清理餐台”。这些任务单次执行耗时 5 到 20 分钟,有些任务还需要高层策略来指导。
6.1 对基础模型的评估
在第一组实验中,我们仅在预训练完整数据混合后(不做任何后训练)对模型进行评估,以测试基础模型在多种任务上的表现。我们将其与文献中其他基础机器人模型对比:
使用同一个基础模型,通过语言指令测试以下任务(见图 6):
包括叠T恤、简单清桌、困难清桌、物品装袋、取吐司,5个任务。
由于少有前人模型能达成如此规模,对比实验具有挑战性。选取了 OpenVLA(7B) 和 Octo (93M)。
OpenVLA 不支持动作分段或高频控制,对复杂混合数据很吃力。
虽然Octo不是VLA,但它确实使用扩散过程生成动作,为作者的流匹配VLA提供了一个有价值的比较点
由于时间有限,无法用同样训练次数(epochs)来训练 OpenVLA 与 Octo。因此,额外对比了:训练次数等价的π₀,只训练 160 k 步,而非主模型的 700 k 步,步数与基线模型持平或更少(OpenVLA 160 k,Octo 320 k)。
还包括一个 UR5e 专用的 OpenVLA,仅在 UR5e 数据上微调,不做跨平台训练,提供更强的同平台对照。
最后,还包括与π₀-small做比较。
评估指标为归一化得分,对每个任务和方法执行10 次试验后取平均:完全成功得分 1.0;部分成功得分为完成比例(如清桌任务,则为正确放入回收箱物品数占总物品数的比例)。具体评分细则详见附录 E。
结果如上图显示:
- π0在所有零样本任务上取得了迄今为止最好的结果,在叠衬衫和较简单的收拾餐具任务上接近完美的成功率,并且在所有基线方法上都有大幅提升
- 算力等价”版的 π₀(160 k 步)依旧超越所有基线;即使是 π₀-small 也优于 OpenVLA 与 Octo
- OpenVLA在这些任务上表现不佳,因为其自回归离散化架构不支持动作块
仅使用UR5e 的OpenVLA 模型表现更好,但仍远低于π0 的表现 - Octo 支持动作分段,但因表达容量有限,其表现也低于 π₀
这些对比说明:
- 大而有表现力的架构+流匹配/扩散建模 对复杂动作分布至关重要;
- VLM 预训练 在小模型上也能带来显著性能提升。
总之,这些实验表明 π₀ 是一个强大的预训练模型,能在多种机器人与多种任务上“开箱即用”,性能远超以往方法。与π0-small的对比也说明了结合VLM预训练的重要性
6.2 对语言指令的遵循
在这一组实验中,对基础模型 π₀ 进行微调,使其能在多个评估场景下跟随语言指令。
将微调后的 π₀ 与上文提到的 π₀-small 做对比,后者是上一节中表现最强的基线模型。注意,π₀-small 没有使用 VLM 预初始化。因此,本实验的目的是量化 VLM 预训练提升模型理解并执行语言指令的能力。
需要说明的是,π₀-small 体量也明显更小,这可能也是影响语言理解能力的因素,尽管如此,作者仍希望本实验能够揭示 π₀ 在语言层面的真正实力。
每个任务的语言指令都包含要拾取的物体和要放置的目标位置,指令被切分成约 2 秒 的语言标注片段,完整任务由多个此类片段组成。本次评估任务包括:
- 清桌(Bussing):将餐具放入餐具箱,垃圾放入垃圾箱。
- 摆餐具(Table setting):从箱子中取出餐垫、碟子、餐具、餐巾和杯子,根据语言指令摆放并调整位置。
- 买菜装袋(Grocery bagging):把咖啡豆、青稞、棉花糖、海苔、杏仁、意面、罐头等杂货装入袋中。
如图 8 所示,展示了基于语言的任务设置及其评估结果。
他们测试五种条件:
- π₀-flat(和 π₀-small-flat)——仅给出整体任务描述(如“装袋”),不提供中间步骤指令;
- π₀-human(和 π₀-small-human)——专家人类提供中间步骤指令(如“拿起 A 物品,放到 B 位”),考察模型理解并执行细粒度指令的能力;
- π₀-HL——由高层 VLM生成高层次指令,模型自主执行,无需人类专家。
下图图9中的结果,平均每个任务进行10次试验,显示π0的语言跟随准确性明显优于π0-small
这表明:
- 大型预训练 VLM 初始化带来了显著的提升。这一能力也转化为在专家人类指导(π0-human)和高级模型指导(π0-HL)下的性能提升
- π0 的语言跟随能力直接转化为在高级指导下的复杂任务中更出色的自主表现
6.3 学习新的灵巧任务
这组实验中,与预训练数据差异显著的全新任务上评估模型,这些任务需要全新的行为。
为此,作者对模型进行微调,并为每个新任务使用不同量级的训练数据。虽然每个任务都是新的,但可以根据它们与预训练任务的相似度,将任务分为若干“难度层级(tiers)”。本组任务在图 10 中展示,具体包括:
- UR5e 堆碗(stack bowls):需将 4 个不同尺寸的碗依次叠放。
由于此任务与预训练中的“清桌”任务类似,都要抓取并移动餐具,故归为“简单(easy)”层级。训练数据包含多种碗,评估时既使用训练过的碗,也使用全新碗。 - 折毛巾(towel folding):将一条毛巾折叠整齐。
因与预训练中的“叠 T 恤”任务相似,故也划为“简单”层级。 - 微波炉放盒(Tupperware in microwave):打开微波炉门,放入塑料容器,再关上微波炉门。
容器有多种形状与颜色,评估时包括训练过的和全新的容器。虽然抓取容器与预训练相似,但微波炉这一设备在预训练中未出现,因此这属于“中等”或“偏难”层级。 - 更换厨房纸(paper towel replacement):从支架上取出用尽的纸巾心管,并换上新的卷筒纸。
由于预训练数据中未出现任何类似物品,这被归为“困难(hard)”层级。 - Franka 抽屉收纳(items in drawer):打开抽屉,将物品放入抽屉后再关上。
因在预训练中没有 Franka 版的类似任务,同样归为“困难”层级。
作者在将 微调后的 π₀ 与以下方法对比:
- OpenVLA 和 Octo ,它们也采用了预训练和微调的方法。使用公开的 OXE 预训练检查点,再对每个任务微调
- ACT 和 Diffusion Policy(专为少量数据学习灵巧任务设计),仅在对应微调集上训练,数据规模与原论文相当
同时考察 π₀ 的“从头训练(scratch)”和“预训练微调(fine-tuning)”两种模式。这样能分离出 π₀ 模型结构与 预训练流程 各自带来的优势。
作者假设:VLM 初始化的 π₀ 架构,为新任务提供了更好的起点;预训练流程,尤其在微调数据量少时,能进一步提升性能。
下图图11展示了各种方法在所有任务上的性能,平均每个任务进行10次试验,每个任务使用不同数量的微调数据。
- 由于OpenVLA和Octo的性能显著较差,他们仅在其中一个数据集大小上运行这些模型,因为在现实世界中评估如此多模型的时间成本很高。结果显示,π0通常优于其他方法
- 对于“放盒”任务,π₀ 用 5 小时 数据的表现与基线相当,但用 1 小时 数据时,π₀ 明显更好。
- 如预期,与预训练数据相似的任务(如堆碗、折毛巾)在预训练帮助下改进更大;但在所有任务上,预训练模型均比无预训练模型更优,有时性能提升高达 2 倍。
6.4 精通复杂的多阶段任务
在这最后一组实验中,通过微调+语言指导来攻克一系列复杂多阶段任务。对于部分任务,预训练数据中已有示范,但仍需微调才能“精通”;对于另一些任务,预训练中完全没有相应数据。
本次评估的任务见上图 12,具体包括:
- 叠洗衣(Laundry folding):使用固定双臂系统,从箱中取出随机皱褶的衣物,折叠后叠放到已有衣物上方。
随机皱褶状态带来高度不确定性,要求策略能对任意初始形态泛化。此任务在预训练中已有示范。 - 移动叠衣(Mobile laundry):Fibocom 移动双臂机器人折叠衣物,除了皱褶外,还需同时控制位置和平移。
此任务在预训练中已有示范。 - 从烘干机中取衣服(Dryer unloading):Fibocom 移动双臂机器人将衣物从烘干机中取出,放入衣篮。
此任务在预训练中已有示范。 - 清桌(Table bussing):在杂乱场景中清理桌面,多种新奇物品(不同形状、大小)混杂,其难度远超开箱评估。
此任务在预训练中未出现。 - 组装纸箱(Box building):从平摊状态开始,组装纸箱。
需精准弯折,并在折叠时用双臂或桌面支撑纸板;可能需要反复尝试一些折痕,要求策略具备实时反馈&智能决策。
此任务在预训练中未出现。 - 打包外带盒(To-go box):将若干食物从盘子移入外带盒。
要合理摆放,防止物品卡住盒口;用双臂合上盒盖。此任务在预训练中未出现。 - 装蛋(Packing eggs):从碗中取出 6 颗鸡蛋,放入蛋盒后合上盒盖。
需针对蛋壳表面光滑易滑特性,选择合适抓取方式;精确对齐到蛋盒槽位;合盖需双臂配合。
此任务在预训练中未出现。
结果(每任务 10 次试验平均)见图 13,评分细则见附录 E,这些任务非常困难,其他方法均无法解决,因此用它们来对比不同版本的 π₀:
- 预训练+微调
- 仅预训练开箱
- 仅微调无预训练
结果显示,只有结合预训练与微调的 π₀ 才能完成多数任务,性能最优。其中,更难任务对预训练的依赖更大,预训练模型带来的提升尤其明显。
7. 讨论、限制、未来工作
作者提出了一个用于训练机器人基础模型 π₀ 的框架,其流程为:
- 在高度多样化的数据上进行预训练;
- 随后可直接“开箱即用”评估,或对复杂下游任务做微调。
实验覆盖了灵巧度、泛化能力和多阶段延时行为的组合任务。模型融合了互联网级别的视觉-语言模型(VLM)预训练与流匹配(flow matching)技术,能够表示高频、分段动作。预训练混合共计 10,000 小时的灵巧操作数据,涵盖 7 种机器人配置、68 个任务,并附加了来自 OXE、DROID、Bridge 的大规模公开数据集。
微调实验包含20 多个任务,结果显示 π₀ 超越多种基线方法,包括先前的 VLA 模型和专为灵巧操作设计的算法。还展示了后训练方案如何让模型掌握诸如任意初始状态下折叠多件衣物、组装纸箱等高难度任务。
这个框架与LLM的训练流程高度相似:
- 预训练:在海量网络数据上训练基础模型
- 后训练(alignment):通过高质量示范或人类反馈,让模型学会“如何利用已有知识”来执行指令。
通常认为,大部分“知识”是在预训练阶段获得,而后训练阶段则用于教会模型“如何使用”这些知识。实验表明,机器人基础模型也出现类似现象。
预训练模型具备一定零-shot 能力;高难任务(如叠洗衣)仍需高质量微调;只训练高质量数据会导致模型脆弱、难以自我纠错;纯零-shot则常常缺乏后训练中演示的流畅策略。
仍有诸多局限性与未来方向:
- 预训练数据如何组合,哪些数据更有价值、如何加权尚无定论。
- 任务可靠性参差不齐,还无法预测要达到近乎完美需要多少示范、哪些示范。;
- 实验结果暗示通用预训练可能可行,但是否能扩展到截然不同的领域(如自动驾驶、导航、步态控制)还有待深入研究。