【具身智能】TurboVLA阅读随笔
本文是在阅读《TURBOVLA: REAL-TIME VISION-LANGUAGE-ACTION MODEL AT 32 HZ ON AN RTX 4090 WITH <1 GB VRAM》时记录的笔记,带有很强个人主观性,仅供参考。
前言
可以先去阅读VLA综述和经典的OpenVLA,再来看这篇论文,会有更加直观的感受。
- 为什么要TurboVLA?
先前的VLA模型,基本都以VLM作为基础进行改装以适应机器人任务。但这带来了一个问题:每次推理都需要极大的计算和内存,导致成本和延迟难以降低
于是TurboVLA出现。
- 使用 \(V + L \rightarrow A\) 而非经典的 \(V \rightarrow L \rightarrow A\),提供了一种新思路。
- 模型容量急剧减小,在消费级 RTX 4090 上仅 0.2B 参数量且小于1GB的推理显存。
- 评估效果却媲美大规模的VLA策略。
我认为,真正重要的是TurboVLA走出了一条不同的道路,供人们研究和思考
TurboVLA的诞生(也可以说是引言)
VLA已经有许多基于LLM而发展起来的强大的模型,它们实际上都以这种方式运行:
但是这种方法依赖中间步骤LLM大量的推理计算,带来一系列问题。
思路:(我偏主观的理解描述😜)
- 先前的模型将各种输入转化为语言Token进行,从而自然而然想到以LLM来进行处理策略预测。但是,这实际上陷入人类思维中(以语言为基础),可以跳脱出来,直接对各个输入之间进行交互操作。
即
从而设计了TurboVLA。
- 两个编码器分别处理语言和图像输入。
- 通过交叉注意力模块融合特征。
- 随后被解码为连续动作。
一些知识
VLA
(仅做一些方法列举)
- 动作专家模块附着在LLM上
- 扩散策略
- 点动作
- ……(有点多)
高效动作执行
- 动作Token化
- 紧凑型VLA
- 减少沉余计算
- ……
任务指令
- 共享策略
- 预训练的指令融合
- 文本长范围控制
- 文本-视觉交错整合
- ……
前置知识
关于基于LLM构建的模型就不过多讲述,主要讲述TurboVLA使用的视觉-语言交互模块。
给定视觉特征\(Z^v\)和指令特征\(Z^l\),通过
可以获得结合语言指令的视觉特征。
(语言指令的交互则直接将上式转换\(l\)和\(v\)就行)
TurboVLA
编码器
考虑到直接将语言指令和视觉特征弄到动作策略维度上进行交互,为了实现此目标,语言指令和视觉输入都会有一个投影函数进行转化。
语言指令编码器
其中\(x\)为任务指令,\(f_\text{text}\)为编码器,\(P_l\)为投影函数。
在维度上,策略维度为\(d\),这代表所有的交互都在\(d\)维空间中进行,而\(Z_l\)的 \(N_l \times d\) 维度则为了保留语言指令的更精确的信息。(\(N_l\)为编码后词元长度)
视觉指令编码器
其中\(i,n\)代表多视角,\(E^{(i)}_{pos}\)为视图内空间特征信息,\(e^{(i)}_{view}\)为视角信息。
维度的话 \(N_v \times d\) 同理。
状态编码器
即加入机器人状态,这是机器人任务执行中的必要条件。
它不参与视觉-语言交互模块,直接作用于动作解码器。
视觉-语言交互模块
意思是经过\(N\)层交互器进行迭代,每次以上一层输出为新特征,以交互后特征为输出。
每一层由层归一化,双向交叉注意力和带有残差连接的特定模态前馈网络组成。(公式在前置知识中可窥见一二)
其中,\(V^0_n\) 和 \(L^0_N\) 即为 \(Z^v_n\) 和 \(Z^l\)。
最后,最终输出被拼接:
动作解码器
这是一个轻量级的类Transfomer解码器。
其中,\(Q_a = [q_1,……,q_H]\) 为 \(H\)个动作查询,\(D_\theta\) 为动作解码器。
通过类Transformer架构,\(H\) 步动作查询可由一次操作生成,一定程度上降低延迟。
训练 和 实现
使用专家克隆训练。
给定目标动作序列,与预测动作序列进行 \(ℓ_1\) 损失计算。(考虑学习稳定性,对异常值的鲁棒性等)
具体细节
- 视觉编码器:DINOv3作为骨干网络
- 语言编码器:轻量级BERT
- 交互层:\(N=6\),每层都经过接地预训练来增强权重。
- 动作解码器:Transfomer
- 学习率:5e-5
实验
三种不同环境测试
- LIBERO:单臂操作
- RoboTwin 2.0:双臂协调操作
- 现实环境:AgileX Piper 平台
将TurboVLA与各种VLA进行多种指标比较(成功率,延迟,显存占用,参数总量)
结果
硬性指标
TurboVLA在单臂操作上以97.7%的平均成功率高于所有其它对比的VLA。且在双臂操作任务上也以60.2%的平均成功率高于其它VLA。展现了惊人的效果。
且正如所预见的,极小的模型容量和动作编码器设计,使得TurboVLA以小于其它模型10%参数量以内的容量(0.2B),且推理延迟极小的结果优于各种模型(50ms以内)。
其它指标
TurboVLA其极小的容量和显存占用(0.9GB),极低的推理延迟,更高的成功率,使其能够更好适应于现实世界机器人部署。
消融实验
语言指令
完全移除语言指令会大幅度降低成功率。
不使用语言指令编码器,直接使用原语言嵌入交互模块,可恢复模型性能,但达不到原模型的效果。
使用不同的语言指令编码器,也能达到一定高的成功率。
交互模块
比较无交互,单向交互,双向交互的效果。
其中无交互实现了95.2%的成功率,单向交互提升到96.1%和96.5%,仍低于双向交互。
\(N\) 和 \(H\)
\(N\) 从 2 到 6 到 8 分别实现93.5%,97.7%,96.6%的成功率。(maybe 长期交互会使重要信息丢失)
\(H\) 从 8 到 12 到 15 分别实现96.4%,97.7%,95.6%的成功率。(maybe 长期动作预测更加困难)
总结
TurboVLA提出了一种新架构,并且以卓越的效率和性能大幅降定了高效机器人策略的门槛。
但研究只局限于操作级任务(低级任务),后续可能在高层任务规划层进行研究。
开源地址
你好👋

浙公网安备 33010602011771号