Skip to main content
SEEED STUDIO · 论文精读

π0:基于流匹配的通用机器人控制

π0: A Vision-Language-Action Flow Model for General Robot Control

  • 机器人基础模型
  • 动作专家
  • 流匹配
  • 跨本体训练
arXiv阅读论文原文

π0 以预训练视觉语言模型 PaliGemma 为语义骨干,增加一个约 3 亿参数的动作专家,用条件流匹配一次生成连续动作块,再通过大规模跨机器人预训练和高质量任务后训练,让同一个模型适配多种单臂、双臂及移动机器人。

π0 论文精读:π0 论文精读(image-00)

先验知识​

什么是视觉-语言-动作模型​

π0 论文精读:1.1 什么是视觉-语言-动作模型(image-12)

自回归离散动作与连续动作块​

π0 论文精读:1.2 自回归离散动作与连续动作块(image-18)

训练、推理和评估​

π0 论文精读:1.3 训练、推理和评估(image-16)


摘要​

翻译​

机器人学习有望释放灵活、通用且灵巧的机器人系统的全部潜力,也有望帮助回答人工智能领域的一些根本问题。然而,要让机器人学习达到真实系统所需的通用程度,仍面临数据、泛化能力和鲁棒性方面的重大障碍。

本文讨论通用机器人策略,也就是机器人基础模型,如何应对这些挑战,以及如何为复杂、高灵巧度任务设计有效的通用机器人策略。作者提出一种新的流匹配架构,它建立在预训练视觉语言模型之上,从而继承互联网规模数据中的语义知识。随后,模型在来自多种灵巧机器人平台的大规模、多样化数据上训练,这些平台包括单臂机器人、双臂机器人和移动操作机器人。

论文从三方面评估模型:根据提示直接执行任务;遵循人类或高层 VLM 策略给出的语言指令;通过微调学习新技能。评估任务覆盖叠衣服、清理桌面和组装纸箱等多种场景。

批注​

  • 问题不只是模型结构。 论文把通用机器人控制拆成三个瓶颈:规模足够大的数据、能处理连续高频动作的架构,以及合适的预训练/后训练配方。

  • VLM 提供“理解”,动作专家提供“控制”。 PaliGemma 负责图像和语言语义,动作专家专门处理机器人状态、带噪动作和连续动作输出。

  • 流匹配替代动作 token 自回归。 模型不是逐个预测离散动作 token,而是从噪声中并行生成整个连续动作块。

  • 跨本体是核心前提。 数据来自多种机械臂与移动底盘,状态和动作空间不同;论文通过统一维度、补零和图像槽位掩码让同一模型联合训练。

  • 预训练与后训练分工不同。 预训练数据强调覆盖面、异常状态与恢复行为;后训练数据强调一致、流畅的成功策略。两者结合,才同时获得适应性和执行质量。


引言​

π0 论文精读:3. 引言(image-07)

第一段:从“通用性”引出具身数据​

  • 原文在说什么: 现有 AI 可以在蛋白质结构预测、图像生成等专门任务上非常强,但人与机器最大的差距仍是通用性:人在不同环境中可以根据语言、约束和突发变化完成多种任务。LLM 和 VLM 展示了大规模多样数据预训练带来的通用能力,但它们并未真正处于物理世界中。

  • 承接的问题: 只从图文描述学习,不能替代与真实物体、接触和动力学交互的经验。

  • 为后文铺垫: 通用机器人模型必须同时吸收互联网语义数据和机器人具身数据。

π0 论文精读:第一段:从“通用性”引出具身数据(image-08)

第二段:说明基础模型范式为何适合机器人​

  • 原文在说什么: 通用模型能够汇集其他任务、其他机器人甚至非机器人数据,从而缓解单任务数据不足。更多样的数据也覆盖更多场景、纠错和恢复行为,有望提高泛化和鲁棒性。

  • 承接的问题: 单个机器人、单个任务的数据通常过少,专用策略难以覆盖失败状态。

  • 为后文铺垫: 采用“大规模预训练,再提示或微调”的路线,而不是从零训练每一个任务。

π0 论文精读:第二段:说明基础模型范式为何适合机器人(image-11)

第三段:提出机器人基础模型的三个瓶颈​

  • 原文在说什么: 通用机器人策略需要足够大的训练规模、能融合多源数据并表达精细动作的模型架构,以及正确的数据筛选和训练配方。

  • 承接的问题: 把语言模型的方法直接搬到机器人上并不够,因为机器人动作是连续、高频且与平台动力学相关的。

  • 为后文铺垫: π0 将分别从数据、模型和训练流程处理这三个瓶颈。

π0 论文精读:第三段:提出机器人基础模型的三个瓶颈(image-02)

第四段:给出 π0 的架构答案​

  • 原文在说什么: π0 从预训练 VLM 继承通用知识,再加入机器人动作训练成为 VLA;使用跨本体数据联合训练;用动作分块和流匹配表示复杂连续动作;新增动作专家,把标准 VLM 扩展为流式动作生成模型。

  • 承接的问题: 不同机器人动作空间不一样,离散自回归动作又难兼顾高频和精度。

  • 为后文铺垫: 第 5、6 章将分别展开跨本体数据和动作专家架构。

π0 论文精读:第四段:给出 π0 的架构答案(image-14)

第五段:给出 π0 的训练配方答案​

  • 原文在说什么: 训练流程仿照大模型的预训练/后训练分工。只用高质量成功数据,模型很少看到错误,未必会恢复;只用较低质量的大规模数据,模型又可能缺少高效、稳定的执行策略。预训练提供广泛经验,后训练塑造期望行为。

  • 承接的问题: “数据越干净越好”并不适合所有机器人学习阶段。

  • 为后文铺垫: 论文随后比较直接使用预训练模型、从头训练以及预训练后微调。

π0 论文精读:第五段:给出 π0 的训练配方答案(image-13)

第六段:总结贡献与评估范围​

  • 原文在说什么: 贡献包括基于 VLM 和流匹配的通用机器人策略架构,以及对机器人基础模型预训练/后训练配方的实证研究。模型接受直接语言提示、下游微调,也能与产生中间指令的高层 VLM 配合。

  • 承接的问题: 架构与训练配方都需要在真实机器人上证明价值。

  • 为后文铺垫: 论文使用超过 10,000 小时机器人数据,并在叠衣服、清桌、微波炉放物、鸡蛋装盒、纸箱组装和杂货装袋等任务上评估。


相关工作​

  • 视觉-语言-动作模型: RT-2、OpenVLA、Octo 等工作尝试把预训练视觉语言表示迁移到机器人控制。许多 VLA 把动作离散成 token 并自回归生成;π0 的区别是保留预训练 VLM 骨干,同时使用条件流匹配生成连续、高频动作块。

  • 扩散/流模型与多模态 Transformer: Diffusion Policy 等方法证明扩散式生成适合多峰连续动作;Transfusion 等工作探索在同一 Transformer 中结合离散 token 与连续扩散目标。π0 借鉴这类设计,但把它落到 VLA:图像和语言走较大的 VLM 权重,机器人状态和动作走独立的动作专家权重,两者在自注意力中交互。

  • 大规模机器人学习: 早期大规模采集常聚焦抓取、推动等较简单行为;OXE、Bridge、DROID 等提高了跨任务、跨机器人的数据覆盖。π0 进一步加入超过 10,000 小时、以灵巧双臂任务为主的内部数据,并采用预训练/后训练两阶段配方。

  • 灵巧操作: ACT、Diffusion Policy 等能从较小的任务数据学习精细操作,但通常针对特定机器人和任务训练。π0 的目标不是替代所有专用策略,而是先训练一个跨本体基础模型,再直接提示或用少量到大量高质量数据进行后训练。


π0 跨本体机器人系统与数据平台​

设计目标和组成​

π0 不是绑定某一台机械臂的控制器,而是一套跨机器人本体(Cross-Embodiment)的模型与数据体系。设计目标包括:

  1. 在同一个模型中利用单臂、双臂和移动操作机器人数据;

  2. 同时处理语言语义、视觉观测、机器人状态和连续动作;

  3. 让预训练模型既能直接执行已覆盖任务,也能通过后训练学习困难或新任务;

  4. 支持最高 50 Hz 的高频灵巧控制。

π0 论文精读:5.1 设计目标和组成(image-15)

平台类别图像输入状态/动作空间
UR5e 单臂腕部 + 肩上,共 2 路7 维状态,7 维动作
双臂 UR5e共 3 路14 维状态,14 维动作
Franka 单臂2 路8 维状态,8 维动作
双臂 Trossen双腕 + 基座,共 3 路14 维状态,14 维动作
双臂 ARX / AgileX双腕 + 基座,共 3 路14 维状态,14 维动作
移动 Trossen / 移动 ARX双腕 + 基座,共 3 路14 维状态,16 维动作;非完整移动底盘增加 2 维动作
Mobile Fibocom双臂 + 全向底盘14 维状态,17 维动作;底盘增加平移 2 维和旋转 1 维

注意: 原文把运动学相近的平台合并成配置类别,因此“7 种机器人配置”不等于只有 7 台实体机器人,也不等于 OXE 中只含 7 种机器人。论文自己的灵巧数据覆盖 7 种配置;加入的 OXE 数据还来自 22 种机器人。

跨本体训练与控制流程​

整体流程可以概括为:

多平台遥操作示范 + 开源机器人数据 + 互联网图文预训练
↓
加权构造跨本体预训练混合数据
↓
PaliGemma VLM 骨干 + π0 动作专家联合训练
↓
得到通用 π0 基础策略
↙ ↘
语言直接提示 高质量任务后训练
↘ ↙
多平台连续动作块控制

为了把不同平台装入同一模型,作者做了两项对齐:

  • 状态和动作对齐: 统一扩展到数据集中最大的 18 维。维度较小的机器人在末尾补零;18 维可容纳两条 6-DoF 手臂、两个夹爪、移动底盘和可升降躯干。

  • 图像对齐: 模型预留 3 个图像槽位。只有 1 或 2 路图像的平台,对缺失槽位做掩码。

数据标签既包括整段任务名,也包括通常约 2 秒的分段标注。分段语言使模型能够接受“拿起餐巾”“把餐巾扔进垃圾桶”等中间指令。对于需要语义规划的长任务,高层 VLM 可以把“清理桌面”分解成这类短指令,π0 再负责每一步的物理执行。

原文: 模型按任务-机器人组合的样本量 nn 赋予 n0.43n^{0.43} 的权重。指数小于 1 会压低超大数据组的相对占比,避免洗衣折叠等过度采样任务完全主导训练。

传感器、数据采集和能力​

数据构成​

π0 论文精读:数据构成(image-06)

  • 论文自有数据共 903M 个 timestep,其中 106M 来自单臂机器人,797M 来自双臂机器人;

  • 自有数据覆盖 68 个宽口径任务和 7 种机器人配置;

  • 开源数据占训练混合数据的 9.1%,包括 OXE、Bridge v2 和 DROID;

  • 开源数据通常为 1-2 路相机、2-10 Hz 控制,但对象和环境覆盖广;

  • 论文将总体机器人示范规模概括为超过 10,000 小时;

  • 任务后训练数据量差异很大:简单任务约 5 小时,最复杂任务使用 100 小时或更多。

直接提示能力​

π0 论文精读:直接提示能力(image-03)

论文在衬衫折叠、简单桌面整理、困难桌面整理、杂货装袋和从烤面包机取吐司五项任务上比较 π0、OpenVLA、Octo 和无 VLM 初始化的 π0-small:

  • 训练 700k 步的完整 π0 在五项任务上均取得最高平均进度;

  • 只训练 160k 步、与基线更新量相当的 π0 parity 版本仍优于所有基线;

  • π0-small 通常也优于 OpenVLA 和 Octo,说明连续动作块架构本身有价值;

  • 完整 π0 又明显优于 π0-small,支持 VLM 预训练有助于语义理解和跨任务控制的判断。

注意: OpenVLA 和 Octo 未训练到与完整 π0 相同的 epoch 数。论文为缓解计算量不公平增加了 π0 parity 对照,但完整 π0 与全部基线的对比仍不能被理解为严格同算力对比。

新任务后训练能力​

π0 论文精读:新任务后训练能力(image-17)

新任务包括叠碗、折毛巾、把保鲜盒放进微波炉、更换厨房纸卷,以及用 Franka 将物品放入抽屉。每个任务、每个方法同样平均 10 次:

  • π0 在总体平均和多数单项上优于从头训练及其他方法;

  • 与预训练任务较相似的折毛巾、叠碗,在较少数据下已能获得较高进度;

  • 对某些任务,预训练相对从头训练的提升可接近 2 倍;

  • 优势并非对所有数据量单调增加。例如保鲜盒进微波炉在 5 小时数据下与基线接近,1 小时数据下预训练优势反而更明显。

长时程复杂任务能力​

π0 论文精读:长时程复杂任务能力(image-04)

π0 论文精读:长时程复杂任务能力(image-09)

这些任务通常持续 5-20 分钟,需要组合几十种抓取、堆叠、展平和折叠行为。完整的“预训练 + 后训练”π0 在所有图示任务上都达到最高分值的 50% 以上,并且通常优于从头训练或直接使用预训练模型。最困难任务上的预训练收益更明显。

证据边界: 原文也明确指出,模型并非稳定解决所有任务。作者尚不清楚预训练数据应如何构成和加权,也不能可靠预测一个新任务需要多少、哪种数据;跨差异更大的领域(如自动驾驶、导航、腿式运动)是否仍能正迁移,尚未验证。因此这里的“通用”指论文覆盖范围内的跨任务、跨机械臂通用性,不等于任意机器人和任意环境的通用控制。


π0:基于动作专家与条件流匹配的 VLA​

动作分块:一次生成未来 50 步连续动作​

π0 建模的目标不是单步动作 p(at∣ot)p(a_t\mid o_t),而是动作块:

p(At∣ot),At=[at,at+1,…,at+H−1],H=50p(A_t\mid o_t),\qquad A_t=[a_t,a_{t+1},\ldots,a_{t+H-1}],\quad H=50

动作分块解决两类问题:

  • 高频输出效率: 一次模型推理生成 50 个控制点,不必为每个动作维度逐 token 自回归解码;

  • 动作连贯性: 整个动作块联合建模,能够表示相互依赖的连续轨迹。

极端情况下,H=1H=1 会退化为单步策略;HH 很大且全部开环执行,则会降低对新观测的反应速度。π0 取 H=50H=50,但只执行其中 16 或 25 步后重新观测和推理,在推理开销与闭环更新频率之间折中。

动作向量统一补到 18 维只是训练接口;对某个具体平台执行时,只有该机器人对应的有效维度会发送给控制器。

条件流匹配:从噪声生成连续动作块​

π0 论文精读:6.2 条件流匹配:从噪声生成连续动作块(image-01)

跨本体数据建模:统一接口而不抹平平台差异​

多种机器人带来三种不一致:相机数量不同、状态维度不同、动作维度和物理意义不同。π0 采用统一槽位表示:

  • 最多 3 路图像,缺失视角通过掩码处理;

  • 状态和动作补零到 18 维;

  • 同一 Transformer 同时看到图像、语言、平台状态和动作示范,通过数据中的机器人-任务组合学习对应关系。

这种做法并不是把不同机器人的第 ii 维动作强行解释成完全相同的物理量,而是提供固定大小的模型接口。模型仍需从机器人观测、状态分布和训练数据中学会各平台的动作规律。

π0 还通过两个专家分开处理不同模态:

  • VLM 骨干: 处理图像和语言 token,继承 PaliGemma 的互联网视觉语言预训练;

  • 动作专家: 处理机器人状态 qtq_t 和带噪动作块 AtτA_t^\tau,专门学习连续控制。

两套权重不是彼此隔离:它们在 Transformer 的自注意力层中交换信息,因此动作专家可以根据图像与语言产生动作,VLM 侧又不必完全改造成一个动作网络。

预训练与后训练如何配合​

π0 论文精读:6.4 预训练与后训练如何配合(image-05)

完整的 π0 网络​

π0 论文精读:6.5 完整的 π0 网络(image-10)

图像与语言输入​

每路 RGB 图像由 PaliGemma 的 SigLIP 视觉编码器转换为视觉 token,语言指令被分词成语言 token。二者进入较大的 VLM 专家。论文图中将基础模型概括为约 400M 的 SigLIP 与约 2.6B 的 Gemma 权重。

注意: 论文 PDF 没有给出送入 SigLIP 前统一采用的图像分辨率,也没有在正文中列出每路图像最终产生的视觉 token 数量,因此这里不根据常见 PaliGemma 配置反推维度。

机器人状态输入​

本体状态 qtq_t 先经线性投影映射到 Transformer embedding 维度,再作为单独的状态 block 送入动作专家。

带噪动作与流时间​

动作块含 H=50H=50 个动作 token。每个带噪动作 at′τa_{t'}^\tau 与流时间的正弦编码 ϕ(τ)\phi(\tau) 一起经过 MLP:

e(at′τ,τ)=W3 swish(W2 concat(W1at′τ,ϕ(τ)))e(a_{t'}^\tau,\tau)=W_3\,\mathrm{swish}\left( W_2\,\mathrm{concat}(W_1a_{t'}^\tau,\phi(\tau)) \right)

该 embedding 进入动作专家。网络最终只读取这 50 个动作位置的输出,并线性投影为向量场 vθ(Atτ,ot)v_\theta(A_t^\tau,o_t)。

在统一训练接口中,动作块张量的最大形状为 50×1850\times18;具体机器人只使用自己的有效动作维度,其余补零位置不发送给执行器。

双专家 Transformer​

  • PaliGemma 骨干约 3B 参数;

  • 新增动作专家约 300M 参数;

  • 总参数量约 3.3B;

  • VLM 专家使用宽度 2048、18 层、MLP 维度 16,384;

  • 为降低 10 次流匹配前向的开销,动作专家缩小为宽度 1024、MLP 维度 4096。

动作专家与 VLM 专家使用不同权重,但对应 token 在同一层的自注意力中交互。这种结构类似只有两个路由分支的 Mixture-of-Experts:图像/语言 token 路由到 VLM 权重,状态/动作 token 路由到动作专家权重。

分块注意力掩码​

输入序列划分为三个 block:

[图像, 语言] → [机器人状态] → [带噪动作块]

每个 block 内部使用双向注意力;前面的 block 不能读取未来 block,后面的 block 可以读取前面信息。这样既减少相对 PaliGemma 预训练分布的改变,又允许在 10 次流积分中缓存不变的图像、语言和状态 Key/Value,只重复计算动作后缀。

训练损失​

动作训练使用条件流匹配的均方误差:预测向量场应接近由真实动作与噪声构成的目标向量场。其目的不是直接回归唯一动作,而是学习在观测条件下将噪声分布运输成可能的连续动作分布。

完整数据流​

训练时:
多路图像 + 语言 + 机器人状态 + 真实 50 步动作
→ 采样 ε 和 τ,构造带噪动作块
→ 图像/语言进入 VLM,状态/动作进入动作专家
→ 预测动作向量场
→ 与目标向量场计算 Flow Matching Loss

推理时:
多路图像 + 语言 + 机器人状态 + 随机动作噪声
→ 缓存观测前缀
→ 动作专家执行 10 次 Euler 流积分
→ 得到 50 步连续动作块
→ 按平台执行 16 或 25 步
→ 重新观测并生成下一动作块

一句话理解:
PaliGemma 负责理解“看到了什么、用户要什么”,动作专家负责把这种理解变成连续高频动作;
动作分块解决输出效率与轨迹连贯性,流匹配解决连续、多模态动作分布,
跨本体预训练提供广泛经验,高质量后训练塑造稳定而熟练的任务策略。
Loading Comments...