087|π0:以流匹配生成连续动作
原论文:pi0: A Vision-Language-Action Flow Model for General Robot Control,Physical Intelligence(Kevin Black 等),2024。论文。
先接住前作的问题
OpenVLA用离散token输出动作,但高频双臂动作块会放大串行解码成本。π0让预训练VLM与连续动作专家交流,用流匹配生成动作段;它解决输出接口与训练组合,不把语言理解等同于电机控制。
五个前置概念
五个前置概念:条件生成是给定观测后拟合可能动作的分布;流匹配学习噪声与数据之间的向量场;动作分块联合预测连续多个控制命令;注意力缓存复用固定条件的计算;后训练在本篇指用目标资料继续动作监督。
一、问题设定:互联网语义怎样连接高频连续动作块
语言模型可以理解“把衣服折好”,但把一句话变成连续、双臂协调的关节运动,不能只靠把数字当单词逐个输出。π0 为预训练视觉语言模型增加一个动作专家,让它通过流匹配一次生成一段连续动作,再用大规模机器人资料预训练和任务数据后训练。
π0 是语言条件的模仿学习策略,不是在部署时凭奖励自主更新的强化学习系统。输入包括当前两到三个 RGB 视角、语言指令与关节状态,输出未来动作块。没有独立 critic,也没有模拟未来环境的世界模型;流中的“状态”是带噪动作,不是机器人未来世界。
研究对象覆盖单臂、双臂和移动操作平台。数据对不同动作维度补零到统一容量,对缺失图像使用掩码。统一张量使训练可行,却不会自动消除机器人运动学和控制接口的差异。
这里有两个不同层次的难点。一个是“知道什么”:垃圾应该进垃圾桶,餐具进回收箱;另一个是“怎样动”:在拿起盘子、处理遮挡、对折衣物时产生连贯细动作。视觉语言初始化主要提供前者的基础,机器人训练把语义连接到后者,动作专家负责生成适合控制的输出。
数据配方同样重要:覆盖大量状态的资料有助于接触恢复情形,精细筛选的后训练资料则教会流畅执行。作者将这种互补作为解释,并通过去预训练、去后训练等对照提供经验支持;它不是所有数据混合必然正迁移的定理。
二、让VLM条件与流匹配动作专家共同训练
它的重要性不仅是换了一种生成损失,还在于把三个环节连起来:互联网语义知识、多机器人经验、灵巧动作的高频执行。论文同时研究基础模型直接控制、新任务微调、语言分步指导和复杂长任务。
1. 两组权重通过注意力交流
模型使用约3B参数的 PaliGemma 初始化视觉语言部分,另有约300M的动作专家,总量约3.3B。图像、文字使用前一组权重,机器人状态、带噪动作使用后一组。路由按 token 类型确定,不是让一个门控器动态选择机器人技能。
注意力分为图文、状态、动作三个块。块内允许双向交流,前面的块看不到后面的块;动作可以看前面的所有条件。这样既限制新机器人输入干扰原图文前缀,也让固定条件的 key/value 能够在反复生成时缓存。
每个动作时间步是一个连续 token 槽位,一块有50个时间步。这里 token 不必是词表中的离散整数。动作块内部双向注意力有利于协调先抓再移等时间关系,却不代表模型已经执行或观察了这些未来动作。
2. 用流把噪声搬到动作分布
为避免两个时间约定混淆,下面采用官方实现中的约定: 是噪声, 是动作。给定示范块 和噪声 :
是生成过程时间,机器人时间是动作块中的下标,两者不是同一条时间轴。网络学的是沿插值路径的向量场;采样从噪声出发,以负步长往零积分。训练无需先运行全部积分过程,只需随机抽一个噪声水平。
原论文§IV使用反向约定:,从零到一加步长积分,却把目标写为 ;按该插值求导应是 。同时其高斯协方差文字与插值噪声系数也不完全一致。这里明确采用自洽的代码约定,不把两种写法混拼。当前官方实现是后续公开版本,不能据此断言原始训练代码逐行相同。官方 pi0.py:compute_loss、sample_actions
3. 训练数据和生成速度不是附属细节
公开资料与自采资料组成混合,自采数据含903M时间步;任务—机器人组合的采样权重按样本数的0.43次方调整,减弱特别大数据源的支配。后训练使用较窄但质量较好的目标任务资料。这里的后训练仍然是动作监督,不是 RLHF。
混合权重的幂次会显著改变稀有任务曝光。按原文任务—机器人组合权重 ,若两组样本数相差100倍,其被选概率只相差 倍;假设组内均匀采样,小组每个样本的曝光约为大组的13.8倍。这里 是该组合样本数,不是任务难度评分。
这种平衡防止大任务垄断训练,也更容易反复看到小组的少数错误或操作者习惯。后训练数据质量与预训练覆盖因此承担不同职责。原文长期任务同时比较预训练和后训练,不能把收益全部归于流匹配损失,也不能把更多重复曝光当成更多独立经验。原文§V-A与训练配方
用一个例子建立理解
以下是未运行的教学例子。桌上有餐巾和盘子,语言是“把餐巾扔掉”。若生成器一次只能回归一个平均动作,它可能在多种抓取路线间取不合理的平均;连续生成则可以采样一条协调路径。VLM条件帮助确定对象,动作专家负责将路径展开为运动。
假设50步块以50 Hz执行,但只执行前25步。一次预测覆盖一秒,实际半秒后重看图;剩余25步并非浪费,它们在联合生成时提供未来连贯性,但不必真的执行。若机器人执行失败,这个模型不会仅因失败自动学习,仍需外部数据或后续训练机制。
三、以流匹配训练动作专家并做任务后训练
条件表示固定当前语义和观察,流积分在动作块空间把噪声变成连续序列。高频执行一块动作不意味着每20毫秒重新运行视觉语言推断。
训练:
按混合权重抽取当前图像、指令、关节状态及50步示范动作 A
抽噪声 epsilon 和生成时间 u
X = (1-u)*A + u*epsilon
图文token进入VLM权重;状态和X进入动作专家
预测向量场,用目标 epsilon-A 做平方误差更新
在目标任务优质资料上继续监督训练
部署:
编码当前条件并缓存不变的注意力键值
X = 高斯噪声;u = 1
重复10次:X = X - 0.1*v(X,条件,u);u -= 0.1
执行动作块的前若干步
获取新观测后重新生成
这是按已说明时间方向组织的教学伪代码。动作专家的计算可复用条件缓存,但真实世界不会因缓存而静止;执行多少步后重新看图是反馈设计问题。
四、分开基础模型、任务后训练与部分完成评分
作者发布文章解释了长任务的分阶段评分。用四个等权阶段作教学反例:策略甲每回合都完成前三段、从不完成最后一步,平均完成分为而完整成功率为零;策略乙四次中三次全成、一次零分,平均完成分同为,完整成功率却为。因此原文的部分完成分可以定位进度,不能直接换算为整项任务成功率;真实评分还必须使用各任务公布的具体规则。
实验支持这套组合在所测操作任务中的优势,但“基础模型零样本”常指没有额外后训练,并不意味着任务从未在预训练中出现。复杂任务的强结果还依赖任务数据,有些依赖高层语言策略。
原图怎么读: 图4,原论文图注与图像。左图是训练混合的采样权重,右图是数据按步数计的实际大小。两者不相同,不能仅凭原始数据占比推断模型训练时看到了多少次。

结果图怎么读: 内嵌图7比较五类任务的平均任务进度。先把π0的160k步parity版本与相同更新预算基线比较,再看700k步完整版本;纵轴的部分任务进度不能直接当作完整任务成功率,额外训练预算也须单独记账。

| 实验 | 数据与对照 | 评价和预算 | 要验证什么 |
|---|---|---|---|
| 基础模型 | 混合预训练,比较 OpenVLA、Octo、π0-small | 五任务,每任务每方法10次,部分任务按进度评分 | 不后训练时的多任务能力 |
| 语言跟随 | 任务后训练,比较整体命令、人类分步、高层VLM分步 | 三种操作场景,10次试验 | 语义指导能否改善动作完成 |
| 新灵巧任务 | 分量级任务资料;ACT、DP与公开预训练基线 | 每条件10次,部分基线只测试一个数据量 | 预训练能否减少适配负担 |
| 长任务 | 完整配方、仅预训练、只用目标资料 | 折衣、装箱、装蛋等进度评分 | 预训练与后训练互补性 |
| 推理 | RTX 4090,三相机输入 | 本机73 ms,远程86 ms | 生成一块动作的工程成本 |
主模型训练700k更新,“parity”模型160k;OpenVLA为160k,Octo为320k。这是更新数层面的对齐,不是已证明等 FLOPs、等显存或等 GPU 小时。独立训练种子数量及完整训练算力未逐项核实。
新任务对照使用公开 OpenVLA/Octo 权重,因此预训练资料和规模不同;ACT/DP只用任务资料。它回答“这些可用模型如何适配”,不构成只有动作损失不同的严格因果消融。
原文概述出现 entire OXE,但图4及§V-A说明使用其子集和其他公开资料。阅读数据规模时应采用细化配方,不能据概述直接声称全部 OXE 都被纳入。
结果:证据到底有多强
图7:基础模型比较。 主要趋势支持 π0 和其较短训练版本优于所列基线。需要同时记住,任务本身多已存在于预训练中,部分物体和配置变化才是新内容。“零样本控制”在这里首先是零后训练,不能换写为任意新技能零样本。
图9:语言指导。 人类或高层模型分步命令带来改善,说明策略能利用这些条件。但人类分步组得到了额外任务分解信息,不能把它当成仅一句总命令的完全自主结果;高层VLM组则是另一个自主系统配置。π0-small同时改变规模和结构,不能把差异全部归于 VLM 初始化。

图11:新任务微调。 预训练的收益和目标任务相似性有关;作者指出微波炉任务5小时资料时与基线较接近,1小时条件下更有优势。这支持在稀缺资料下预训练有用,不能推出更多目标数据总是严格单调地提升所有模型。

图13:复杂操作。 完整配方在各任务取得超过最大分数一半的平均分,是进度层面的结论。装蛋评分有放六个蛋和关盖共七项;得4/7不是完整任务成功。长视频中的完整演示也不能替代全部试验的完成率。

表I与附录A-D:控制时序。 73 ms包括图像编码14 ms、条件前向32 ms和十次动作前向27 ms。20 Hz平台每16步重新生成,即约0.8秒;50 Hz平台每25步重新生成,即约0.5秒。50 Hz是指令执行频率,后者新视觉条件的更新约2 Hz。论文还报告 temporal ensembling 在其早期尝试中损害性能,因此实际采用块内开环执行。实验、评分与时序附录
五、动作频率和观测反馈频率并不相同
作者承认数据配比仍缺乏系统理解,也无法预测达到近乎完美表现需要多少资料。我的分析是,机器人种类更多不自动等于对全新机器人零样本:动作含义、相机位置、关节范围和训练覆盖都影响迁移。
另一代价是开环片段。若杯子在0.5秒内被移动,尚未消费的新图像无法改变已安排的动作;更快动作发送不能填补这个信息空窗。因此流生成速度、重规划频率、物理控制频率应分别优化。
它也没有解决在线试错的奖励定义、错误恢复的覆盖充分性和真实部署的长期可靠性。视觉语言知识能改善语义选择,但动作仍主要来自机器人示范分布。
追问:后训练提高单任务表现后,应怎样检查是否损失了其他技能?
参考答案:保留预训练覆盖中的代表任务与接口,用同样评估预算对照后训练前后,同时检查目标任务收益。单任务数据若持续覆盖窄动作模式,可能改变共享表示或生成偏好。只报目标任务提升无法判断整体保留,因此“基础模型能力”和“专门策略能力”应分别验收。
六、沿机制关系继续读
π0与OpenVLA是平行VLA输出设计,改用连续动作专家并组合大规模预训练;后作π0.5直接扩展其层级语义与数据配方,FAST则探索离散动作压缩。
七、自测三题与参考答案
问题1:为什么流匹配的平方误差不等于对最终动作求平均?
答案:回归对象是每个带噪位置与条件下的向量场。生成从不同初始噪声沿场演化,最后可形成多种动作模式。直接把同一观测对应的多个终点动作做MSE回归,才更容易只得到它们的平均。
问题2:π0 的50 Hz是否代表每20毫秒重新理解环境?
答案:不是。它预测动作块,在50 Hz平台连续执行25步后再生成,因此新视觉信息约每半秒进入一次决策。低层控制和指令发送可以更快,却不能使用策略尚未读取的信息。
问题3:基础模型测试称零样本,新任务测试又微调,两者矛盾吗?
答案:不矛盾,因为零的对象不同。前者没有追加后训练,但任务可能已在混合预训练中;后者专门检验新任务通过少量资料适配。应同时说明任务、物体、环境、机器人和后训练资料哪些见过,才能判断泛化强度。