

π₀.₅ 论文精读:面向开放世界泛化的 Vision-Language-Action 模型
精读 π₀.₅:通过异构数据 co-training、层级 subtask 推理与 FAST/Flow 混合动作表示,让移动操作机器人在未见过的家庭环境中执行长时程整理任务。
π₀.₅ 把跨机器人、语义 subtask、语言示教和 web 多模态数据放进同一个 VLA 的 co-training 配方,再用高层 subtask + 低层 Flow Matching 动作专家,在未见过的家庭中完成长时程整理。
1. 论文概述#
论文名称:《π₀.₅: a Vision-Language-Action Model with Open-World Generalization》
作者:Physical Intelligence、Kevin Black、Noah Brown、James Darpinian、Karan Dhabalia、Danny Driess、Adnan Esmail、Michael Equi、Chelsea Finn、Niccolo Fusai、Manuel Y. Galliker、Dibya Ghosh、Lachy Groom、Karol Hausman、Brian Ichter、Szymon Jakubczak、Tim Jones、Liyiming Ke、Devin LeBlanc、Sergey Levine、Adrian Li-Bell、Mohith Mothukuri、Suraj Nair、Karl Pertsch、Allen Z. Ren、Lucy Xiaoyang Shi、Laura Smith、Jost Tobias Springenberg、Kyle Stachowicz、James Tanner、Quan Vuong、Homer Walke、Anna Walling、Haohuan Wang、Lili Yu、Ury Zhilinsky
机构:Physical Intelligence
会议 / 期刊:arXiv 预印本(2025)
论文链接:arXiv ↗
代码链接:Physical-Intelligence/openpi ↗
项目主页:π₀.₅: A VLA with Open-World Generalization ↗

一句话总结#
【Paper】 π₀.₅ 的核心不是再收集一个更大的单一机器人数据集,而是把“不同 embodiment 的动作经验”“高层语义 subtask”“人工语言示教”和“web 视觉语言知识”映射到同一个 VLA 序列建模框架,再在后训练阶段加入 Flow Matching action expert。运行时,同一个模型先输出“下一步该做什么”,再输出“机械臂和底盘如何做”,从而把开放世界泛化拆成语义层与物理执行层两个互补问题。
核心贡献#
【Paper】
- 提出一个面向 open-world generalization 的 π₀.₅ VLA。模型在约 400 小时移动操作数据之外,还使用非移动机器人、多 embodiment 实验室数据、高层 subtask 标注、语言示教和 web 多模态数据。
- 设计离散与连续动作的混合训练:预训练阶段用 FAST action token 做高效的 next-token prediction,后训练阶段加入 Flow Matching action expert,以便实时生成细粒度连续动作。
- 用统一模型实现层级推理:先估计语义 subtask(如
pick up the pillow),再以该 subtask 为条件预测 50 步 action chunk。 - 在未出现在训练集的新厨房和新卧室中展示多分钟到 10–15 分钟的长时程清理行为,并通过环境数量、数据源和高层策略消融验证知识迁移的来源。
【Analysis】 这篇工作的真正研究对象是 training recipe。模型结构建立在 π₀ 上,性能跃迁主要来自“什么数据以什么表示、在什么阶段训练、推理时如何分工”的联合设计。
2. 背景与相关工作#
【Paper】 传统 VLA 往往在与训练分布相近的实验室环境中评估。对固定台面上的“拿起杯子”而言,扩大场景与物体覆盖已经能带来泛化;但“清理一个从未见过的厨房”还要求机器人同时处理视觉新颖性、物体语义、动作顺序、长时程错误恢复和不同 embodiment 的动力学差异。单纯把目标移动机器人数据按比例扩大,成本和覆盖率都很难接受。
此前的路线大致分为三类:
- Generalist robot policy:把多任务、多场景、跨机器人数据混合训练,获得更宽的动作先验。
- VLA / VLM co-training:把图像描述、VQA、定位等非机器人任务与动作模仿放入同一个序列模型,借用 web 语义知识。
- Language planning / hierarchical policy:用 VLM 或 LLM 生成高层步骤,再交给低层策略执行长时程任务。
【Paper】 π₀.₅ 与常见的“两模型 planner + controller”不同:高层 subtask 与低层动作由同一个 VLA 完成;与只做 VLM 初始化的方案不同,它让 web 数据、高层标注和跨 embodiment 动作在训练期间直接共享表示。
【Analysis】 这种统一性带来一个重要取舍:高层输出可以受 robot-domain 数据校准,避免直接 zero-shot 调用 GPT-4 产生不适合当前 embodiment 的步骤;但模型也会继承训练标签体系的边界,无法自动获得训练中没有表达过的复杂偏好。
3. 问题定义#
【Paper】 在时间 ,观测记为:
其中 是多路 RGB 相机, 是关节角、夹爪、torso lift 和底盘速度等本体状态; 是用户给出的高层语言任务,例如 clean the bedroom。
模型需要同时表示文本输出 与 action chunk :
【Paper】 这个分解把问题变成两个条件分布:
| 层级 | 输入 | 输出 | 作用 |
|---|---|---|---|
| High-level policy | 多相机观测、机器人状态、高层 prompt | 文本 subtask 与可选 bounding boxes | 判断下一步要完成的语义动作 |
| Low-level policy | 观测、subtask 文本、噪声 action chunk | 50 步连续 action chunk | 执行关节、夹爪、底盘和 torso 控制 |
【Paper】 实验使用两类移动操作平台:双 6-DoF 手臂、平行夹爪、全向底盘、torso lift 和四路相机;不同平台的状态 / 动作空间为 18 或 19 维。控制器以 50 Hz 接收手臂目标位姿、夹爪、torso lift 和底盘速度,目标由简单 PD 控制器跟踪,没有额外的轨迹规划或碰撞检测。
【Analysis】 因此这里的“开放世界”不是任意家庭机器人任务,而是一个边界明确的测试:训练任务类别大体相近,但测试地点、物体实例、摆放关系和视觉背景全新;模型需要在这些变化上组合已有技能。
4. 方法#
4.1 Overall Architecture#
【Paper】 π₀.₅ 以 PaliGemma VLM 为语义 backbone,并在其旁边放置约 300M 参数的 action expert。预训练阶段,图像、语言、proprioception 和 FAST 动作都以离散 token 形式进入同一个自回归 transformer;后训练阶段保留文本 next-token loss,同时把 action token 替换为 Flow Matching 的连续 noisy action。
整体数据流只有一句话:多相机图像和 prompt 形成 prefix,模型先自回归生成高层 subtask,再将 subtask 作为条件输入 action expert,经过 10 次 flow integration 输出 50 步连续动作。
4.2 核心模块#
PaliGemma / Vision-Language Backbone#
- 输入:多路 RGB 图像、语言 prompt,以及在 π₀.₅ 中离散化后的 proprioceptive state。
- 输出:共享 transformer embedding 和文本 logits。
- 作用:承担图像语义、语言理解、subtask 预测、web caption / VQA / 定位等任务。
- 【Code】:官方
openpi在src/openpi/models/pi0.py中调用 SigLIPSo400m/14图像编码器和 Gemma 2B;src/openpi/models/pi0_config.py将默认max_token_len设为 200,并将 π₀.₅ 的 state 设为离散输入。
High-level Subtask Head#
- 输入:完整相机观测、当前状态和高层指令。
- 输出:如
pull out the drawer、pick up the bowl的文本 subtask;在训练中还可先输出目标 bounding boxes。 - 作用:把 10 分钟级任务变成当前可执行的小步骤。
- 为什么需要:直接让低层 policy 从
clean the kitchen预测动作,会把物体识别、任务排序和接触控制都压进一次动作回归;显式 subtask 提供了中间监督和更短的决策 horizon。
FAST Discrete Action Representation#
- 输入:连续 action chunk。
- 输出:压缩后的离散 action tokens。
- 作用:把机器人动作转换为标准 next-token prediction,使预训练可以高效使用大规模异构数据。
- 【Paper】:预训练同时预测文本、目标框和 FAST action token;动作统一归一化到 ,不同 robot 的低维动作通过 zero-padding 对齐到最大维度。
Flow Matching Action Expert#
- 输入:50 步 noisy action chunk、flow timestep 、prefix 表示和 subtask。
- 输出:动作维度上的 vector field。
- 作用:用非自回归的迭代积分生成连续、细粒度的动作,满足实时控制。
- 【Paper】:action expert 宽度为 1024、深度为 18、MLP 维度为 4096,约 300M 参数;动作 horizon 为 ,即 50 个动作 token。
- 【Code】:在
pi0.py中,π₀.₅ 用独立 MLP 编码 timestep,再通过 adaptive RMSNorm 注入 action expert;这与 π₀ 直接把 timestep 和 action 拼接的实现不同。
Attention Mask 与知识隔离#
【Paper】 图像、语言和 state 使用 full prefix attention;FAST token 可看 prefix 和此前的 FAST token;action expert token 可看 prefix 与 action expert 内部 token,但不能看 FAST token。信息只从 VLM 流向 action expert,避免两种 action 表示互相泄漏。
【Analysis】 这使离散 token 更像“便宜的语义 / 预训练通道”,连续 expert 更像“专门的执行通道”。两者共享输入和上游表征,却不强迫同一个 token 同时承担语言生成与精确控制。
4.3 关键公式#
混合训练目标#
【Paper】 对文本与 FAST token 的交叉熵,以及连续 action expert 的 flow matching loss,论文使用如下联合目标:
其中:
- 是文本与 FAST action token 的 cross-entropy;
- 是噪声;
- 是 flow 路径上的 noisy action;
- 是 action expert 输出的 vector field;
- 控制连续动作损失的权重。
Flow Matching 采样#
【Paper】 推理时从噪声 出发,沿模型预测的向量场积分到数据端 。论文采用偏向低 timestep 的 Beta 采样,并在运行时使用 10 次 denoising / integration steps。
【Code】 当前 openpi 的 sample_actions 以 为噪声端,令 ,在 jax.lax.while_loop 中反复执行 action expert,直到得到 。代码中的时间方向约定与论文符号相反,但实现的是同一条从噪声到动作的积分过程。
层级策略分解#
【Analysis】 这个表达式强调:高层文本不是额外的外部 planner,而是同一模型内部的 latent decision interface。显式生成 subtask 相当于增加一次 test-time computation;“implicit HL” 消融说明,即使不在运行时输出文本,高层标注本身也会改善低层策略。
4.4 Training#

【Paper】 训练分两个阶段:
- Pre-training:280k steps。混合 mobile manipulator(约 400 小时、约 100 个家庭环境)、多环境非移动机器人、实验室 cross-embodiment、high-level subtask 和 web 多模态数据。第一阶段 97.6% 的样本不是目标移动机器人家庭任务。
- Post-training:80k steps,。保留文本 loss,随机初始化 action expert,并用成功的移动 / 非移动机器人片段、web 数据、high-level 数据和 verbal instruction 数据训练 Flow Matching head。
【Paper】 verbal instruction 数据由专家实时选择合适的 subtask 来“用语言遥操作”机器人,例如先说 put cup in sink,再在低层 policy 执行期间继续给出下一步语言。它不是给每个动作打低层标签,而是为高层策略提供可执行的语义轨迹。
【Code】 官方仓库公开的是面向微调和推理的实现。training/config.py 提供 pi05_droid、pi05_libero、pi05_aloha 等配置;Pi0Config(pi05=True) 默认 action_horizon=50、action_dim=32、gemma_2b + gemma_300m。README 明确说明当前仓库主要支持 π₀.₅ 的 Flow Matching head,论文中的 FAST + Flow 联合预训练配方并未完整公开成一个可直接复现实验的配置。
- Stage 1 从预训练 VLM 初始化 backbone,将图像、文本、state、bounding box 和动作统一成 token
- 在异构数据混合物上执行 next-token prediction,动作使用 FAST tokenizer
- Stage 2 保留文本与 subtask 监督,加入随机初始化的 Flow Matching action expert
- 采样噪声 和 timestep ,构造 noisy action
- 最小化文本 / FAST cross-entropy 与 vector-field MSE 的加权和
- 使用移动机器人、成功片段、web 和 verbal instruction 数据专门化到家庭操作
- return 训练后的共享 VLM + action expert
4.5 Inference#
【Paper】 给定高层 prompt 和当前观测,模型先自回归生成一个 subtask;如果训练样本包含目标框,它会在 subtask 前预测相关 bounding boxes。然后把该文本 subtask 作为低层命令,action expert 从高斯噪声开始做 10 次 flow integration,得到 50 步动作 chunk。执行若干动作后再次观察并重复这一过程,因此高层决策频率低于 50 Hz 的低层控制频率。
【Code】 src/openpi/models/pi0.py 的 sample_actions 先对 prefix 做一次 forward 并缓存 KV,再在每个 integration step 只计算 suffix;policy_config.create_trained_policy 将输出的 action chunk 交给平台特定 policy。当前公开实现的常规调用是 policy.infer(example)['actions']。
- 用 VLM prefix 编码多相机图像、离散 state 与高层 prompt
- 自回归生成 high-level subtask (可选先生成 bounding boxes)
- 初始化 ,并缓存 prefix KV
- for 重复 10 次 flow integration
- 用 timestep MLP、adaptive RMSNorm 和 action expert 预测 vector field
- 沿负时间步更新 noisy chunk,得到更接近真实动作的
- end for 得到连续 action chunk
- 将目标关节位姿、夹爪、torso 和底盘速度送入 50 Hz PD 控制器
4.6 代码实现对照#
| 论文概念 | openpi 代码位置 | 对照结论 |
|---|---|---|
| π₀.₅ 配置 | src/openpi/models/pi0_config.py | pi05=True 切换离散 state 与 adaRMS timestep 注入;默认 horizon 为 50。 |
| VLM / action expert | src/openpi/models/pi0.py | 使用 Gemma 2B 与 Gemma 300M 两个 transformer 配置;action expert 单独投影 noisy actions。 |
| 图像编码 | src/openpi/models/siglip.py、pi0.py | SigLIP So400m/14,输入通过 transform resize 到 224x224。 |
| Flow loss | Pi0.compute_loss | Beta(1.5, 1) 采样 timestep,再用 训练。 |
| Flow inference | Pi0.sample_actions | prefix KV cache + 迭代 suffix,默认 10 steps。 |
| 数据与动作维度 | src/openpi/transforms.py、training/config.py | state / action pad 到模型维度,DROID、LIBERO、ALOHA 有独立 policy transform。 |
| 论文两阶段 FAST 预训练 | 当前仓库 README / configs | 仓库公开版本说明“目前只支持 π₀.₅ Flow Matching head”,不能据代码宣称完整复现论文内部 co-training。 |
【Analysis】 代码与论文最值得注意的差异是“研究系统”与“开放源码产品”的边界:论文描述的是包含 FAST 预训练、web / HL / VI 数据的内部训练配方;公开仓库则重点提供 base checkpoint 的推理与下游微调接口。复现实验时应把二者分开引用。
5. 实验#
5.1 Experimental Setup#


【Paper】 作者主要回答四个问题:
- 模型能否在从未见过的真实家庭中完成整理?
- 泛化是否随着训练环境数量增加?
- 哪些 co-training 数据源真正有贡献?
- 显式 high-level inference 是否优于直接低层控制?
标准 quantitative evaluation 包含四个任务:Items in Drawer、Dishes in Sink、Laundry Basket、Make Bed。每个任务在多个新地点进行,每个 policy / task 通常执行 10 次,并以完成 rubric 的百分比计分。另有 language following 测试:给定五个物体和一句指令,要求识别正确物体并放入 sink 或 drawer;OOD 版本使用训练中没有出现过的物体类别。
【Paper】 训练环境数量实验使用 3、12、22、53、82、104 个地点;所有模型在相同测试 mock homes 上评估,以分离“数据量”与“场景多样性”的影响。
5.2 Main Results#
【Paper】 在三个未见过的真实家庭中,π₀.₅ 能根据简单高层命令完成厨房和卧室清理:多个物品被分步放入 drawer / sink,衣物被放入 laundry basket,模型还展示了整理床铺、挂毛巾等更长的行为。单个多阶段 episode 通常持续 2–5 分钟,完整清理厨房或卧室的演示可达到 10–15 分钟。
【Paper】 当训练地点从 3 增加到 104,四项 mock-home 任务的平均得分总体上升;104-location 模型在未见测试地点上的表现接近“直接把测试地点加入训练”的控制组。论文将此视为 co-training recipe 缩小 generalization gap 的证据,而不是简单记忆某个房间。
【Paper】 与 π₀ 以及只使用动作数据的 π₀-FAST+Flow 相比,π₀.₅ 在 mock-home 综合得分上显著更高。论文还报告 π₀.₅ 的语言跟随率略高于 π₀-FAST+Flow,明显高于原始 π₀,说明离散 token 预训练有助于语言与物体语义。
5.3 Ablation Study#

【Paper】 去掉任一 cross-embodiment 数据源(多环境非移动数据 ME,或实验室 cross-embodiment 数据 CE)都会显著降分,同时去掉两者下降更大。它们对 Dishes in Sink、Laundry Basket 等需要通用操控策略的任务尤其重要。
【Paper】 web data 在四项 mock-home 总分上的差异不总是显著,但对 OOD object language following 影响明显;这与 web 数据提供广泛物体知识的解释一致。对 Items in Drawer 这类需要识别陌生物体和抽屉语义的任务,web data 的作用更突出。
【Paper】 高层策略消融包括完整 π₀.₅、no web、no verbal instruction、implicit HL、no HL、GPT-4 HL 和 human HL。完整模型最好;implicit HL(训练有高层标注、运行时不显式输出 subtask)次之;no HL、no VI、no WD 均明显下降;zero-shot GPT-4 HL 最差,甚至不如训练过 robot data 的统一模型。完整模型还超过 human HL oracle。

5.4 Generalization#
【Paper】 语言跟随和任务成功率都会随着训练地点数量稳步增加;ID 物体类别通常比 OOD 类别提升更快,但增加新地点也会不断引入新的家庭物体,使 OOD 泛化同步改善。
【Paper】 论文的真实家庭结果不是“从未见过任何相关技能”的 zero-shot,而是“任务大类在训练中存在、具体地点和配置未见”。模型依赖跨 embodiment 数据迁移低层抓取与放置规律,依赖 web / HL 数据迁移物体语义和任务顺序。
【Analysis】 这是一种更接近部署的泛化定义:机器人不需要凭空发明“整理房间”技能,但必须把已有 primitive 重新组合到陌生空间。这也解释了为什么地点数量、物体多样性和高层监督三者都重要。
6. 方法分析#
6.1 为什么有效?#
【Analysis】 π₀.₅ 的效果可以拆成四个互补机制:
- 共享语义底座:PaliGemma 让 web caption、VQA、定位和机器人观测使用相同视觉语言空间,陌生物体不必完全依赖机器人示教覆盖。
- 跨 embodiment 物理迁移:固定机械臂不能直接教会移动底盘导航,但可以提供抓取、放置、抽屉操作等局部动力学和接触规律。
- 层级缩短决策 horizon:高层每次只决定一个语义 subtask,低层 action expert 只负责几十步连续控制,降低把整段任务压成一步回归的难度。
- 离散训练、连续执行:FAST token 让异构数据更容易 co-train,Flow Matching 则避免自回归动作 token 在实时控制中的速度和精度瓶颈。
6.2 核心创新#
【Paper】 论文的创新点不是提出全新的 transformer,而是证明特定数据组合可以让同一个 VLA 获得开放世界能力:
- 用 high-level subtask prediction 把语言推理直接接到 robot policy;
- 用 verbal instruction 作为低成本高层行为监督;
- 用 web 数据补足物体与场景语义;
- 用 ME + CE 跨 embodiment 数据补足低层行为覆盖;
- 用 FAST → Flow 的训练 / 推理分工兼顾 compute efficiency 与动作质量。
6.3 与已有方法的本质区别#
| 路线 | 高层决策 | 低层动作 | 知识来源 | 主要瓶颈 |
|---|---|---|---|---|
| 标准 VLA | 通常隐式 | 直接 action token 或 chunk | 机器人 + VLM 初始化 | 长时程任务的步骤选择不稳定 |
| VLM planner + policy | 外部 VLM | 独立 policy | 两个模型分别训练 | 接口误差、域外 planner 不懂 embodiment |
| π₀ | 可选外部高层 | Flow Matching action expert | 跨 embodiment 机器人数据 | 高层语义监督较少 |
| π₀.₅ | 同一模型显式 / 隐式 subtask | FAST 预训练 + Flow expert | 机器人、HL、VI、web | 训练配方复杂、上下文仍有限 |
【Analysis】 π₀.₅ 的本质区别是把“规划”降格为模型内部的一种输出模态,而不是另一个系统。它没有从根本上解决 planning 与 control 的接口问题,而是用共享参数和联合数据让接口变成可学习的 token 序列。
6.4 关键假设#
【Paper】 / 【Analysis】
- 训练数据中的 subtask 标签足够稳定,能够表达下一步行为的语义。
- 不同机器人之间存在可迁移的局部 manipulation regularities,即使 embodiment、相机和控制频率不同。
- web 图像语言数据提供的物体知识能通过共享 VLM 表示迁移到 robot observation。
- 50 步 action chunk 与 10 次 flow integration 足以覆盖当前控制频率和动作精度需求。
- 目标家庭任务可以由训练中已有 primitive 组合,而不需要新的工具使用或复杂导航规划。
7. 局限性#
7.1 作者明确提出的局限#
【Paper】 模型仍会在陌生抽屉把手、物理上难以打开的柜门、被手臂遮挡的 spill 等场景失败;高层 subtask 有时会被干扰,出现反复开关抽屉等行为。模型目前只能稳定处理相对简单的 prompt,复杂偏好和更长的指令需要更多、更细的标注。
【Paper】 上下文长度相对有限,跨房间导航、记忆物品存放位置和部分可观测任务仍可能失败。作者也指出,当前只探索了有限的数据源组合,verbal instruction 等监督方式还有很大扩展空间。
7.2 自己分析得到的局限#
【Analysis】 第一,论文只公开了整体配方和结果曲线,没有公开足以复现内部 280k + 80k co-training 的完整数据、采样权重、标注规范和 checkpoint,因此“数据源贡献”难以被外部研究者完全独立复核。
【Analysis】 第二,层级文本输出依赖预先定义的 subtask vocabulary。模型可以在词汇内重组技能,但对“先把易碎杯子放到最安全的位置,再按颜色整理”的新目标,未必能生成训练标签之外的可执行计划。
【Analysis】 第三,底盘、torso 和双臂动作被统一放进一个 action vector,虽然便于跨 embodiment pad,但也可能掩盖不同自由度、控制延迟和安全约束;论文中的简单 PD 跟踪器不等于工业部署所需的碰撞检测与故障恢复。
【Analysis】 第四,真实家庭评估仍集中在厨房与卧室 cleanup。它证明了场景泛化,却没有覆盖楼梯、狭窄通道、多房间记忆、人与机器人同时活动等更高风险的 open-world 条件。
8. 启发与研究思考#
【Analysis】 π₀.₅ 给 embodied AI 的启发不是“多加一点 web data”这么简单,而是要把每种数据放在它最擅长的层级:跨 embodiment 动作教低层物理规律,web 和视觉语言任务教物体语义,subtask / verbal instruction 教任务结构,移动机器人数据负责把这些知识绑定到真实 embodiment。
对后续研究,我认为有三个方向值得继续追踪:
- 更可验证的中间表示:subtask 文本目前既是监督标签也是接口,可以进一步加入可执行性评分、目标状态和失败原因,让高层输出不只是“下一句命令”。
- 记忆与不确定性:当任务跨房间、被遮挡或需要等待环境变化时,单次短上下文的 VLA 不够,需要显式 memory、belief state 或可回溯的 action chunk。
- 数据配方自动化:不同任务对 ME、CE、WD、VI 的依赖不同。未来可以让数据 mixture、loss weight 和高层调用频率随任务不确定性自适应,而不是固定的人工配方。
【Analysis】 如果把 π₀.₅ 看成一个“统一模型如何吸收异构经验”的实验,那么它最重要的结论是:开放世界泛化更像一个 transfer routing 问题,而不仅是参数规模问题。机器人需要知道哪些经验能迁移、迁移到哪个层级,以及何时把语义知识转译成物理动作。