基于pi0的改进版

设计训练recipe, 以提供breadth knowledge, 使robots在不同级别的抽象层次上泛化

graph TD
    WebData["Multimodal Web Data <br> (图像、文本、问答、检测)"]
    RobotActionData["Robot Action Data <br> (来自多种机器人)"]
    WebData -- "Co-training" --> Pi05("π₀.₅ Vision-Language-Action Policy")
    RobotActionData -- "Co-training" --> Pi05
    UserPrompt["用户高级指令 <br> 'clean the kitchen'"]
    UserPrompt -- "输入" --> Pi05
    Pi05 -- "1.预测高级子任务" --> Subtask["语义子任务 <br> 'pick up the plate'"]
    Subtask -- "2.作为低级指令" --> Pi05
    Pi05 -- "3.生成低级动作" --> ActionExpert(Action Expert)
    ActionExpert --> RobotAction["机器人动作序列 <br> (连续、高频)"]
    RobotAction -- "控制" --> Robot(机器人执行)

training分成两步

  1. 将不同的数据(不同的robot的data, high-level semantic(subtask分解), 网络的数据等)混合, 训练VLA, 生成high-level的指导(subtask)
  2. 在low-level action和high-level semantic actions上进行fine-tune(专门针对移动操作)

inference步骤:

  1. 首先预测semantic subtask: 根据场景信息和任务结构推断下一步应该执行的行为
  2. 根据subtask预测robot的low-level action

Preliminaries

VLA的任务: $$ 其中:

  • : action chunk或者action
  • : 观测state
  • : Language instruction

The Model and Training Recipe

大体分为两步. 从一个web-data pretrained VLM开始:

  1. pre-train: 调整VLM, 使其适应不同的任务
  2. post-train: 将其专门应用于 移动操作 并 配备高效的test-time推理机制

在pre-train阶段, 所有的robot actions使用离散的token表示, 使之更简单, 可扩展 并 让训练更有效率

在post-train阶段, 给模型添加Action Expert(类似pi0), 使用更细粒度的表达, 实现更高效的实时计算控制.

在inference时, model首先提供high-level的subtask, 然后基于这个instruction使用action expert生成low-level actions.

The architecture

policy: , 其中

  • : observation, 包含所有摄像机提供的image 和当前robot的状态
  • : language instruction
  • : subtask instruction(tokenized)

high-level的policy输出, low-level根据输出actions

这里的attention比较特殊, attention matrix这里, image patch, textual prompt, action tokens使用non-causal attention进行处理, 能够理解上下文

Combining discrete & continuous action representations

pi0相同, FlowMatching预测连续的action:

使用discrete token对VLA的训练会增大训练效率(参考FAST). 但是在inference的时候, discrete的token会让auto-regressive prediction变慢. 因此一个理想的方案是: 使用discrete token进行训练, 使用continuous token进行inference

分成两个阶段, 用同一个loss函数, 使用超参数进行控制是否训练Flow Matching:

其中:

  • : VLM主干, 进行next token prediction
  • : action expert, 在后期训练可以认为是flow matching
  • : cross entropy loss, 是正常LLM训练的loss(包含FAST encoded action tokens)
  • : trade-off factor. 进行pre-train的时候, , 只训练VLM. post-train的时候, 打开action expert(flow matching)的loss权重

在post-train的时候仍然训练VLM的next-token prediction, 因为要保持原来输出token的能力

Pre-Training

使用FAST将连续的动作转换成离散的token

Diverse Mobile Manipulator data(MM):

移动操作数据, 400 hours, 在100个新环境中做家务

Diverse Multi-Environment non-mobile robot data(ME):

在家中不可移动的单/双臂机器人数据

Cross-Embodiment laboratory data(CE):

在实验室中的任务, 包含叠衣服, 摆桌子等等, 在一个比较整洁的环境中

包含开源数据集Open X-Embodiment

High-Level subtask prediction(HL):

将”打扫卧室”等高层级指令分解成”整理床铺”,“调整毯子”等low-level subtask

手动标注

Multi-modal Web Data(WD):

图像描述和物体定位等数据集(Cambrain-7M, PixMo, VQAv2)

dataset settings

为了区分一般token和action token, 使用<control_mode> joint/end effector <control_mode>

类似FAST, 需要将1st and 99th quantile到

Post-Training

pre-train 280k gradient steps之后, 添加flow matching, 并为专门训练移动policy

(在loss中), 保留文本输出能力(cross entropy loss保留), 附加80k的refine

post-training dataset:

  • MM
  • ME
  • WD: 为了保持模型的视觉能力和文字能力
  • Verbal Instruction: 新收集的数据集, 关于用户提供language demonstrations, 选择合适的sub-task commands指导机器人移动

Robot system details

根据平台的不同, 总体DoF在18-19