OpenVLA 与 π0 与 RDT-1B 是什么

一句话速记

当前主流的三个开源 VLA 模型,代表三种动作生成范式:① OpenVLA(Stanford 等,2024)= 离散动作 token + autoregressive——Llama 2 + visual encoder,把动作离散化当 token 预测,开源 + 数据公开是其最大价值;② π0(Physical Intelligence,2024)= flow-matching 生成连续动作 chunk——更适合精细操控;③ RDT-1B(清华,2024)= Diffusion Transformer 生成动作——用扩散模型做机器人控制,国内最受关注的开源方案。三者都基于 VLM 做”看图 + 听指令 → 出动作”,差别在动作 head 的设计

通俗解释(5 分钟版)

先把三家放在一张表上

模型出品时间主干动作生成参数量数据开源
OpenVLAStanford / Berkeley / TRI / Google2024.06Llama-2 7B + DinoV2/SigLIP离散动作 token (autoregressive)7BOpenX-Embodiment✅(权重 + 代码)
π0Physical Intelligence2024.10PaliGemma 3B + flow matching head连续动作 chunk via flow matching~3B自家专属 + OpenX部分(推理代码 + ckpt)
RDT-1BTHU + 大象2024.10T5 + DiT-style扩散模型预测动作序列1.2BOpenX + 自家✅(权重 + 代码)

三种”出动作”的范式

   ① OpenVLA — Discrete Action Tokens (autoregressive)
   ────────────────────────────────────────────
   image+task ──→ Transformer ──→ token_1, token_2, ..., token_7
                                   ↓ de-tokenize
                       [Δx, Δy, Δz, dRoll, dPitch, dYaw, gripper]
                       
   每个动作维度离散化为 256 bin,用 token 表示
   优点:和 LLM 训练范式一致,可以 leverage VLM 预训练
   缺点:256 bin 精度有限;autoregressive 一步一步出
   
   ② π0 — Flow Matching (continuous action chunk)
   ────────────────────────────────────────────
   image+task+noise ──→ Vision-Language backbone ──→ "Action Expert"
                                                         ↓
                                   连续动作向量 [a_0, a_1, ..., a_H]
                                   一次出 H 步动作(chunk)
                                   
   底子是 flow matching:从噪声到目标动作的连续变换
   优点:连续动作(精度高)+ 一次出多步(高频控制)
   缺点:架构更复杂;训练采样分布要设计
   
   ③ RDT-1B — Diffusion Transformer
   ────────────────────────────────────────────
   image+task+noise ──→ DiT ──> 多步 denoise
                                   ↓
                              连续动作序列
   
   类似 Stable Diffusion 的逻辑用在动作上
   优点:扩散模型表达力强、多模态分布拟合好(同一指令多种动作可能性)
   缺点:推理需要多步去噪,慢

三者对比的工程视角

┌─────────────────┬──────────┬────────┬────────┐
│                 │ OpenVLA  │   π0   │ RDT-1B │
├─────────────────┼──────────┼────────┼────────┤
│ 推理速度        │ 中       │ 快     │ 慢(多步去噪)│
│ 动作精度        │ 中(离散) │ 高     │ 高     │
│ 控制频率        │ 5-10 Hz  │ 50 Hz  │ 取决去噪步│
│ 上手难度        │ 低       │ 中     │ 中     │
│ 开源完备度      │ ✅✅     │ ⚠️     │ ✅     │
│ 中文社区资料    │ 中       │ 少     │ ✅     │
│ 数据透明        │ 完全开放 │ 私有为主│ 部分公开│
└─────────────────┴──────────┴────────┴────────┘

关键细节 / 数学直觉

1)OpenVLA 的动作 token 化

# 把连续动作离散化
action_dim = 7  # x, y, z, roll, pitch, yaw, gripper
n_bins = 256
 
def discretize(action):
    # 每个维度独立离散到 [0, 255]
    return [int((a - a_min) / (a_max - a_min) * 255) for a in action]
 
def tokenize(discretized):
    # 占用 LLM vocab 的 256 个保留 token
    return [VOCAB_OFFSET + i for i in discretized]
 
# 推理:LLM autoregressive 生成 7 个 action token,de-tokenize 得动作

关键:用了 Llama 2 vocab 中 256 个频率最低的 token 当 action token——这样不破坏 LLM 已有的语言能力。

2)π0 的 flow matching 直觉

Flow matching 是一类生成模型,思路:

   t=0: 标准高斯噪声      t=1: 真实动作 chunk
        ε ────────────流场 v(x,t)───────────► a*

   训练目标:学习这个流场 v(x,t)
   推理:从 ε 出发,沿着流场走到 a*

类比 diffusion 但只需要一次或几次推理步——所以 π0 推理速度快。π0 的核心是把 VLM 后面挂个 “action expert” 模块,专门学 robot action 的流场。

3)RDT-1B 的扩散

经典扩散:

   forward:  a* + noise → ... → 纯噪声
   reverse:  纯噪声 ← ... ← 学 denoise → a*
   
   推理需要 N 步 denoise(N=10-50)
   每步:predict noise → 去掉一点

RDT 把 transformer 做 noise predictor,并加入图像/语言 condition。1.2B 是当前最大的开源机器人扩散模型。

4)数据:所有人的瓶颈

三家都依赖 Open X-Embodiment(OXE)—— 集合 22 家机构、22 种机器人、500+ 个 dataset、~2M episode 的最大开源机器人数据集。

   不同机器人有不同的 action space:
       某 7-DoF 机械臂用 [x,y,z,r,p,y,gripper]
       双臂人形用 [arm_l(7), arm_r(7), torso(3), head(3)]
       
   OXE 做了"action 标准化",让单一模型能学多种机器人
   但有些任务(精细装配)数据**仍然稀缺**

数据稀缺 → 模型再聪明也学不会;这是当前 VLA 通用性的最大限制。

5)和 RT-2(Google)的关系

RT-2(Google 2023)是奠基性的 VLA 论文,引入”动作当 token”的范式。但 RT-2 不开源(数据 + 模型都闭)。OpenVLA 就是想做开源版的 RT-2——后来训出来效果直接超过 RT-2 在公开任务上(因为 OXE 数据规模更大)。

   RT-1 (2022) ──> RT-2 (2023, VLM+VLA) ──> OpenVLA / π0 / RDT (2024, 开源)
       专业           闭源大力出奇迹              开源追赶

6)实际部署的现实

   场景                     推荐
   ─────────────────────────────────────────────
   学习 VLA / 跑 demo       OpenVLA(资料最全)
   想做精细操作研究          π0(连续动作精度高)
   国内场景 / 中文资料       RDT-1B
   产品级真机部署           三者都还**不够稳**
                            产品多用 VLM 规划 + 经典控制
   端侧低算力               都不太行(要量化 + 蒸馏)

重要的现实:当前所有开源 VLA 的成功率都不高——简单家务任务 60-80%,复杂操作 < 30%。离”接电就能干”还远。但作为研究/原型,比早期完全没有 VLA 大幅进步。

延伸追问

  • Q: OpenVLA 跟 OpenAI 的 GPT 系列有什么关系? → 完全没有关系。OpenVLA 是 Stanford 等机构的开源 VLA 项目,名字带 Open 表”开源”,跟 OpenAI 一点关系都没有。
  • Q: 想自己 finetune 一个 VLA 在自己机器人上,怎么做? → ① 采集自己机器人的 (image, task_instruction, action) 数据(远程操控或 kinesthetic teaching) ② 标准化 action space ③ 在开源 VLA 基础上 LoRA finetune(OpenVLA 给了完整 fine-tune 脚本)④ 仿真器先验证再上真机。
  • Q: VLA 模型的 action chunk 是什么? → 一次推理预测未来 H 步动作(如 H=8)。优点:① 减少推理频次 ② 动作之间有时序一致性 ③ 提高有效控制频率(推理 1Hz × chunk 8 = 8Hz 控制)。π0 / RDT 都用 chunk。
  • Q: 这三家的论文我应该先读哪个? → OpenVLA:架构清晰、和 LLM 训练相似、读起来最像 NLP 经验的延伸;之后再读 π0 理解 flow matching;RDT 当扩散模型应用读。

我的记法

  • OpenVLA = 离散 token autoregressive(VLM 的延伸)—— 最易上手
  • π0 = flow matching(连续动作 chunk + 高频控制)—— 精度+速度
  • RDT-1B = diffusion transformer(扩散模型做动作)—— 国内开源
  • 三家都基于 VLM 做”图+指令 → 动作”,差别在动作 head
  • 产品级别都还不稳——当前主流仍是 VLM 规划 + 经典控制
  • 一句话:「OpenVLA 是 VLA 的 Llama,π0 / RDT 是它的两条改进路线」

状态

  • 已背速记
  • 能讲通俗版
  • 能答追问
  • 在仿真里跑过一次 OpenVLA 推理(哪怕 huggingface demo)

参考资料