OpenVLA,pi_0,pi_0-fast论文精读 [VLA]
OpenVLA
OpenVLA: An Open-Source Vision-Language-Action Model
-
OpenVLA是首个完全开源的高性能VLA模型,提供了包括模型权重、训练代码和微调教程在内的全套工具链,极大地促进了VLA研究的透明度和可复现性。
-
OpenVLA-7B 在参数量远小于之前的闭源RT-2-X-55B,但在涵盖多种机器人和29个任务的综合评估中,其绝对成功率平均高出16.5%,除了语义泛化任务外性能都高于其他模型。证明了其融合DINOv2(空间特征)和SigLIP(语义特征)的双视觉编码器架构的优越性。
-
动作离散化:将每个连续的动作维度离散化成 256 bins,再将256 个动作值覆盖了 Llama 词汇表中 256 个最不常用的 token
Following Brohan et al. [7], we discretize each dimension of the robot actions separately into one of 256 bins. … simply overwriting the 256 least used tokens in the Llama tokenizer’s vocabulary (which corresponds to the last 256 tokens) with our action tokens.
- 提供了一套让VLA模型高效微调的方法,包括:
- 参数高效微调:验证了LoRA技术在VLA上的有效性,仅需训练1.4%的参数就能达到完整微调的效果
we can fine-tune OpenVLA on a new task within 10-15 hours on a single A100 GPU an 8x reduction in compute compared to full fine-tuning.
- 内存高效推理:通过4位量化技术,将推理所需的显存占用从16.8 GB减半至7.0 GB,且不牺牲任务成功率。虽然但是4-bit quantized models 也只有 3Hz on the A5000
Notably, 4-bit quantization results in similar performance as bfloat16 half-precision inference despits requiring less than half the amount of GPU memory.
: Α Vision-Language-Action Flow Model for General Robot Control
阅读代码参考:http://www.dtcms.com/a/61913.html?action=onClick
-
pre-training+post-training的机器人基础模型框架,验证数据规模大,训练基于一个包含超过 10,000 hours of robot data ,既有灵巧操作演示的私有数据集,并结合了OXE等大型公开数据集,是机器人操作领域迄今为止最大规模的预训练实验,为构建通用机器人模型树立了新的baseline。
- 预训练 = 学习“是什么” (Acquiring Knowledge)
- 后训练/微调 = 学习“怎么做” (Learning Alignment)
It is generally recognized that most of the “knowledge” in such models is acquired in the pretraining phase, while the post-training phase serves to tell the model how it should leverage that knowledge to fulfill user commands. Our experiments imply that an analogous phenomenon might take place with robot foundation models, where pre-trained models have some zero-shot capabilities, but complex tasks like laundry following require fine-tuning with high-quality data. Training on only this high-quality data results in a brittle model that does not reliably recover from mistakes, while running the pre-trained model in zero shot does not always exhibit the fluent strategies demonstrated in the post-training data.
I -
将VLM与流匹配(Flow Matching)动作生成相结合。通过一个独立的 action expert 模块,使用流匹配技术直接在连续空间中生成最高50Hz的高频动作块,从而在需要高精度和流畅性的灵巧任务上表现出色(经典shirt folding)。在out-of-box的基准测试中,其性能远超采用自回归离散化方案的OpenVLA等模型。
-
complex, multi-stage tasks 表现亮眼,端到端地完成过去方法无法解决的任务,模型能挑战并掌握此前难以企及的超复杂多阶段任务,灵巧性、泛化性和长时程行为能力都较之前模型有显著提升。
fine-tune π0 to a set of particularly complex tasks, including folding laundry and bussing a table. These tasks take between 5 and 20 minutes to complete.
FAST
FAST: Efficient Action Tokenization for Vision-Language-Action Models
阅读代码时,参考:https://zhuanlan.zhihu.com/p/1895856498615240391
-
对于高频控制提出全新动作分词法。先前VLA模型普遍采用的“朴素分箱”离散化方法,在处理高频、灵巧的机器人任务时,会因动作数据冗余导致学习信号消失,倾向于完全复制上一动作,从而完全失效。论文提出了频率空间动作序列分词 FAST,一种基于离散余弦变换 DCT +字节对编码 BPE 的压缩分词方案,将冗长的连续动作块高效地压缩为简短、信息密集的离散词元序列。
-
训练速度提升5倍。将FAST方法与 VLA架构结合后,所得到的自回归模型在各项灵巧操作任务上的最终性能媲美最先进的扩散模型。最关键的是,其训练效率大幅提升,达到同等性能所需的计算量减少了5倍。
-
预训练了一个通用的动作分词器 FAST+,作为一个out-of-box的黑盒分词器,可以被直接应用于各种新的机器人平台和任务,且性能与为特定任务优化的FAST分词器相当。
-
对比两种主流VLA架构———自回归与扩散模型
- 自回归 (-FAST):训练收敛速度快,且在遵循语言指令方面可能更具优势。但推理速度慢。
While π0-FAST matches the overall performance of diffusion π0, it is slower at inference time——the π0 model with FAST tokenization needs approximately 750ms of inference time per chunk
- 扩散 ():推理速度快,但训练收敛慢,计算成本高昂。
diffusion π0 model often ignores the language instructions, leading to a lower score.
特征 | 自回归模型 (使用FAST) | 扩散模型 () |
---|---|---|
核心原理 | 逐个预测下一个离散词元 | 从噪声中迭代恢复整个连续动作块 |
生成性质 | 离散 | 连续 |
训练速度 | 更快 | 较慢 |
推理速度 | 较慢 (序列化生成) | 更快 (并行化处理) |
语言服从性 | 可能更强 | 可能较弱 |
架构 | 可直接用标准LLM | 需要专门设计的扩散解码器 |
分词 | 强依赖 | 不依赖 |
自回归模型&扩散模型生成过程
- 扩散模型从纯粹的随机噪声到这个动作块,需要有十次循环降噪迭代。每次迭代内部从输入到输出,是内部并行的。
特征 | 自回归模型 | 扩散模型 |
---|---|---|
起点 | 一个特殊的“开始”词元,以及作为上下文的图像和文本指令。 | 一整块与动作块形状相同的随机噪声,以及作为引导的图像和文本指令。 |
操作 | 预测下一个离散词元:根据上下文和已生成的词元,从词汇表中预测概率最高的下一个词元。 | 预测整体噪声:根据上下文和当前带噪的动作块,预测出其中包含的连续噪声。 |
生成单位 | 一个离散的词元 Token:一次只生成序列中的一个“单词”。 | 一整个连续的动作块 Action Chunk:内部并行化,生成完整动作块 |
信息流 | 严格串行: 作为输入生成 | 迭代优化:将第 t 步去噪后的整个动作块,作为第 t+1 步的输入,进行进一步去噪。 |
并行性 | 由于严格的串行依赖,无法同时生成多个词元,因此推理速度慢 | 单步迭代内部并行:在任何一次去噪迭代中,对整个动作块的计算都是同时进行的 |
step | 等于最终序列的长度,通常为 30-60 toekns | 一个固定的、较小的迭代次数,通常为 10 步。 |
主要优点 | 训练收敛快(使用FAST时),可能更擅长遵循语言指令 | 推理速度快,生成质量高且平滑。 |
主要缺点 | 推理速度慢,性能严重依赖分词方案的好坏(朴素分词) | 训练收敛慢,计算成本高,可能在精确语言控制上稍弱。 |