← 返回博客

个人博客

VLA 模型怎么跑起来:RT-1/RT-2、OpenVLA、π0 部署横评

第 5 篇结尾我们抛了个问题:模型瘦好了、硬件就位了,那 RT-1/RT-2、OpenVLA、π0 这些主流 VLA 模型,到底谁真能在边缘小芯片上跑起来、谁只是"论文里很美"?

这篇就把它摊开——"谁行谁上"的硬碰硬,开始。

一、先说清楚:VLA 是个什么"物种"

前面几篇我们聊的一直是 LLM——输入文字、输出文字。VLA 不一样,它的名字就把答案写明白了:Vision-Language-Action,视觉-语言-动作模型。

三个词对应三件事,一句话概括就是"看画面、懂指令、出动作":

  • 看画面(Vision):输入不再是你敲的文字,而是摄像头画面(有时还有雷达、触觉)。
  • 懂指令(Language):你用自然语言下命令——"把桌上的杯子拿起来"。
  • 出动作(Action):输出不是一段回答,而是一串动作——各个关节给多大的力矩、末端手爪该移到哪个位姿。

类比一下:LLM 像个"只会动嘴"的顾问,你问它怎么做菜,它给你写一份步骤;VLA 像个厨师——他一边看菜谱(语言指令)、一边看台面上的食材(视觉画面),然后直接上手炒(输出动作)。差别就在最后那一步:不是"说出来",而是"做出来"。

这也是为什么 VLA 才是机器人的"正经大脑":它天生就是为"看—想—动"这条链路设计的。

VLA 输入输出图:摄像头画面与语言指令汇入模型核心,输出关节力矩与末端位姿动作序列

二、三位选手登场:RT-1 / RT-2、OpenVLA、π0

认识一下今天要横评的三位(不堆参数,只记各自的"路子"):

  • RT-1 / RT-2(Google DeepMind):RT-1 是较早的那位,思路很"LLM 味"——用 Transformer 把动作离散成 token,像写字一样一个一个往外吐。RT-2 更进一步,直接把一个视觉-语言模型接上动作输出,让"看、懂、做"在一个模型里打通,是 VLA 范式的代表作。
  • OpenVLA:开源阵营的主力,7B 量级(意思是参数规模在"几十亿"这个档),社区自己就能下载、微调、跑起来。它基于开源大模型加视觉编码器,同样输出离散动作 token——好处是透明、可改、可复现。
  • π0(Physical Intelligence):走的是另一条路——"动作专家(action expert)"加 flow matching 路线。它输出的不是离散 token,而是连续的动作轨迹,动作更平滑,天生适合高频、精细的控制(比如穿针、叠衣服这类要"手感"的活)。

一句话区分前两位和第三位:RT-1/RT-2 和 OpenVLA 是"顺着 LLM 的路子改造",π0 是"为动作专门设计了新引擎"。

三、被低估的"动作头":苦力活其实在这里

横评之前,得先纠正一个常见误解:大家挑模型时只盯着"主干多大"——7B 还是 3B,好像主干越小就一定越快。

但在 VLA 里,真正决定能不能实时跑的,常常是主干后面那一小截:动作头(action head,π0 里叫 action expert)。

为什么?主干负责的是"想明白要干什么"——看懂画面、理解指令、形成意图。动作头负责的是"把意图翻译成具体动作"——这一步才是苦力活,因为:

  • 它要把语义层面的"拿杯子",变成每一时刻每个关节的具体数值;
  • 而且它往往不是一步出结果,而是要迭代好多步(扩散 / flow matching 需要反复"去噪",一点点把动作打磨出来)。

类比:主干是导演,说"这场戏要温情一点";动作头是逐帧作画的动画师,得把"温情"画成几百张画。导演一句话,动画师干一周——开销的大头在动画师这边。

所以判断一个 VLA 能不能在边缘跑起来,光看主干参数会误判。得把动作头的迭代步数、每步开销一起算进延迟预算。

四、两种动作生成方式,对 TBT 的影响完全不同

动作头有两条技术路线,它们的延迟结构完全不一样,而这直接回扣第 4 篇讲的 TBT 安全临界:

  • 离散动作 token 自回归(RT-2 / OpenVLA):就像 chatbot "逐字作答"——每一步吐出一个动作 token,吐够一串才凑成一个完整动作。这里的 TBT 直接等于动作的刷新节奏:每一步慢一点,动作就慢半拍。好处是实现简单、能复用 LLM 那套成熟工具;代价是"吐得慢"。
  • 连续动作 / flow matching(π0):更像"一次画出整条曲线"——它不逐字吐,而是从一条模糊的轨迹出发,迭代若干步把它打磨成平滑的动作。这里的延迟不是"每步多久",而是"一共要迭代几步"——步数就是延迟。好处是动作丝滑、适合高频控制;代价是每步都得算,步数一多总延迟就上去了。

动作头两路线对比图:左侧离散token逐字自回归,右侧连续flow多步迭代去噪

把整条链路画出来,两条路线的分歧点一目了然:

flowchart LR A["摄像头画面 加 语言指令"] --> B["VLA 主干 看画面懂指令"] B --> C["动作头 action head"] C --> D["离散路线 逐token自回归"] C --> E["连续路线 多步迭代去噪"] D --> F["动作序列 进控制环路"] E --> F

关键结论:不管走哪条路,最后产出的动作序列都得压进第 4 篇说的那条控制环路临界线以内。压得进,就是"真跑得动";压不进,主干再漂亮也只是"论文里很美"。

五、边缘横评:判断口径不在主干,在动作头与延迟预算

终于到横评。⚠️ 说明:本专题目前没有真实自测数据,下面用清晰的量级示意口吻讲,便于建立直觉,非精确实测。

把三位选手放到第 5 篇说的边缘小芯片(几十瓦、巴掌大那类)上,大致处境是这样的:

  • RT-1:路子最轻,主干规模不大、动作头也简单,属于"最容易塞进边缘"的那类——轻量优势明显,代价是能力相对有限、泛化不如后来的大模型。
  • OpenVLA:7B 量级的主干,原尺寸直接上边缘相当吃力,得量化(第 3 篇的 INT8 / INT4)之后才勉强跑得动;好在开源、工具链成熟,社区有大量"瘦身版"可借鉴。它的瓶颈是"主干体积"和"逐 token 输出节奏"两头一起压。
  • π0:主干加动作专家,压力是三者里最大的——动作专家要迭代多步,每一步都是实打实的算力。它的优势是动作质量高,但在边缘上最需要靠减少迭代步数、蒸馏小动作专家来换延迟。

边缘横评对比图:三位选手在边缘小芯片上的处境对比,示意主干与动作头开销占比的差异

所以判断口径请记牢:差距不在主干大小,而在动作头开销与延迟预算。

一个 3B 主干配一个要迭代几十步的动作头,很可能比一个 7B 主干配单步动作头还慢。真正该问的问题是"这串动作要多久才出得来、能不能压进临界线",而不是"这个模型多少个 B"。

模型选好了,接下来要回答的就是更细的那个问题:一个动作从"看见"到"做出来",时间到底花在哪?下一篇,我们把"一个动作"的耗时拆到每一环——摄像头 → 感知 → 决策 → 执行,看瓶颈究竟藏在预处理、视觉编码器,还是动作解码。

那是一场彻底的时间解剖。

读后小测

3 句话复述

1. VLA 是视觉-语言-动作模型,一句话"看画面、懂指令、出动作":输入摄像头画面加语言指令,输出不是文字而是关节力矩与末端位姿,类比"厨师一边看菜谱、一边看食材,然后直接上手炒"。 2. 三位选手路子不同:RT-1 / RT-2 和 OpenVLA 把动作离散成 token 逐个自回归输出(OpenVLA 开源 7B 量级,需量化后才勉强上边缘),π0 走动作专家加 flow matching 输出连续动作轨迹,更平滑但要迭代多步。 3. 真正决定能不能实时跑的是被低估的动作头:离散路线的 TBT 直接等于动作刷新节奏、连续路线的迭代步数就是延迟;判断口径是"差距不在主干大小,在动作头开销与延迟预算",压不进第 4 篇的控制环路临界线就是"论文里很美"。

1 件动手小事

今晚找一个能"逐字往外吐"的 AI,让它用文字描述"伸手拿杯子"这个动作,数一数它要吐多少个字才把动作说清楚;再想象一下,如果每个字都要等一次模型前向计算,而且这套动作还要以几十赫兹的频率一遍遍重来,一串动作总共得"吐"多久。把"动作是一个个或一步步磨出来的、步数就是延迟"这个体感记牢,下一篇我们拆解摄像头到执行的全链路耗时时,你会立刻懂为什么瓶颈常常不在主干、而在那截不起眼的动作头。