9. pi0 架构与训练配方
先修建议
- 已完成 RT-1 / RT-2 / ACT / Diffusion Policy 章节阅读,理解离散动作 token 与连续动作生成的差异。
- 熟悉行为克隆(BC)与条件生成模型的基本概念。
- 对 Transformer 的 token、attention mask、KV cache 有基础认识。
本节目标
- 建立 π₀ 的完整问题定义:输入、输出、训练目标与推理方式。
- 看懂 π₀ 为什么采用
VLM 主干 + Action Expert + Flow Matching的三段式设计。 - 理解 π₀ 的训练配方(pre-training / post-training)如何与架构配合。
- 用论文中的实验证据判断 π₀ 的能力边界,而非只看单个 demo。

1. pi0 定位
π₀ 关注的核心问题不是“单任务精度再提高一点”,而是:同一套参数如何在跨机体、跨任务条件下保持语义理解与连续控制能力。
论文将这件事拆成三条约束:
- 语义能力要继承互联网预训练(否则语言泛化不足)。
- 动作输出要支持高维连续联合分布(否则难以覆盖高频灵巧操作)。
- 推理必须落在可部署时延预算内(否则真实系统无法闭环)。
在论文宏定义中,作者自采数据覆盖 7 种机器人配置(\Robots=7)与 68 类任务(\Tasks=68),并叠加 OXE 等开源数据做跨机体训练。这决定了 π₀ 从一开始就不是“单机体策略”,而是“跨机体基础模型”路线。
读图重点:下面这张图主要看“机体形态跨度”,不是看某一个单项任务分数。

2. 任务定义
π₀ 的核心建模对象是条件动作块分布:
其中:
- 观测
- 动作块
这一定义有两个直接后果:
- 模型每次不是只预测一步,而是预测一个未来动作块(action chunk)。
- 输出是连续动作分布,不是离散 token 分类。
| 符号 | 含义 |
|---|---|
| 时刻 | |
| 从 | |
| 动作块长度,论文设为 50 | |
| Flow Matching 的时间步,范围 | |
| 推理积分步长,论文设为 0.1(10 步) |
3. 数据体系与训练阶段
π₀ 的训练并非“单阶段端到端”,而是显式分为 pre-training 与 post-training 两阶段。
3.1 Pre-training:先学广覆盖
预训练混合数据由两部分组成:
- 自采高难灵巧操作数据。
- 开源机器人数据(OXE / Bridge / DROID 等)。
论文按 timestep 统计时给出了一些关键口径:
- 预训练混合中约
9.1%来自开源数据。 - 自采数据约
903Msteps,其中单臂约106M、双臂约797M。 - OXE 子集本身包含来自 22 种机器人的数据来源。
读图重点:这张图主要看“数据分布与采样权重”,不是简单看柱状图高低。

3.2 数据对齐与加权策略
为解决跨机体动作空间不一致,论文采用统一表示:
- 配置向量与动作向量统一到 18 维。
- 低维机器人通过 zero-padding 对齐。
- 少于 3 路相机的机体,对缺失图像槽位做 mask。
采样方面,任务-机体组合按
3.3 Post-training:再学任务质量
post-training 使用更小但更高质量的任务数据集做专项适配。论文给出范围:简单任务约 5 小时,复杂任务可达 100+ 小时。
这套“先广覆盖、再高质量专项”的训练配方与大模型常见的 pretrain / post-train 分工一致:
- pre-training 提供广泛可迁移能力。
- post-training 提供任务执行风格、稳定性与完成质量。
4. 模型架构
4.1 从 PaliGemma 到 pi0
π₀ 以 PaliGemma 3B 为主干,新增动作专家模块约 300M 参数,总规模约 3.3B。
相对标准 VLM,π₀ 额外引入:
- 本体状态输入
。 - 噪声动作块输入
。 - 对应动作 token 的向量场输出头
。
4.2 Action Expert 与 token 路由
π₀ 可以理解为“单个 Transformer + 两套专家权重”:
- 图像与语言 token 路由到较大的 VLM backbone。
- 本体状态与动作 token 路由到 Action Expert。
- 两套权重主要在 self-attention 层发生交互。
作者将 Action Expert 做了降宽(例如 width=1024, mlp_dim=4096),核心目的是降低多次积分推理时的计算成本。
4.3 Attention Mask 与 注入
论文附录描述的 mask 机制是 blockwise causal(按 block 的先后做因果屏蔽),并且每个 block 内部是双向注意力:
- block 1:
- block 2:
- block 3:
该设计的工程含义:
- 前缀 block 不看未来 block,减少对 VLM 预训练分布的扰动。
- 状态 block 单独隔离,便于推理阶段缓存对应 KV。
- 动作 block 可看全输入,满足条件生成需要。
Flow timestep
5. Flow Matching 训练机制
5.1 主线版:训练到底在拟合什么
π₀ 使用条件 Flow Matching 损失:
概率路径采用线性高斯形式:
训练时采样
直观上,网络学的是“从带噪动作块回到干净动作块的速度方向”。
5.2 推理版:如何把向量场变成动作
推理从纯噪声动作块开始,按 Euler 规则从
论文设置:
- 共 10 步积分
5.3 可选深入:为什么强调低
附录给出的采样分布并非简单均匀,而是 shifted Beta:
读图重点:图中关注“低

该策略的经验动机是:动作预测任务在高噪声区域往往更难,训练预算向低
6. 推理控制与系统预算
6.1 推理链路
一次动作块推理包含三段计算:
- 图像编码。
- 观测前缀前向(可缓存 KV)。
- 10 次动作后缀前向(Flow 积分步骤)。
附录给出的 RTX 4090 实测时延(3 路相机)如下:
| 模块 | 时延 |
|---|---|
| image encoders | 14 ms |
| observation forward pass | 32 ms |
| x10 action forward pass (flow) | 27 ms |
| network latency(off-board) | 13 ms |
| total on-board | 73 ms |
| total off-board | 86 ms |
这组数字说明:π₀ 的“可部署”不是免费获得的,而是依赖 前缀缓存 + 专家降宽 + 多步后缀复用 的系统优化。
6.2 控制执行策略
虽然模型每次生成
- 20Hz 的 UR5e / Franka:每 0.8s 推理一次(执行 16 步)。
- 50Hz 的其他机器人:每 0.5s 推理一次(执行 25 步)。
此外,作者报告早期尝试过 temporal ensembling,但性能下降,最终采用 open-loop 执行 chunk。
7. 实验结果与能力边界
7.1 Out-of-box 基础能力
论文在 pre-training 后直接评估 base model(不做 post-training),并与 OpenVLA、Octo 以及不使用 VLM 初始化的 π₀-small 对比。
读图重点:关注“full π₀ 与 compute-parity π₀”都能超过对比方法这一点。

7.2 语言跟随能力
语言实验比较了多种条件:
-flat:只给高层任务描述。-human:给中间子任务语言指令。-HL:由高层 VLM 生成中间指令。
结果显示,使用 VLM 初始化的 π₀ 在语言跟随准确性上显著优于 π₀-small,且这种差异会转化为复杂任务中的执行收益。
读图重点:看“同一任务下,语言条件变化带来的性能分化”。

7.3 新任务微调与预训练收益
在若干与预训练数据分布差异较大的下游任务中,论文比较了:
- 从预训练 π₀ 继续微调。
- 同架构从零训练。
- 其他已有方法的微调或训练方案。
论文报告的趋势是:
- 与预训练更相近的任务,迁移收益更明显。
- 在小样本微调设置下,预训练版本常显著优于非预训练版本,部分任务可达约 2x 量级改进。
7.4 复杂多阶段任务
作者还评估了 laundry folding、table bussing、box building、packing eggs 等更长时序任务。报告结论显示:完整的 pre-train + post-train 配方通常优于去除预训练或仅靠下游数据从零训练的变体。
读图重点:这里看“长时序任务是否可完成 + 是否具备恢复能力”,不只看单步动作精度。

7.5 能力边界(基于实验与讨论)
从主文与讨论段落可以提炼出三条边界:
- 任务成功率仍随任务难度与数据覆盖度显著波动。
- 预训练数据“如何组成最优配方”仍是开放问题。
- 跨任务、跨机体的正迁移虽然存在,但其适用范围还未被系统刻画。
8. 局限与过渡
π₀ 的关键价值在于把三件事放进同一框架并跑通:
- 用预训练 VLM 提供语义底座。
- 用 Action Expert 与连续动作块建模高频控制。
- 用可部署的推理策略把多步 Flow Matching 落到真实系统。
同时,论文也明确保留了后续研究空间:
- 数据配比与混合策略仍有较大优化空间。
- 复杂任务的稳定性与可预测性仍需提升。
- 模型的“通用性”是否能扩展到更远域(如导航、驾驶、腿足)尚无定论。
这也是下一讲的自然过渡点:在已有跨机体能力基础上,进一步讨论 open-world 场景中的泛化与长期执行稳定性问题。