让具身智能更快更强!华东师大上大提出TinyVLA:高效视觉-语言-动作模型,遥遥领先

论文链接:https://arxiv.org/pdf/2409.12514
项目链接:https://tiny-vla.github.io/
具身智能近期发展迅速,拥有了大模型"大脑"的机械臂在动作上更加高效和精确,但现有的一个难点是:模型受到算力和数据的制约。如何使用更少的训练数据,以更快的推理速度,实现媲美OpenVLA的性能?今天给大家分享的TinyVLA,就是来解决这个难题的,还有多种规模的模型可供选择!
总结速览
解决的问题:现有的视觉-语言-动作(VLA)模型在推理速度慢和需要大量机器人数据进行预训练方面面临挑战,限制了实际应用。
提出的方案:引入一种新型紧凑型视觉-语言-动作模型TinyVLA,提供更快的推理速度和更高的数据效率,消除预训练阶段的需求。
应用的技术:TinyVLA框架包括两个关键组件:1) 使用高效的多模态模型初始化策略骨干;2) 在微调过程中集成扩散策略解码器,以实现精确的机器人动作。
达到的效果:TinyVLA在仿真和实际机器人上进行了广泛评估,显著优于现有的VLA模型OpenVLA,在速度和数据效率上表现更佳,同时在语言指令、未知物体、位置变化等方面展现出强大的泛化能力。
方法
1. 训练轻量级VLM模型。 现有的VLM大多在30亿参数以上,推理速度较慢,训练周期长,因此我们训练了一系列更加紧凑的VLM模型,我们使用pythia作为我们的LLM部分,参照LLaVA的框架我们训练了3个不同大小的VLM,参数量从4亿到14亿。以此作为我们VLA的主干网络。

2. 机器人数据微调VLA模型。 我们用训练好的VLM权重来初始化我们的VLA模型,但是VLM只能生成语言,无法直接生成动作;OpenVLA和RT-2采用将动作离散化的方式,将动作预测任务转变成next token prediction任务,但这种方式会使得模型的训练难度大大增加;因此我们采取用policy head 网络替换原有的llm head,从而在不破坏动作连续性的同时,使得模型训练更加简单。我们采取Diffusion policy网络来预测动作。为了增加动作的一致性以及提升动作预测效率,TinyVLA一次性会预测未来16步的动作。为了进一步减少资源消耗,我们使用LoRA微调VLM部分,使得需要训练的参数只占总参数的5%。

实验
仿真实验结果
如图所示,TinyVLA-H在metaworld的50个任务上都超越baseline,特别是较难的任务中,更是大幅领先。

多任务真机实验结果
1. 单臂多任务实验。 如图所示,在5个真实环境下的任务分别测试20次,使用不同的权重测试3轮并且统计成功率均值和方差。TinyVLA-H实现了最好的效果,在翻马克杯任务、叠方块任务以及关抽屉任务上都达到了96%以上的成功率,平均成功率达到94%,比OpenVLA提升了25.7%。并且,从TinyVLA-S到TinyVLA-H,随着模型增加,成功率也在增加,证明TinyVLA符合Scaling Law。

2. 双臂任务实验。 双臂环境和单臂完全不同,因为对应的动作维度不同,而OpenVLA是自回归形式生成动作,切换到双臂环境导致动作长度不一致,使得OpenVLA没法正常生成动作,并且Open-x Embodiedment数据集也只包含单臂任务,这进一步导致OpenVLA无法正常生成双臂动作。而TinyVLA无需修改模型结构,只需要更改动作维度,即可直接迁移到双臂环境。如图所示,在3个真实环境下的任务分别测试10次,使用不同的权重测试3轮并且统计成功率均值和方差。TinyVLA-H 仍然大幅领先Baseline。

泛化实验结果
1. 指令泛化。 由于TinyVLA的主干网络是一个在大规模图片文本数据集上预训练的VLM模型,尽管没在相应的机器人指令数据集上预训练,但TinyVLA-H体现出了一些类似于RT-2的指令理解能力。为了更好的区分难度,划分了3个难度等级(越大越难),第1级,理解未在机器人数据中出现的颜色;第2级,区分不同物体;第3级,辨别新的物体并且实现已知物体的新用途。对于第1级,TinyVLA能准确区分不同颜色的同一物体,且该颜色并没有在机器人数据集中出现。第2级,TinyVLA能区分不同物体,这些物体虽然都出现在机器人数据中但并没有同时出现过,也没有在相应的区分任务中训练过。第3级,指令是全新的,要求TinyVLA抓起一个没有在机器人任务中见过的小车并放到盒子里,注意盒子只在开盖子的任务中出现过。

2. 视角泛化。 视角泛化是机器人领域的一大难题,轻微晃动视角都可能会导致任务完成失败。TinyVLA在一定范围内展现出了视角泛化能力。如图所示,我们测试了4个视角度数,范围从-30度到+30度,左右视角分别测试。对于关抽屉任务,TinyVLA展现出较好的能力,但是精度要求更高的叠方块任务则较难完成任务。

3. 位置泛化。 位置泛化要求模型不仅要能在图片中识别出目标物体的位置,还要求模型能泛化到不同的动作空间。而TinyVLA在这项测试中大部分位置能够完成任务,少部分极端位置则逊色于OpenVLA。这可能是由于OpenVLA在大规模的机器人数据集上预训练,且该数据集主要是pick place的任务类型。

4. 物体以及外观泛化。 更换不同的物体或者相同的物体变换颜色,TinyVLA能实现媲美OpenVLA的性能,而只需要OpenVLA约1/5的参数量,且推理速度更快。

5. 背景泛化。 背景变化同样会导致任务失败,因为背景通常会导致大面积的干扰,从而影响任务的完成。我们测试了6种背景下模型是否还能正常完成任务,且我们选择的叠方块和抓网球都是位置敏感性任务,更容易收到干扰。测his结果如图,TinyVLA与OpenVLA展现出了相近的能力。

6. 光照泛化。

结论
在机器人领域,VLA模型展现出了强大的泛化能力,包括但不限于物体、干扰物、指令泛化等。但VLA模型同时也面临着两个严峻的问题,一方面现有的VLA如RT-2、OpenVLA有着70亿参数甚至550亿参数,庞大的参数量到导致模型的推理速度十分缓慢,OpenVLA在H100上推理也只能达到约6Hz的运行频率。另一方面,现有VLA都是在庞大的机器人数据上预训练过的,比如OpenVLA在Open-x Embodiedment dataset上预训练大约970K轨迹,而真实环境很难收集到如此大规模的数据,因此如何高效地利用少量数据也是机器人领域难点之一。为了缓解这两个问题,本文推出了TinyVLA,以实现更快的推理速度以及不使用大量的预训练数据,并且实现媲美OpenVLA的性能。
TinyVLA将现有的VLM模型和Diffusion policy网络相结合,将VLM的泛化能力迁移到机器人领域的同时,还能利用Diffusion policy网络从而缓解自回归生成导致的推理速度缓慢。我们根据LLaVA的框架首先预训练了一系列不同大小的VLM,然后将VLM的权重直接迁移到我们的VLA模型,再用下游机器人数据进行LoRA微调。根据VLM的参数量变化,我们的TinyVLA也有三种规模,总参数量从4亿到13亿参数。
在下游任务上,我们最大的TinyVLA-H推理延迟比OpenVLA快20倍且单臂环境平均任务成功率高出25.7%,如下图所示。同时我们的TinyVLA还能够直接迁移到双臂环境,无需修改网络结构等,只需要修改预测的动作维度即可;但受限于OpenVLA的自回归结构以及预训练数据均为单臂,导致其很难在双臂环境下正常运行。此外我们的TinyVLA在多个泛化指标上能达到与OpenVLA相媲美的性能,比如物体泛化、位置泛化、干扰物、背景泛化;而在视角变化泛化上,TinyVLA更是遥遥领先,在-30度到30度的超大范围测试中,部分情况仍能准确完成任务。
参考文献
[1]TinyVLA: Towards Fast, Data-Efficient Vision-Language-Action Models for Robotic Manipulation
更多精彩内容,请关注公众号:AI生成未来

相关文章:
让具身智能更快更强!华东师大上大提出TinyVLA:高效视觉-语言-动作模型,遥遥领先
论文链接:https://arxiv.org/pdf/2409.12514 项目链接:https://tiny-vla.github.io/ 具身智能近期发展迅速,拥有了大模型"大脑"的机械臂在动作上更加高效和精确,但现有的一个难点是:模型受到算力和数据的制…...
Excel 获取某列不为空的值【INDEX函数 | SMALL函数或 LARGE函数 | ROW函数 | ISBLANK 函数】
〇、需求 Excel 获取某列不为空的值(获取某列中第一个非空值 或 获取某列中最后一个非空值)。 一、知识点讲解 INDEX函数 和 SMALL函数 两个函数搭配使用都可以实现上述需求 获取某列中第一个非空值 。 INDEX函数 和 LARGE函数 两个函数搭配使用都可以实现上述需求 获取某…...
爆火!大模型算法岗 100 道面试题全解析,赶紧收藏!
大模型应该是目前当之无愧的最有影响力的AI技术,它正在革新各个行业,包括自然语言处理、机器翻译、内容创作和客户服务等等,正在成为未来商业环境的重要组成部分。 截至目前大模型已经超过200个,在大模型纵横的时代,不…...
Python画笔案例-068 绘制漂亮米
1、绘制漂亮米 通过 python 的turtle 库绘制 漂亮米,如下图: 2、实现代码 绘制 漂亮米,以下为实现代码: """漂亮米.py注意亮度为0.5的时候最鲜艳本程序需要coloradd模块支持,安装方法:pip install coloradd程序运行需要很长时间,请耐心等待。可以把窗口最小…...
得物App荣获国家级奖项,正品保障引领潮流电商新风尚
近日,在2024年中国国际服务贸易交易会上,得物App凭借其在科技创新保障品质消费领域的突出成果,再次荣获国家级殊荣——“科技创新服务示范案例”。这是继上海市质量金奖之后,得物App获得的又一个“高含金量”奖项。 作为深受年轻人…...
【BurpSuite】SQL注入 | SQL injection(1-2)
🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍收藏💗支持一下哦 【BurpSuite】SQL注入 | SQL injection(1-2) 实验一 Lab: SQL injection vulnerability in WHERE clause…...
ThreadPoolExecutor有哪些核心的配置参数?
ThreadPoolExecutor 是 Java 中强大的线程池实现,具有多种配置参数,可以灵活地根据具体应用需求进行调整。以下是 ThreadPoolExecutor 的核心配置参数及其简要说明: 1. corePoolSize 描述:核心线程池的大小,即最小保…...
关于工作虚拟组的一些思考
这是学习笔记的第 2493篇文章 因为各种工作协作,势必要打破组织边界,可能会存在各种形态的虚拟组。 近期沉淀了一些虚拟组的管理方式,在一定时间范围内也有了一些起色,所以在不断沉淀的过程中,也在不断思考。 这三个虚…...
【Redis入门到精通六】在Spring Boot中集成Redis(含配置和操作演示)
目录 Spring Boot中集成Redis 1.项目创建和环境配置 2.基本操作演示 Spring Boot中集成Redis Spring社区也自定义了一套Redis的客户端,与jedis的操作方式有所差异,Spring中把每个类型的操作都单独封装了起来。下面就让我来带大家了解如何在Spring Boot…...
【CSS】透明度 、过渡 、动画 、渐变
opacity 透明度transition 过渡animation 动画background 渐变 ( 线性渐变 \ 径向渐变 \ 锥形渐变 ) opacity 透明度 设置元素的透明度,会影响元素及其所有子元素的透明度,值范围:0(完全透明)到 1(完全不透…...
尚硅谷vue3+TypeScript笔记大全
1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n 经历了:4800次提交、40个RFC、600次PR、300贡献者 官方发版地址:Release v3.0.0 One Piece vuejs/core 截止2023年10月,最…...
New major version of npm available! 8.3.1 -> 10.8.3 报错
问题 npm install 安装新项目时,出现如下升级错误。 npm notice npm notice New major version of npm available! 8.3.1 -> 10.8.3 npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.3 npm notice Run npm install -g npm10.8.3 to upd…...
Python(七)- 文件操作
目录 文件操作 打开文件 读数据 写数据 关闭文件 文件读写实例 文件写 文件读 读数据类型 备份文件 os模块 目录的具体操作 文件操作 在Python中操作文件记录信息的步骤: (1)打开文件,或新建一个文件; o…...
Docker技术深度解析与实践案例
Docker技术深度解析与实践案例 在当今快速迭代的软件开发环境中,如何高效地打包、部署和管理应用成为了开发人员和运维团队面临的重大挑战。Docker,作为一种开源的应用容器引擎,凭借其轻量级、可移植性和高效性,迅速成为解决这些…...
llama_deploy
本文于 240924 翻译整理自: https://docs.llamaindex.ai/en/stable/module_guides/workflow/deployment/ 文章目录 一、关于 🦙`llama_deploy`🤖为什么使用 `llama_deploy`?等等,`llama-agents` 在哪里?二、入门1、安装2、高级部署3、部署核心系统4、部署工作流5、与部…...
平衡二叉搜索树插入的实现
前言 因为二叉搜索树在插入的时候最坏的情况可能会变成一条单一链表,从而使查找或者插入的时候消耗大量的时间。所以为了解决这一情况诞生了平衡二叉搜索树,其作用是为了减少二叉搜索树的整体高度,从而使查找插入删除的效率提高。 一、平衡二…...
ROS理论与实践学习笔记——2 ROS通信机制之通信机制实践
5.1 话题发布 需求描述:编码实现乌龟运动控制,让小乌龟做圆周运动。 实现分析: ①乌龟运动控制实现,关键节点有两个,一个是乌龟运动显示节点 turtlesim_node,另一个是控制节点,二者是订阅发布模…...
CDGA|数据治理:策略与价值的深度融合
在当今这个数据驱动的时代,企业数据治理的重要性日益凸显。数据不仅是企业的核心资产,更是驱动业务决策、优化运营流程、创新产品服务的关键力量。然而,要让数据治理真正发挥价值,企业需要采取一系列策略来确保数据的准确性、完整…...
49. 建模软件绘制3D场景(Blender)
这文章主要给大家科普一些三维模型创建、美术和程序员协作的相关问题。 三维建模软件作用 对于简单的立方体、球体等模型,你可以通过three.js的几何体相关API快速实现,不过复杂的模型,比如一辆轿车、一栋房子、一个仓库,一般需要…...
如何使用 DomCrawler 进行复杂的网页数据抓取?
在互联网时代,数据是宝贵的资源。无论是市场分析、客户洞察还是内容聚合,从网页中抓取数据都是一项关键技能。Symfony 的 DomCrawler 是一个强大的工具,可以帮助开发者从复杂的网页中提取所需的数据。本文将详细介绍如何使用 DomCrawler 进行…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 ,并让boo…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
