本文详细对比分析 Physical Intelligence 公司发布的两代视觉-语言-动作(VLA)模型:π₀ 和 π₀.5,从设计目标、模型架构、训练方法、数据策略等多个维度进行深入解读。

1. 引言

机器人领域正在经历一场由基础模型驱动的革命。正如大语言模型(LLM)改变了自然语言处理领域,视觉-语言-动作模型(Vision-Language-Action, VLA) 正在改变机器人学习的范式。

Physical Intelligence 公司先后发布了两代 VLA 模型:

  • π₀(2024年10月):首个通用机器人策略
  • π₀.5(2025年4月):具备开放世界泛化能力的 VLA

本文将深入分析这两个模型的核心差异,帮助读者理解 VLA 技术的演进方向。


2. π₀:首个通用机器人策略

2.1 设计目标

π₀ 的核心目标是实现 灵巧操作(Dexterity)跨具身控制(Cross-Embodiment)

“…perform tasks that no prior robot learning system has done successfully, such as folding laundry or assembling a cardboard box”
—— π₀ 官方博客

π₀ 追求的是让机器人完成前所未有的复杂技能:

  • 折叠衣物(从烘干机取出、整理、折叠成堆)
  • 组装纸板箱
  • 清理餐桌
  • 装袋杂货

2.2 模型架构

π₀ 采用 双专家并行 + 共享注意力 的架构设计:

┌─────────────────────────────────────────────────────────────────────┐
│                           π₀ 架构                                   │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│   输入                                                              │
│   ├── 图像 ──► SigLIP 视觉编码器                                    │
│   ├── 语言 ──► Tokenizer                                           │
│   └── 状态 ──► MLP 编码                                            │
│                     │                                               │
│                     ▼                                               │
│   ┌─────────────────────────────────────────────────────────┐      │
│   │              VLM Expert (PaliGemma 3B)                   │      │
│   │                        ↕                                 │      │
│   │              逐层共享注意力机制                            │      │
│   │                        ↕                                 │      │
│   │            Action Expert (Gemma 300M)                    │      │
│   └─────────────────────────────────────────────────────────┘      │
│                     │                                               │
│                     ▼                                               │
│   输出: 连续动作(通过 Flow Matching 生成)                          │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

关键设计特点:

  1. 双专家架构:VLM Expert 负责视觉-语言理解,Action Expert 负责动作生成
  2. 逐层共享注意力:两个专家在每一层通过共享自注意力机制交互
  3. Flow Matching:使用流匹配(一种扩散模型变体)生成连续动作
  4. 非对称信息流:Action tokens 可以注意到 VLM tokens,但 VLM tokens 被遮蔽,保护预训练知识

2.3 训练数据

π₀ 的训练数据包括:

  • Open X-Embodiment:开源跨具身机器人数据集
  • VLM 预训练:基于 PaliGemma 的互联网规模预训练
  • π Dataset:来自 8 种不同机器人的灵巧任务数据

2.4 推理流程

输入: 图像 + 语言指令 + 机器人状态 + 噪声
           │
           ▼
    ┌──────────────────┐
    │  VLM 前向传播     │  ← 只运行 1 次,生成 KV Cache
    └────────┬─────────┘
             │
    ┌────────▼─────────┐
    │  Flow Matching   │  ← 迭代 10 次(欧拉积分)
    │  Action Expert   │
    └────────┬─────────┘
             │
             ▼
输出: 50 步动作序列(Action Chunk)

3. π₀.5:开放世界泛化的 VLA

3.1 设计目标

π₀.5 的核心目标是实现 开放世界泛化(Open-World Generalization)

“…exhibits meaningful generalization to entirely new environments”
“All experiments were done in homes that were NOT in the training data”
—— π₀.5 官方博客

π₀.5 追求的是让机器人能够:

  • 在从未见过的新家庭中执行任务
  • 理解任务的语义结构并自主分解
  • 处理新物体和新场景

3.2 核心创新:Knowledge Insulation(知识隔离)

π₀ 存在一个严重问题:训练时 Action Expert 的梯度会 破坏 VLM 的预训练知识,导致:

  • 训练速度慢
  • 语言指令跟随能力下降
  • 泛化能力受限

π₀.5 通过 Knowledge Insulation 解决这个问题:

┌─────────────────────────────────────────────────────────────────────┐
│                    Knowledge Insulation 训练                        │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│   ┌─────────────────────────────────────────────────────────┐      │
│   │                    VLM Backbone 损失                     │      │
│   │                                                          │      │
│   │   FAST Token Loss    Web Data Loss    高层次语义 Loss    │      │
│   │   (离散动作预测)     (VQA, Caption)   (子任务预测)       │      │
│   │         │                 │                 │            │      │
│   │         └─────────────────┼─────────────────┘            │      │
│   │                           ▼                              │      │
│   │                      VLM Backbone                        │      │
│   └───────────────────────────┬─────────────────────────────┘      │
│                               │                                     │
│                        Stop Gradient ✕  ← 关键:梯度截断            │
│                               │                                     │
│   ┌───────────────────────────┼─────────────────────────────┐      │
│   │                           │                              │      │
│   │                  Flow Matching Loss                      │      │
│   │                           │                              │      │
│   │                           ▼                              │      │
│   │                    Action Expert                         │      │
│   │               (梯度不传回 VLM)                          │      │
│   └─────────────────────────────────────────────────────────┘      │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

Knowledge Insulation 的三个关键点:

  1. Stop Gradient:Action Expert 的梯度不传给 VLM Backbone
  2. FAST Token Loss:用离散动作 token 训练 VLM,快速学习运动表示
  3. VLM Data Co-training:同时训练 Web 数据,保持语言理解能力

3.3 Co-Training 数据策略

π₀.5 采用 协同训练(Co-Training) 策略,融合多种数据源:

┌─────────────────────────────────────────────────────────────────────┐
│                      π₀.5 Co-Training 数据                          │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│   ┌────────────────────────────────────────────────────────────┐   │
│   │              多模态 Web 数据(WD)                           │   │
│   │   ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌───────────┐ │   │
│   │   │ 图像描述  │  │   VQA    │  │ 物体检测  │  │ 通用多模态 │ │   │
│   │   └──────────┘  └──────────┘  └──────────┘  └───────────┘ │   │
│   └────────────────────────────────────────────────────────────┘   │
│                                                                     │
│   ┌────────────────────────────────────────────────────────────┐   │
│   │                    机器人数据                                │   │
│   │   ┌──────────────┐  ┌─────────────────┐  ┌──────────────┐  │   │
│   │   │  ME 数据     │  │   CE 数据        │  │ 移动操作数据  │  │   │
│   │   │ (多环境静态  │  │   (跨具身        │  │ (~400小时)   │  │   │
│   │   │  机器人)     │  │    来自 π₀)     │  │              │  │   │
│   │   └──────────────┘  └─────────────────┘  └──────────────┘  │   │
│   └────────────────────────────────────────────────────────────┘   │
│                                                                     │
│   ┌────────────────────────────────────────────────────────────┐   │
│   │                  高层次语义数据                              │   │
│   │   ┌──────────────┐  ┌─────────────────┐  ┌──────────────┐  │   │
│   │   │ 语言指令     │  │   子任务标注     │  │ 高层次规划   │  │   │
│   │   │ "关闭微波炉" │  │ "捡起枕头"      │  │              │  │   │
│   │   └──────────────┘  └─────────────────┘  └──────────────┘  │   │
│   └────────────────────────────────────────────────────────────┘   │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

3.4 层次化推理(类似 Chain-of-Thought)

π₀.5 采用 层次化推理 流程:

┌─────────────────────────────────────────────────────────────────────┐
│                    π₀.5 层次化推理流程                               │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│    ① 高层任务                                                       │
│   "打扫卧室"                                                         │
│        │                                                            │
│        ▼                                                            │
│   ┌─────────────────────────────────────────────────────────┐      │
│   │                    VLM 推理(高层)                       │      │
│   │     输入: 图像 + "打扫卧室"                               │      │
│   │     输出: "捡起枕头"  ← 自动生成子任务                    │      │
│   └─────────────────────────────────────────────────────────┘      │
│        │                                                            │
│        ▼                                                            │
│    ② 子任务                                                         │
│   "捡起枕头"                                                         │
│        │                                                            │
│        ▼                                                            │
│   ┌─────────────────────────────────────────────────────────┐      │
│   │                Action Expert 推理(低层)                 │      │
│   │     输入: 图像 + "捡起枕头"                               │      │
│   │     输出: [-1.7, 1.25, 3.14, ...] (50步动作)             │      │
│   └─────────────────────────────────────────────────────────┘      │
│        │                                                            │
│        ▼                                                            │
│    ③ 执行动作                                                       │
│   机器人执行生成的动作序列                                           │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

这种设计类似于 LLM 中的 Chain-of-Thought:

  • 模型先 “告诉自己” 下一步应该做什么(高层语言推理)
  • 再执行具体的运动控制(低层动作生成)

4. π₀ 与 π₀.5 核心差异对比

4.1 设计目标对比

维度 π₀ π₀.5
核心目标 灵巧操作(Dexterity) 开放世界泛化(Generalization)
评估场景 训练环境或类似环境 从未见过的全新环境
代表任务 折叠衣物、组装盒子 在新家庭中打扫厨房/卧室

4.2 训练方法对比

┌─────────────────────────────────────────────────────────────────────┐
│                        训练方法对比                                  │
├───────────────────────────────┬─────────────────────────────────────┤
│             π₀                │              π₀.5                   │
├───────────────────────────────┼─────────────────────────────────────┤
│                               │                                     │
│   Flow Matching Loss          │   FAST Token + VLM Data + Flow      │
│          │                    │          │                          │
│          ▼                    │          ▼                          │
│   Action Expert               │   VLM Backbone                      │
│          │                    │          │                          │
│          │ 梯度流动           │          × Stop Gradient            │
│          ▼                    │          │                          │
│   VLM Backbone                │   Action Expert                     │
│          │                    │          │                          │
│          ▼                    │          ▼                          │
│   预训练知识被破坏 ❌          │   预训练知识被保护 ✅                │
│                               │                                     │
└───────────────────────────────┴─────────────────────────────────────┘

4.3 数据策略对比

数据类型 π₀ π₀.5
VLM 预训练
机器人动作数据
Web 多模态数据
高层次语义标注
多环境数据(ME) 有限
跨具身数据(CE)

4.4 推理方式对比

特性 π₀ π₀.5
推理层次 单层(任务→动作) 层次化(任务→子任务→动作)
Chain-of-Thought
自主任务分解

4.5 性能对比

指标 π₀ π₀.5
训练步数 160K 20K(快 7.5 倍)
推理速度 快(Flow Matching) 快(相同)
分布内成功率
OOD 成功率 有限 94%
语言跟随率 较差 94%

4.6 消融实验结果

π₀.5 论文中的消融实验揭示了各数据源的重要性:

配置 分布内成功率 OOD成功率 OOD语言跟随率
π₀.5(完整) 83% 94% 94%
no WD (去Web数据) 82% 74% 80%
no CE (去跨具身) 67% 49% 67%
no ME (去多环境) 57% 31% 33%

关键发现:

  • Web 数据:对 OOD 泛化最重要(识别新物体)
  • 多环境数据(ME):对所有条件都重要
  • 跨具身数据(CE):提供通用物理技能

5. 模型结构差异(代码层面)

从 openpi 代码库来看,π₀ 和 π₀.5 的模型结构差异非常小,主要体现在两点:

5.1 状态输入方式

# π₀: 状态作为连续向量输入
state_embedding = self.state_proj(state)  # MLP 编码

# π₀.5: 状态离散化为语言 token,作为 prefix 的一部分
state_tokens = tokenize_state(state)  # 离散化

5.2 时间步注入方式

# π₀: 时间步与动作嵌入拼接
action_with_time = torch.cat([action_emb, time_emb], dim=-1)
output = self.mlp(action_with_time)

# π₀.5: 使用 AdaRMS(Adaptive RMSNorm)
# 时间步条件动态调整归一化的 scale 和 shift
class AdaptiveRMSNorm:
    def forward(self, x, cond):
        normed = rms_norm(x)
        # cond 生成 scale, shift, gate
        scale, shift, gate = self.modulation(cond).chunk(3)
        return normed * (1 + scale) + shift

6. 总结

6.1 演进路线

┌─────────────────────────────────────────────────────────────────────┐
│                       VLA 模型演进路线                               │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│   第一代 VLA(RT-2, OpenVLA)                                       │
│   └── 离散动作 token,精度低,速度慢                                 │
│              │                                                      │
│              ▼                                                      │
│   π₀(2024.10)                                                     │
│   ├── Flow Matching 连续动作                                        │
│   ├── 双专家架构                                                    │
│   └── 灵巧操作能力强,但泛化有限                                     │
│              │                                                      │
│              ▼                                                      │
│   π₀.5(2025.4)                                                    │
│   ├── Knowledge Insulation                                          │
│   ├── Co-Training 多源数据                                          │
│   ├── 层次化推理                                                    │
│   └── 开放世界泛化能力                                               │
│              │                                                      │
│              ▼                                                      │
│   未来:更强的推理、规划、自主改进能力                                │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

6.2 核心结论

  1. π₀ vs π₀.5 的核心差异不在模型结构,而在训练方法和数据策略

  2. Knowledge Insulation 是关键创新

    • Stop Gradient 保护 VLM 预训练知识
    • FAST Token 快速学习运动表示
    • 训练快 7.5 倍,语言理解更好
  3. Co-Training 实现泛化

    • Web 数据提供语义理解
    • 多环境数据提供场景泛化
    • 跨具身数据提供通用技能
  4. 层次化推理

    • 类似 Chain-of-Thought
    • 先生成高层语言指令
    • 再生成低层动作

6.3 启示

π₀ 到 π₀.5 的演进表明,VLA 模型的发展方向是:

  • 保护预训练知识:不是简单地端到端训练
  • 多模态协同训练:融合 Web 数据、机器人数据、语义标注
  • 层次化推理:让模型学会"思考"而不只是"反应"

参考资料

  1. π₀ 官方博客
  2. π₀.5 官方博客
  3. Knowledge Insulation 论文
  4. openpi 开源代码库
  5. π₀ 论文 PDF
  6. π₀.5 论文 PDF
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐