让具身智能更快更强!华东师大上大提出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 进行…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...