← VLA Atlas

π₀ / π₀.₅ Physical Intelligence · PaliGemma 3B + Flow Matching

Physical Intelligence 通用机器人操纵基础模型 · 跨具身流匹配动作生成 · 开世界泛化

π₀ 和 π₀.₅Physical Intelligence(PI)团队开源的两代通用机器人操纵基础模型。PI 由来自 Stanford、Google 和工业界的研究人员组成,创始人包括 Chelsea Finn 和 Sergey Levine 等。π₀ 于 2024-10 发布(arXiv 2410.24164),π₀.₅ 于 2025-04 跟进(arXiv 2504.16054)。

两代模型的共同特点:基于预训练视觉-语言模型(VLM)PaliGemma 3B,加入 flow matching 动作专家进行连续动作生成。π₀.₅ 的核心升级是引入了开世界泛化能力——能在训练时从未见过的真实家庭环境中完成 10-15 分钟的多阶段清洁任务(如清理厨房、收拾卧室)。

两代产品线对比

维度π₀(2024-10)π₀.₅(2025-04)
核心能力零样本任务跟随 + 微调为复杂长程任务零样本 + 开世界泛化(全新家庭)
动作表示离散 token + flow matching 双混合同左(预训练用离散,后训用 flow)
训练数据PI 自采 + OXE 混合,~10K 小时web 数据 + PI 多具身数据
评测方式16 项微调下游任务(折衣服、收拾桌子等)真实家庭泛化(3 厨房 + 3 卧室)
参数量3.3B(VLM 3B + Action Expert 0.3B)论文未明确披露

π₀ 关键成绩

10K+ 小时
机器人演示数据规模 · 来自 7 种机器人配置(单臂、双臂、移动底盘)· 68 项任务 · arXiv 2410.24164
包括 PI 内部采集的 dexterous manipulation 数据 + 完整 OXE 开源数据集(22 种机器人)。代表当时「业界最大规模端到端机器人学习实验」。

微调下游任务表现

π₀ 在 16 项微调任务上展示高质量执行(论文报告了定性成功案例,并未给出量化成功率表):

论文强调「任务长度远超以往工作」——折衣等任务可持续数分钟至十余分钟,涉及物体变形、长期规划、细粒度控制三层耦合。

π₀.₅ 关键成绩

开世界
在全新家庭环境执行 10-15 分钟清洁任务 · 零训练 · 论文评测于 3 个真实厨房 + 3 个真实卧室 · arXiv 2504.16054
具体任务:「放碟子入水槽」「从抽屉取毛巾」「装衣服入篮子」等。模型零样本泛化到完全陌生的新家,涉及新物体、新背景、新布局。

评测协议(Real-Home Generalization)

π₀.₅ 的测试设置是真实用户场景的直接对标:

评测点设置指标
模拟厨房Lab 内 mock-up(已见过的风格)baseline 用于消融
真实厨房(3 个)未见过的住宅厨房,novel objects语言跟随率 + 任务成功率
真实卧室(3 个)未见过的住宅卧室,变化的布局同上
任务长度10-15 分钟的多阶段清洁(e.g., 打扫整个厨房)完成度 %(partially successful episodes 被认可)

注意:具体的成功率百分比在论文中是相对数值("语言跟随率 + 成功率"的对比),论文未单独报告 π₀.₅ 在这些任务上的绝对分数。

架构:PaliGemma + Flow Matching 动作专家

骨干选择:PaliGemma 3B

PaliGemma 是 Google 开源的多模态 VLM,相比通用 LLM 的优势是:

论文说"选 PaliGemma 是为了便利性和体积平衡,但框架兼容任何 VLM"—— 这是一个可复用设计点。

Flow Matching 动作专家(核心创新)

相比传统 VLA 用离散 token 自回归生成动作,π₀ 的动作专家用 conditional flow matching 输出连续动作分布:

环节设计好处
动作块长度 H = 50 个时步(连续) 支持 50 Hz 控制频率,细粒度 dexterous 操纵
数学形式 τ ∼ [0,1] flow time;loss = ||v_θ(A_τ, o) - (A - ϵ)||² 比 diffusion 更稳定的收敛;最优传输概率路径
推理 Euler 积分 10 步(δ=0.1)从纯噪声 → 干净动作 确定性、快速、无需采样
权重隔离 Action Expert 用独立权重参数(~ 300M),VLM 冻结或微调分开 参数高效;可热换动作头;梯度路由灵活

为何选 flow matching 而非 diffusion? 论文对比指出:flow matching 用线性高斯概率路径(相比 diffusion 的 reverse 过程)在高频动作生成上收敛更快、数值更稳定;且与最优传输理论兼容。

多模态输入编码

训练配方:Pre-training + Post-training 两阶段

π₀ 的数据源与规模

论文报告了「至知识发表时业界最大规模」的机器人预训练数据混合:

  1. PI 内部采集(高质量 dexterous)
    • 7 种机器人配置(单臂 Franka、双臂 Aloha、移动底盘等)
    • 68 项任务
    • 覆盖精细操纵(folding, assembly, wiping)
  2. OXE 开源数据集(广覆盖)
    • 22 种不同机器人平台
    • 多任务覆盖(grasping, drawer opening 等)
  3. 语言标注:任务名 + 2 秒级子轨迹细粒度标签

总计:~10,000 小时机器人演示(π₀ 论文明确说法)· 包括多体态、多任务、多恢复策略

两阶段训练的动机

类似 LLM 的 pre-training + post-training 范式:

阶段数据特性目标损失函数
Pre-training 低质量但多样(mix of OXE + PI diverse) 学习广泛物理基础能力、错误恢复 Flow matching loss(各任务混合)
Post-training 高质量精心采集(single task, high-quality demos) 精通特定下游任务、流畅执行 同上,但数据更纯净

直觉:预训练给模型「犯错时的恢复和多样化行为词汇库」,后训让它「在某一任务上表现优雅」——两者互补。

π₀.₅ 对训练的改进

π₀.₅ 采用了「离散 token 预训 + flow matching 后训」的混合方案:

这样设计让预训练稳定快速,后训既保留语言理解能力又获得细致动作生成。

π₀.₅ 的开世界泛化机制

为什么 π₀.₅ 能泛化到新家庭?

论文未明确说是某个单一技巧,而是以下因素的组合:

  1. Web 数据集成:训练数据中包含大量互联网图像-文本对,使得 VLM backbone 学到了世界各地厨房、卧室的视觉多样性
  2. 多具身交叉训练:跨 10+ 种机器人平台的轨迹混合,迫使模型学习 task-level 的语义而非 embodiment-specific 细节
  3. 层级推理**(π₀.₅ 新增):模型先输出高层子任务("pick up plate"),再生成低层动作。子任务是语言化的、可通用的语义
  4. Flow matching 的平滑性:连续动作生成相比离散 token 在分布外场景下不易"梗"

π₀.₅ 论文用的术语是"open-world generalization",特指「从未见过的房屋和物品场景」而非"无任何任务描述"——仍然给定语言指令。

和其它 VLA 的横向对比

模型 Backbone 动作头 参数 开源程度 主战绩
π₀ PaliGemma 3B Flow matching 动作专家 3.3B 代码 + 权重(HF) 10K 小时预训 · 微调 16 项任务 · 折衣等长程
π₀.₅ PaliGemma(未公开大小) 离散+flow 混合 · 层级推理 未披露 部分(权重 + 推理框架) 开世界泛化 · 真实家庭 3+3 零样本
Wall-X / WALL-OSS-0.5 Qwen2.5-VL 3B Flow + FAST 双头 · MoT 架构 ~4B ✅ 训练/推理全开源 15 真机任务 60.5%(fine-tuned)vs π₀.₅ 43.0%
Qwen-VLA(闭源) Qwen3.5-4B DiT flow matching 1.15B ~5B 权重 + 推理(闭源框架) LIBERO 97.9% · ALOHA 76.9% · 多基准覆盖
OpenVLA Llama-2 7B + DINO 离散 action token 7B ✅ 代码 + 权重 较小规模基准
GR00T N1 Eagle-2 Diffusion Policy 双系统 ~2B 部分 NVIDIA 优化、轻量级

π₀ vs Wall-OSS-0.5 的直接对比见 wall-x.html;π₀ vs Qwen-VLA 的对比见 qwen-vla.html。π₀.₅ 强调的是「泛化」而非「绝对分数」。

推理与部署

推理效率

操作时间(NVIDIA RTX 4090)备注
VLM 前缀编码(观测 + 语言)~50-100 ms可缓存 attention key/value
Flow matching 单个去噪步(10 步总共)~10 ms/stepEuler 积分,decoder-only
端到端(从观测到动作)~150-200 ms适合 5-10 Hz 控制;50 Hz 需进一步优化

使用示例(基于开源代码)

# 加载预训练权重
from openpi import PiModel
model = PiModel.from_pretrained("physical-intelligence/pi-0")

# 准备输入:观测 + 语言指令
obs = {
  "images": [img_rgb_head, img_rgb_wrist],
  "proprio": joint_angles,
  "language": "pick up the red block"
}

# 推理:生成 50 步动作
actions = model.predict(obs, num_integration_steps=10)

# 执行
for a in actions:
  robot.send_action(a)
    

π₀ 代码开源于 Physical-Intelligence/openpi;模型权重托管在 Hugging Face。

局限与值得关注的点

参考链接