具身 VLA:RT-2、OpenVLA、π0、GR00T


文档摘要

具身 VLA:RT-2、OpenVLA、π0、GR00T 本节摘要:模型第一次从网站读食谱、在厨房机器人上执行,是 RT-2(Google DeepMind,2023 年 7 月)。RT-2 把动作离散成文本 token,在网页数据加机器人动作数据上协同微调 VLM,证明网页级视觉-语言知识能迁移到机器人控制。OpenVLA(2024 年 6 月)发布了开源 7B 参考。Physical Intelligence 的 π0 系列(20242025)加了流匹配动作专家。NVIDIA 的 GR00T N1(2025 年 3 月)为人形机器人交付了双系统(System 1 / System 2)大规模控制。

具身 VLA:RT-2、OpenVLA、π0、GR00T

本节摘要:模型第一次从网站读食谱、在厨房机器人上执行,是 RT-2(Google DeepMind,2023 年 7 月)。RT-2 把动作离散成文本 token,在网页数据加机器人动作数据上协同微调 VLM,证明网页级视觉-语言知识能迁移到机器人控制。OpenVLA(2024 年 6 月)发布了开源 7B 参考。Physical Intelligence 的 π0 系列(2024~2025)加了流匹配动作专家。NVIDIA 的 GR00T N1(2025 年 3 月)为人形机器人交付了双系统(System 1 / System 2)大规模控制。VLA 原语——视觉-语言-动作,一个能看、能读、能动的单一模型——是本章理解模型与第 15 章自主系统之间的桥梁。

学习目标

阅读完本节,你应当能够:

  1. 描述动作分词:离散 bin 编码(RT-2)、FAST 高效动作 token、连续流匹配动作(π0)。
  2. 解释为什么在网页 + 机器人数据上协同微调能保留对新任务的通识迁移。
  3. 在同一机器人任务上对比 OpenVLA(开源 7B Llama+VLM)、π0(流匹配)、GR00T N1(双系统)。
  4. 说出 Open X-Embodiment 数据集及其作为 RT-X 训练语料的角色。

一、问题与直觉

自 1970 年代起,按自然语言指令干家务的机器人就是研究目标。2020 年代的答案是:视觉-语言-动作(VLA)模型。与 VQA 用的 VLM 架构相同,但输出是动作(关节力矩、末端执行器位姿、离散指令)而非文本。

VLA 特有的挑战:

  1. 动作空间连续(关节角、力)且高维(7 自由度臂 + 3 自由度夹爪 = 10 维,30Hz)。
  2. 机器人专属训练数据稀缺:Open X-Embodiment 约 100 万轨迹;网页图文 50 亿+。
  3. 控制频率重要:30Hz 控制环意味着每个动作 33ms 预算。
  4. 安全:一个错误动作损坏硬件、人员或财产。

动作分词(RT-2)

RT-2 的技巧:把每个关节目标表示为量化文本 token。把归一化的 [-1, 1] 离散成 256 个 bin,每个 bin 映射到一个词表 ID。10 自由度的动作在每个控制步变成 10 个 token。

在混合数据上协同微调一个 PaLM-X VLM:

  • 网页图文对(caption、VQA)。
  • 机器人示范,动作作为 token。

模型看到「拿起红色方块」(语言)→ 图像(视觉)→ 10 token 动作序列(离散关节目标)。网页预训练保留通识迁移:RT-2 能跟随「朝快速移动的物体移动」,尽管「快速移动」不在训练数据里。

论文里推理 3~5Hz,受限于 VLM 自回归解码。

OpenVLA——开源 7B 参考

OpenVLA(Kim 等人,2024 年 6 月)是开源权重的 RT-2 等价物。7B Llama 主干,DINOv2 + SigLIP 双视觉编码器,256 bin 动作分词。

在 Open X-Embodiment(22 种机器人共 97 万轨迹)上训练,带 LoRA 微调支持以适配新机器人。

推理:A100 上量化后 4~5Hz,够用于慢操作,不够用于高频控制。

FAST 分词器——更快的动作解码

Pertsch 等人(2024)指出离散 bin 分词低效——大多数动作聚集在 bin 空间的小区域。FAST(频域动作序列分词器)经 DCT 压缩动作序列并量化系数。

30 步动作轨迹变成约 10 个 FAST token,而非 300 个离散 bin token。推理快 3~5 倍且不损质量。

π0 与流匹配动作

Physical Intelligence 的 π0(Black 等人,2024 年 10 月)用流匹配动作专家取代离散动作 token:

  • 小型动作 Transformer 读 VLM 的隐藏状态,经整流流输出连续 50 步动作序列。
  • 动作头用流匹配损失训练;VLM 预训练不变。
  • 推理:约 5 步去噪发出完整动作序列,等效 50Hz 控制。

π0 的声称:在大套操作任务上胜过 OpenVLA 与 Octo。连续动作表述保留了离散化破坏的平滑性。

π0.5 与 π0-FAST 是增量升级,后者把 FAST 分词与流匹配结合。

GR00T N1——人形机器人的双系统

NVIDIA 的 GR00T N1(2025 年 3 月)为人形机器人(>30 自由度,全身)而建:

  • System 2:大型 VLM 读场景 + 指令,以约 1Hz 产出高层子目标。
  • System 1:小型动作头 Transformer,在子目标条件下产出低层 50~100Hz 关节指令。

这个切分对应卡尼曼的快慢思考:System 2 规划,System 1 行动。好处:慢的 VLM 级规划不阻塞快控制;System 1 保持小以保延迟。

GR00T N1.7(2025 年底)改进数据扩展,用 Omniverse 的 sim-to-real 数据微调。

Open X-Embodiment

训练数据。RT-X(2023 年 10 月)汇集 22 个数据集,覆盖 22 种机器人共 100 万轨迹。Open X-Embodiment 是大家都在用的语料:

  • ALOHA / Bridge V2 / Droid / RT-2 Kitchen / Language Table。
  • 每样本:(机器人状态, 摄像头视角, 指令, 动作序列)。
  • 训练卫生:统一动作空间、归一化关节范围、统一摄像头尺寸。

OpenVLA 与 π0 在 Open X-Embodiment 上训练。到任何具体机器人的域差距,靠 100~1000 条任务专属示范上的 LoRA 微调来闭合。

协同微调 vs 只用机器人

协同微调把网页 VQA 数据与机器人轨迹混合。比例重要:VQA 太多模型忘动作,机器人数据太多模型丢通识。

RT-2 比例约 1:1;OpenVLA 约 0.5:1 网页对机器人;π0 类似。精确比例是按数据集大小调的超参。

只用机器人训练产出的任务专属模型,在分布外指令上失败。协同微调是「拿起红色方块(示范里)」与「从左数拿起第三大的物体(新措辞)」之间的差别。

安全与动作限制

每个生产 VLA 都带:

  • 硬关节限制(不能力矩超规格)。
  • 速度限制(软截断)。
  • 工作空间边界(末端执行器不能离开台面)。
  • 新任务的人在环审批

这些在 VLA 之外作为控制层检查。VLA 的输出是建议,不是命令

二、从零实现

code/main.py:

  • 实现 256 bin 动作分词与反分词。
  • 勾勒一个基于 DCT + 量化的 FAST 分词器。
  • 对比(离散 bin、FAST、连续流)每动作步的 token 数。
  • 打印 RT-2 → OpenVLA → π0 → GR00T 的谱系摘要。

256 bin 动作分词

def tokenize_action(joint_values, n_bins=256): # joint_values: 归一化到 [-1, 1] 的 10 维向量 tokens = [] for v in joint_values: b = int((v + 1) / 2 * (n_bins - 1)) # 映射到 [0, 255] tokens.append(VOCAB["action_base"] + b) return tokens # 10 个动作 token/控制步 def detokenize(tokens, n_bins=256): return [2 * (t - VOCAB["action_base"]) / (n_bins - 1) - 1 for t in tokens]

FAST 压缩

def fast_tokenize(trajectory_30steps): # trajectory: (30, 10) 连续动作 coeffs = dct(trajectory_30steps, axis=0) # 频域 DCT coeffs_q = quantize(coeffs, levels=256) # 量化系数 return encode(coeffs_q) # 约 10 个 token (非 300)

三种动作格式对比

格式 30 步轨迹 token 数 推理 平滑性
离散 bin(RT-2) 300(10 维×30 步) 自回归慢 量化有损
FAST(OpenVLA+) 约 10 快 3~5 倍 DCT 保高频
流匹配(π0) 0(直接连续) 5 步去噪,等效 50Hz 最平滑

💡 协同微调的精髓:网页 VQA 与机器人轨迹按比例混合训练,让模型既保留「朝快速移动物体移动」的通识(来自网页),又能输出动作(来自机器人)。这是 VLA 泛化到新措辞的根源。

双系统控制

def groot_control(scene, instruction): while not done: subgoal = system2_vlm(scene, instruction) # 约 1Hz 高层规划 for _ in range(50): # 50~100Hz 低层动作 action = system1_action_head(subgoal, state) safe_action = clamp(action, joint_limits, workspace) robot.execute(safe_action) # 控制层硬限制 if scene_changed(): break

三、框架对比

  • RT-2(DeepMind):动作离散成 256 bin 文本 token,协同微调 PaLM-X,证明网页知识迁移到控制,3~5Hz。
  • OpenVLA:开源 7B Llama + DINOv2/SigLIP,Open X-Embodiment 97 万轨迹,LoRA 适配,A100 上 4~5Hz。
  • FAST:DCT 压缩 30 步轨迹到约 10 token,推理快 3~5 倍。
  • π0(Physical Intelligence):流匹配动作专家,5 步去噪等效 50Hz,连续动作保留平滑。
  • GR00T N1(NVIDIA):双系统,VLM 慢规划 + 小动作头快执行,人形 >30 自由度。

工程取舍:慢操作用 OpenVLA(开源 7B);要高频用 π0(流匹配);人形全身用 GR00T(双系统);要快解码加 FAST;新机器人用 LoRA 微调 100~1000 条示范。

四、可复用产物

本节产出 outputs/skill-vla-action-format-picker.md。给定机器人任务(操作、导航、人形全身),它在离散 bin+RT-2、FAST+OpenVLA、流匹配+π0、双系统+GR00T 间选择。

五、练习

  1. token 速率:10 自由度臂、30Hz 控制。256 bin 离散分词每秒发多少 token?7B VLM 跟得上吗?

  2. FAST 损失:FAST 把 30 步轨迹压到约 10 token。若轨迹含高频运动(如击鼓),用户丢什么?

  3. π0 吞吐:π0 流匹配头约 5 步去噪。对比 OpenVLA 4~5Hz 自回归解码的吞吐。

  4. 第三系统:GR00T 的 System 1/2 切分对应卡尼曼。提出一个可能有助双足行走的另一种切分(System 3?)。

  5. 读 RT-X:读 Open X-Embodiment 第 4 节关于数据策展,说出防止域泄漏的三条策展规则。

本节要点回顾

  1. VLA = 看-读-动:同 VLM 架构,输出动作(关节/末端执行器)而非文本。
  2. RT-2 动作分词:连续关节目标离散成 256 bin 文本 token,协同微调 PaLM-X。
  3. 协同微调保通识:网页 VQA + 机器人轨迹混合,泛化到新措辞(「第三大的物体」)。
  4. OpenVLA:开源 7B,DINOv2+SigLIP,Open X-Embodiment 97 万轨迹,LoRA 适配。
  5. FAST:DCT 压缩 30 步到约 10 token,推理快 3~5 倍。
  6. π0 流匹配:连续 50 步动作,5 步去噪等效 50Hz,保留平滑。
  7. GR00T 双系统:VLM 慢规划(System 2,1Hz)+ 小动作头快执行(System 1,50~100Hz),人形 >30 自由度。
  8. Open X-Embodiment:22 机器人 100 万轨迹,统一动作空间/归一化/摄像头。
  9. 比例超参:网页对机器人约 0.5:1 到 1:1,按数据集调。
  10. 安全:硬关节/速度/工作空间限制 + 人在环审批,VLA 输出是建议非命令。

下一节,我们将进入文档与图表理解——把 VLM 用到最实用的生产力场景:PDF、扫描件、流程图、表格,这是企业落地多模态的主战场。


发布者: 作者: Rohit Gupta 转发
评论区 (0)
U