跳到主要内容

12. π₀.7:可引导与组合泛化

先修建议

  • 已完成第 9 讲 ,理解 VLM Backbone + Action Expert + Flow Matching 的基本结构。
  • 已完成第 11 讲实时执行和第 12 讲 / Recap,理解 action chunk、RTC 与 specialist 强化的作用。
  • 熟悉机器人数据里常见的质量差异:同一任务可能有快慢不同、策略不同、成功与失败混杂的轨迹。

本节目标

  • 理解 的核心变化:从“只告诉模型做什么”扩展到“同时告诉模型怎么做”。
  • 看懂 language / metadata / control mode / subgoal image 组成的多模态 prompt。
  • 解释为什么带有 metadata 的 prompt 能让模型利用低质量示范、失败轨迹和自主策略数据。
  • 区分四类能力:灵巧任务 out-of-the-box、语言跟随、跨机体迁移、组合泛化。
  • 明确 的边界:它已经显示出组合泛化迹象,但还不是任意任务都稳定成功的通用机器人。

是 Physical Intelligence 在 之后提出的可引导机器人基础模型。它仍然是一类 VLA(Vision-Language-Action)模型,但训练和推理时不再只依赖一句任务语言,而是把更丰富的上下文放进 prompt:当前任务、下一小步、执行质量、速度、是否犯错、控制方式,以及目标画面。

这带来一个很重要的变化:模型不只是学习“这个任务应该做什么动作”,还学习“在什么条件下采用哪种做法”。这就是 steerable 的含义。


1. π₀.7 定位

要解决的问题可以用一句话概括:

如何把更多来源、更杂质量的数据放进同一个 VLA,同时还能在推理时精确引导模型做出想要的行为。

前几代模型的侧重点不同:

模型核心关注点 的关系
用 VLM 主干和 Action Expert 生成连续动作块提供基础 VLA 架构
用高层语言策略拆分长时序任务为 subtask instruction 和 coaching 铺路
用 Recap 和 RL specialist 提升任务内鲁棒性与吞吐 提供可蒸馏的自主策略数据
用多模态 prompt 统一异构数据,并在运行时可引导当前模型

不是单纯更大的模型。它的核心主张是:机器人基础模型想继续扩展,不能只堆更多高质量示范,因为真实数据会越来越杂。关键在于给每段数据配上足够清楚的上下文,让模型知道这段轨迹代表什么执行风格、什么质量水平、什么阶段目标。

系统分为两个层次:训练时把多种数据和多模态 prompt 一起喂给 VLA;推理时由高层策略产生子任务语言,由 world model 产生视觉子目标,再一起引导底层动作模型。

π₀.7 架构总览:5B VLA 由 4B Gemma3 VLM 主干、MEM 式视频历史编码器和 860M Action Expert 组成;推理时可接收高层语言策略和 BAGEL 系 world model 生成的子目标图。
π₀.7 架构总览:5B VLA 由 4B Gemma3 VLM 主干、MEM 式视频历史编码器和 860M Action Expert 组成;推理时可接收高层语言策略和 BAGEL 系 world model 生成的子目标图。

2. π₀.7 在建模什么

沿用 VLA 的动作块建模方式。给定最近一段观测历史和 prompt 上下文,模型预测未来动作块:

其中:

符号含义
最近一段观测历史,包括多视角图像和本体状态
从当前时刻开始的未来动作块
动作块长度, 中为 50 个动作 token
prompt / context,包含语言、metadata、控制方式和可选子目标图
训练后的 VLA 策略

第 9 讲中的 可以近似理解为:

则把语言指令扩展成更丰富的上下文:

上下文作用
总任务语言,例如“清理厨房”
当前子任务语言,例如“打开冰箱门”
视觉子目标图,描述下一阶段完成后的画面
episode metadata,描述速度、质量和是否犯错
control mode,指定 joint 或 end-effector 控制

这一定义的关键点是:模型参数不一定改变,但行为可以通过 prompt 改变。 也就是说, 的“可引导”不是重新训练出很多单任务策略,而是在同一个模型里切换执行意图、速度、质量和阶段目标。


3. 多模态 prompt

的核心方法是 diverse context conditioning。直观理解是:训练数据里每条轨迹都带一张“说明牌”,说明这段行为对应什么任务、哪个子步骤、质量如何、是否犯错、目标画面是什么。

π₀.7 prompt 结构:同一模型可以组合子任务语言、子目标图、episode metadata 和控制方式;训练时会随机 drop 部分 prompt,使模型在推理时能灵活使用不同上下文。
π₀.7 prompt 结构:同一模型可以组合子任务语言、子目标图、episode metadata 和控制方式;训练时会随机 drop 部分 prompt,使模型在推理时能灵活使用不同上下文。

3.1 子任务语言

总任务语言通常太粗。例如“清理厨房”并不告诉机器人下一秒该拿杯子、开抽屉,还是关冰箱。 因此引入子任务语言 ,描述当前最应该执行的语义小步骤。

子任务语言有三种来源:

  1. 数据标注时对轨迹片段做细粒度描述。
  2. 推理时由人类 supervisor 逐步 coaching。
  3. coaching 之后,用这些语言序列训练高层策略,让高层策略自动产生下一条子任务指令。

这使得“教机器人新任务”不一定要采集新的低层动作示范。对于复杂新任务,可以先用语言带着模型走几遍,再把这些语言指导数据用于训练高层语言策略。

3.2 子目标图

语言适合表达“打开冰箱门”,但很难精确表达“手应该抓在把手哪个位置、门开到什么角度、物体最后在哪个空间位置”。子目标图就是为了解决这类空间歧义。

子目标图采用 multi-view subgoals:

每个 表示某个相机视角下的近未来目标画面。base view 更容易描述物体和环境布局,wrist view 更容易描述手爪和接触姿态。两者合起来,比单独一句语言更适合约束机器人动作。

推理时,子目标图由轻量 world model 生成。这个 world model 基于 BAGEL 14B 图像理解、编辑和生成模型初始化,并使用机器人数据、第一视角人类视频、开放图像编辑数据和视频数据训练。它的作用不是直接控制机器人,而是把“下一步希望看到什么画面”转成 VLA 能用的视觉条件。

3.3 Episode metadata

机器人数据很少天然干净。真实数据里会混有:

  1. 高质量人工示范。
  2. 带错误但仍然有学习价值的示范。
  3. 失败轨迹。
  4. 旧模型或 RL specialist 运行时产生的自主数据。

如果直接把这些数据混在一起训练,模型容易学到“平均行为”:既不像最优策略那么快,也不像失败轨迹那样明显错误,但整体不够好。 的做法是把轨迹质量写进 metadata:

metadata含义推理时怎么用
Overall speedepisode 长度,按 500 timestep 分桶设置为该任务 episode length 的第 15 百分位,鼓励较快完成
Overall quality1 到 5 的任务质量评分,5 最高固定设为 5
Mistake当前片段是否包含抓取失败、做错子任务等错误固定设为 false

这相当于告诉模型:训练时可以看低质量数据,但推理时请生成“快、高质量、无错误”的行为模式。

3.4 Control mode

训练时同时包含 joint-level 和 end-effector actions,并用文本标识:

推理时可以按任务选择控制模式。跨机体实验也比较了 joint-space 和 end-effector 控制,结果显示 prior models 上 end-effector 并没有明显优势,因此主实验主要使用 joint-space control。

3.5 Prompt dropout

训练时并不是每条样本都给完整 prompt。模型会随机 drop 一部分上下文,使推理时既能用完整提示,也能在缺少某些提示时工作。几个关键设置是:

  1. 只有 25% batch 样本加入视觉子目标图。
  2. 有子目标图时,子任务语言再以 30% 概率 drop,因为图像有时可以替代文字说明。
  3. Episode metadata 整体以 15% 概率 drop,每个 metadata 组件再以 5% 概率单独 drop。
  4. Control mode 不做 dropout。

这一步很重要。否则模型可能过度依赖某一种提示形式,一旦推理时缺少子目标图或 metadata,就无法稳定运行。


4. 数据与模型结构

4.1 数据来源

的训练数据不只包含人工示范。主要数据来源包括:

  1. 多机器人、多任务、多环境的人类示范数据。
  2. 大量 policy evaluation 中产生的自主数据。
  3. policy rollout 中的人类干预数据。
  4. 开源机器人数据集。
  5. 第一视角人类视频。
  6. Web 辅助数据,例如目标定位、属性预测、VQA、文本预测和视频 caption。

相对经典 VLA 训练管线,最关键的变化是: 主动使用 suboptimal robot data,包括失败 episode、有明显错误的成功 episode,以及早期模型运行时产生的数据。

这和第 12 讲有直接关系。 通过 Recap / RL 得到高性能 specialist 后,会产生大量策略运行数据。 使用这些数据,并用 metadata 标注其速度和质量,相当于把 specialist 行为蒸馏回一个 generalist 模型。

Out-of-the-box dexterity:单个 π₀.7 在多项灵巧任务上匹配 π*₀.6 或 π₀.6 specialist,部分任务吞吐甚至更高。
Out-of-the-box dexterity:单个 π₀.7 在多项灵巧任务上匹配 π*₀.6 或 π₀.6 specialist,部分任务吞吐甚至更高。

4.2 模型架构

建在 和 MEM memory system 之上,主要组成如下:

组件配置
VLM backboneGemma3 4B,包括约 400M vision encoder
History encoderMEM-style video history encoder,对历史图像做时空压缩
Action Expert860M Transformer,用 Flow Matching 预测连续动作
总规模5B 参数
输入图像最多 4 路相机:front、两个 wrist、可选 rear
历史帧每路最多 6 帧,采样间隔 1 秒
子目标图最多 3 路,通常不包括 rear view
图像分辨率观测和子目标先 resize 到 448x448
动作块50 个 action tokens

相比,两个变化最值得记住:

  1. 历史信息更系统地进入模型:使用 MEM 式视频历史编码器,不只看当前帧。
  2. 子目标图进入上下文:goal-image tokens 与 observation tokens 采用 block-causal attention,目标图可以看观测,从而把当前状态和期望状态对齐。

Action Expert 仍然是连续动作生成模块。它用 flow matching objective 预测动作块,并通过 adaptive RMSNorm 注入 flow timestep 信息。为了应对实时推理延迟, 还使用 training-time RTC,在训练时模拟 0-12 个 timestep 的延迟,相当于覆盖 50Hz 机器人上最多 240ms 的推理延迟。


5. 运行时引导

的推理流程可以拆成四条线:

flowchart LR
T["Task Instruction"] --> H["High-Level Policy 或 Human Coaching"]
H --> S["Subtask Instruction"]
S --> W["World Model"]
O["Observation History"] --> W
M["Metadata: fast / quality=5 / mistake=false"] --> W
W --> G["Subgoal Images"]
T --> C["Prompt Context"]
S --> C
G --> C
M --> C
K["Control Mode: joint 或 ee"] --> C
O --> V["π₀.7 VLA"]
C --> V
V --> A["50-step Action Chunk"]
A --> E["Execute 15 或 25 steps"]

默认 runtime 设置如下:

项目设置
Control mode每个任务都会提供
Overall speed设为该任务 episode length 的第 15 百分位
Overall quality固定为 5
Mistake固定为 false
Subtask instruction来自高层语言策略或人类 coaching
Subgoal refresh子任务变化时刷新,或每 4s 刷新一次
Action generation5 个 denoising steps 生成 50-step action chunk
执行动作每次执行其中
推理方式子任务生成、子目标生成和 VLA 动作生成异步运行

这个流程说明了“可引导”具体发生在哪里:人类或高层策略不直接输出关节动作,而是输出更高层的子任务语言;world model 把子任务语言变成目标画面;VLA 再把观测、子任务、目标图和 metadata 合成动作。

推理开销也需要关注:最小版本在单张 H100 上可达到约 38ms;启用 MEM 视觉编码器和子目标图后,最坏约 127ms。子目标图生成更重,world model 使用 4 张 H100、8-bit 大矩阵乘、SageAttention 等优化后,25 个 denoising steps 约 1.25s。因此系统采用异步策略,让 VLA 继续执行已有动作,同时 world model 生成下一张子目标图。


6. 实验结果分析

的实验不再按多个主章节展开,而是统一放在一个实验小节中。五组证据分别回答:generalist 能否接近 specialist、语言是否真正控制行为、跨机体是否可迁移、组合泛化能否通过 coaching 落地,以及混杂数据为什么需要 metadata。

6.1 灵巧任务

第一组实验验证一个很实际的问题:单个 generalist 能不能直接达到 specialist 的任务性能?

评估任务包括:

  1. 中的 espresso、box building、laundry folding。
  2. Robot Olympics 风格任务,如 peanut butter sandwich、shirt inside-out、drive through door。
  3. 新增灵巧任务,如切 zucchini、削果蔬、换垃圾袋。

结论是:同一个 模型在这些任务上能匹配 RL specialist 或 SFT specialist;在 diverse laundry folding 和 box building 中,吞吐还高于 RL specialist。

这不是因为 为每个任务单独做了 post-training,而是因为训练时把 specialist 运行数据、评测数据和 metadata 一起纳入,让 generalist 学会了高质量策略模式。

6.1.1 消融实验

两个重要消融设置如下:

  1. (no metadata):不把 episode metadata 放进上下文。
  2. (no eval data):训练时移除自主评测 episode,因此无法蒸馏强策略 rollout。
消融结果:去掉 metadata 或去掉自主评测数据都会削弱性能,吞吐差距尤其明显。
消融结果:去掉 metadata 或去掉自主评测数据都会削弱性能,吞吐差距尤其明显。

结果显示完整 在各任务上都优于两个消融版本。这里的解释很直接:自主评测数据质量差异很大,如果没有 metadata,模型不知道哪些轨迹代表高质量行为、哪些轨迹包含错误;如果没有 eval data,模型又少了从强 specialist 行为中学习的机会。

显式记忆任务包括 Swap 3 MugsFind ObjectScoop CoffeeWindow Cleaning 在不做任务专门微调的情况下,也能达到或超过带 memory 的 specialist。这说明 MEM 相关能力在 中仍然保留。


6.2 语言跟随与数据偏置

的第二组实验关注语言是否真的影响行为,而不是模型只是在复现训练数据里的常见动作。

6.2.1 未见环境中的开放指令

这组评估覆盖 4 个未见厨房、2 个未见卧室和 14 个 instruction-following scenarios。每个场景包含 3-6 步开放指令,例如整理物品、移动家具相关物体、清理洒出的东西。

未见厨房和卧室中的语言跟随评估:π₀.7 明显优于 π₀.5 和 π₀.6。
未见厨房和卧室中的语言跟随评估:π₀.7 明显优于 π₀.5 和 π₀.6。

这组实验想验证的是广度:面对没见过的房间和不固定的语言任务,模型是否还会注意指令。结果显示 相比 有显著提升。

6.2.2 复杂指代与反数据偏置

更难的语言测试包括两类:

  1. 复杂指代:例如“拿起桌上最大的碗”“拿起用来喝汤的物体”“拿起最大盘子上的水果”。
  2. 反数据偏置:例如平时数据里把垃圾放进垃圾桶、餐具放进 bussing bin;测试时要求反过来做。

反数据偏置实验包括:

  1. Reverse Bussing:把垃圾放进 bussing bin,把餐具放进 trash。
  2. Reverse Fridge to Microwave:训练数据常见方向是从冰箱到微波炉,测试时要求从微波炉放回冰箱。
反数据偏置实验:π₀.7 能更好地按语言指令行动,而不是盲目复现训练数据里的常见方向;在 Reverse Fridge to Microwave 中,生成子目标图对成功很关键。
反数据偏置实验:π₀.7 能更好地按语言指令行动,而不是盲目复现训练数据里的常见方向;在 Reverse Fridge to Microwave 中,生成子目标图对成功很关键。

这组实验对理解 steerable 很重要。模型如果只是记住场景中的常见动作,就很难完成反方向任务; 的提升说明它对语言条件更敏感,能在一定程度上压过数据偏置。在某些任务中加入 generated subgoal images,即 (GC),还能进一步提升复杂语言跟随。


6.3 跨机体迁移

跨机体迁移的问题是:训练数据来自一种机器人,模型能否在另一种机器人上做同一类任务?这比普通场景泛化更难,因为手臂长度、惯量、夹爪位置和可达空间都变了。

实验机器人包括双臂移动操作平台、静态双臂平台和双臂 UR5e。UR5e 更长、更重,放在桌子两侧,操作策略与轻量静态双臂机器人明显不同。

跨机体迁移:简单重排任务中多个模型已有一定迁移能力;当形态差距变大、任务更灵巧时,π₀.7 优势更明显,视觉子目标进一步提升表现。
跨机体迁移:简单重排任务中多个模型已有一定迁移能力;当形态差距变大、任务更灵巧时,π₀.7 优势更明显,视觉子目标进一步提升表现。

实验分两类:

  1. 物体重排类任务:Table Setting、Bag In Backpack、Organize Tupperware、Shirt Bagging。
  2. 灵巧布料任务:towel / t-shirt folding,从轻量静态双臂机器人迁移到双臂 UR5e。

最值得注意的是 shirt folding。训练数据中没有 UR5e 上的 laundry folding,但 仍能在 UR5e 上完成。模型不是简单模仿源机器人动作,而是出现了适配目标机体的新策略。例如源机器人常用倾斜末端执行器压住布料再提起;UR5e 上 会使用更适合其臂长和姿态的垂直抓取。

更强的基线来自 10 位经验丰富的遥操作员。他们平均有约 375 小时遥操作经验,且都没有在 UR5e 上做过 shirt folding。结果是:

对象Task progressSuccess rate
专家遥操作员90.9%80.6%
(GC)85.6%80%

这个结果的含义不是“模型全面超过人类专家”,而是说明在这个零样本跨机体设置下, 的表现已经接近经验丰富操作员第一次上手 UR5e 的水平。


6.4 组合泛化与 coaching

组合泛化关注的是另一个问题:模型能否把训练中见过的子技能重新组合,用在没有动作级示范的新任务上。

任务可以分成短时序和长时序两类。

6.4.1 短时序任务

能直接完成一些没有专门采集机器人数据的短时序任务,例如:

  1. 按下 French press plunger。
  2. 把米舀进电饭煲。
  3. 用布擦办公物品。
  4. 转动带关节的物体,例如 gear set 和 desk fan。

这些任务不是简单的物体标签泛化,而是需要把已有抓取、接触、擦拭、旋转等技能用到新物体和新语义目标上。

6.4.2 长时序任务

对于更长、更复杂的任务,直接一句话 prompt 仍然不够。代表性例子包括:

  1. Loading an Air Fryer:打开空气炸锅,把红薯放进去,再关上。
  2. Unloading an Air Fryer:拉出空气炸锅篮,把食物倒到盘子里。
  3. Toasting a Bagel:把贝果放入烤箱,启动加热,再取盘子和贝果。

这些任务需要多阶段交互,最长约 5 分钟。训练数据中没有这些任务的动作级示范,但可能存在相似家电、相似物体或相似子动作。 的做法是通过语言一步步 coaching,例如“抓住空气炸锅把手”“打开空气炸锅”“拿起红薯”“把红薯放进去”。

语言 coaching 示例:用逐步语言指令教 π₀.7 完成空气炸锅任务;这些 coaching 轨迹后续还能训练高层语言策略。
语言 coaching 示例:用逐步语言指令教 π₀.7 完成空气炸锅任务;这些 coaching 轨迹后续还能训练高层语言策略。

结果显示, 更能跟随这类 coaching 指令;加入 generated subgoal images 后,长时序任务进度进一步提升。

6.4.3 自治高层策略

更关键的一步是:coaching 数据本身可以训练高层语言策略。也就是说,低层动作不需要新遥操作示范;只要收集人类给出的分步语言指导,就能让高层策略学会在运行中自动给 发子任务指令。

五个未见任务上的比较包括:

  1. (coaching):运行时由人类给分步语言指导。
  2. (autonomous):高层策略自动生成这些分步语言。

结果显示,autonomous 版本大致能接近 live coaching 的表现。这是 最值得关注的能力接口:新任务学习可以从“采集低层动作数据”部分转向“采集语言指导数据”。


6.5 混杂数据

最后一组消融回答一个基础问题:多样但混杂的数据到底是不是有用?

数据与上下文消融:有 metadata 时,模型能从更多混合质量数据中持续受益;没有 metadata 时,加入更多低质量数据可能让表现下降。移除最高多样性的 20% 数据也会显著削弱新任务泛化。
数据与上下文消融:有 metadata 时,模型能从更多混合质量数据中持续受益;没有 metadata 时,加入更多低质量数据可能让表现下降。移除最高多样性的 20% 数据也会显著削弱新任务泛化。

6.5.1 混合质量数据

Laundry (T-Shirts and Shorts) 为例,可以根据 fold quality 和 speed 把人工数据分成四个桶:

  1. 30%
  2. 50%
  3. 80%
  4. 全部数据。

然后训练带 metadata 和不带 metadata 的模型。结果很清楚:

  1. 不带 metadata:加入更多低质量数据后,性能可能变差。
  2. 带 metadata:即使平均数据质量下降,模型仍能从更多数据中持续提升。

这说明 metadata 不是装饰项,而是让大规模混杂数据可扩展的关键条件。

6.5.2 高多样性数据

高多样性数据的消融比较了两种移除方式:

  1. 随机移除 20% 数据。
  2. 移除任务多样性最高的 20% 数据。

两者数据量相同,但结果不同。移除最高多样性的 20% 后,新短时序任务表现显著下降;随机移除 20% 的影响较小。这说明任务多样性本身对组合泛化有贡献。


7. 能力边界

的结果很强,但能力边界同样清楚。

第一,零样本泛化仍低于分布内任务。seen tasks 常常有超过 90% 的成功率;unseen tasks 或 unseen task-robot combinations 通常在 60-80% 区间。

第二,“seen / unseen” 很难严格划清。大规模机器人数据中可能包含相关物体、相似动作或相似场景,只是没有同名任务标签。所谓组合泛化可能更多是把已有技能和语义概念重新混合,而不是凭空产生全新能力。

第三,生成子目标图本身仍有成本和质量限制。World model 能引入 web-scale 视觉知识,但它也需要异步推理、多 GPU 优化和高质量分段语言标签;如果子目标图错误,底层策略可能被引向错误状态。

第四, 还没有解决完整自治学习闭环。后续方向是利用它的 steerability,在测试任务中通过更细的语言 coaching 或 autonomous RL 继续学习。

因此,不应把 理解成“通用机器人已经解决”。更稳妥的定位是:

把 VLA 从“能根据任务语言输出动作”推进到“能通过多模态上下文选择行为模式”。


8. 小结

的核心不是单点任务成绩,而是一套新的扩展路径:

  1. 用多模态 prompt 描述任务、子步骤、速度、质量、错误和目标画面。
  2. 用 metadata 消除混杂数据里的行为歧义,让低质量示范、失败轨迹、自主策略数据也能被利用。
  3. 用高层语言策略和 world model 在推理时持续生成可执行上下文。
  4. 用同一个 generalist 模型接近 specialist 灵巧任务表现,并展示语言跟随、跨机体迁移和组合泛化。

从课程脉络看, 解决了连续动作 VLA 的基础形态, / Recap 解决了任务内 specialist 强化, 则进一步说明:当数据来源变得更大、更杂、更跨机体时,关键问题会从“模型能不能学动作”变成“模型能不能被上下文稳定地引导”。