首页 > 其他分享 >DeeR-VLA:实现高效机器人执行的多模态大语言模型动态推理

DeeR-VLA:实现高效机器人执行的多模态大语言模型动态推理

时间:2024-11-26 15:58:43浏览次数:10  
标签:模态 动作 VLA 模型 机器人 DeeR MLLM LLM

24年11月来自清华和字节的论文“DeeR-VLA: Dynamic Inference of Multimodal Large Language Models for Efficient Robot Execution”。

多模态大语言模型 (MLLM) 已展现出对复杂语言和视觉数据的卓越理解和推理能力。这些进步激发了人们建立通用机器人 MLLM 的愿景,该模型能够理解复杂的人类指令并完成各种具体任务。然而,由于机器人平台上的计算和内存容量通常有限,为现实世界的机器人开发 MLLM 具有挑战性。相比之下,MLLM 的推理涉及存储数十亿个参数并执行大量计算,对硬件要求很高。DeeR-VLA,或简称 DeeR,是一种机器人视觉-语言-动作模型的动态早期-退出框架,可根据当前情况自动调整激活的 MLLM 大小。

该方法利用 MLLM 中的多-出口架构,一旦为特定情况激活了适当大小的模型,该架构便允许模型终止处理,从而避免进一步的冗余计算。此外,还开发新算法,根据预定义的需求,例如平均计算成本(即功耗)以及峰值计算消耗(即延迟)和 GPU 内存使用量,为 DeeR 建立早期-终止的标准。这些增强功能可确保 DeeR 在不同的资源约束下高效运行,同时保持竞争性能。此外,设计一种定制的训练方法,用于在这种多-出口架构之上集成时域信息,以合理地预测动作。在 CALVIN 机器人操作基准测试中,DeeR 显示 LLM 的计算成本显著降低 5.2 到 6.5 倍,LLM 的 GPU 内存降低 2 到 6 倍,同时还不影响性能。

MLLM [5, 4] 强大的任务指令理解和视觉基础能力已为语言指导的多任务机器人操作展现出巨大前景 [7, 8, 9]。然而,现有工作往往计算量大,因为机器人的动作是通过推断 MLLM 的所有层获得的。在每个时间步,此过程可能会激活数十亿个参数,需要大量计算和内存,并产生显著的延迟和功耗。这些低效率通常是实际机器人应用的重要瓶颈。

目标试图通过利用一个有趣的观察来应对这一挑战:相对“简单”的情况构成了控制机器人完成各种任务的大部分过程,它们通常需要小得多的模型来获得正确的机器人动作。受此现象的启发,提出机器人 MLLM 的动态早期-退出 (DeeR),旨在通过针对每种情况动态采用适当大小的 MLLM 来提高机器人 MLLM 系统的计算效率。具体来说,首先开发一种具有多个中间出口的新型 MLLM 架构。因此,给定一个输入,一旦激活足够数量的模型参数,就可以立即获得适当的机器人动作,从而避免进一步的冗余计算。然后,为 DeeR 建立早期终止标准,该标准以任意指定的平均计算成本、峰值计算成本或 GPU 内存开销为条件。最后,提出一种量身定制的训练算法,展示如何在这个动态网络之上集成时域信息并合理地预测机器人动作。

DeeR概述如图所示。左图:DeeR 的动态推理。为了进行推理,根据退出标准 c 自适应地激活适当大小的 MLLM,该标准考虑当前情况(包括任务指令 l 和观察 o/t)以及预定义的计算和 GPU 内存预算。语言指令和夹持器相机图像也是 MLLM 的输入。然后使用中间特征 x^ ̃c(t)/t 和历史信息获得动作。右图:DeeR 的训练。在训练期间从所有出口随机抽样特征。此策略有助于最大限度地减少训练和动态推理之间的差异。此外,采用多个辅助动作头 (AuxH) 来更好地优化 MLLM。

请添加图片描述

机器人多-出口架构

机器人在执行语言指令 l 时,会在时间步 t 从传感器接收观测值 ot(例如,本文中相机的 RGB 图像),并预测要执行的动作 a^∗/t。为了正确预测动作,机器人不仅要充分理解语言指令,还要从图像中提取与任务相关的信息 [59]。在现有工作 [9] 的基础上,用预训练的 MLLM(即 Flamingo [60, 61])来处理和整合视觉和语言输入,从而获得用于决策的融合多模态特征,从而实现这一目标。

基本 MLLM 主要由视觉编码器 E/I 和 LLM 组成。视觉编码器 EI 包括一个视觉变换器 (ViT) [62] 和一个感知器重采样器 [60],后者将输入图像 o/t 编码为一系列信息tokens。对于多模态融合,在视觉编码器 E/I 生成的视觉表示之上建立了一个 LLM。更具体地说,将预训练的、冻结的纯文本 LLM 自注意块与新引入的、可学习的交叉注意块交错在一起,这些交叉注意块交叉关注视觉 tokens。值得注意的是,尽管 LLM 在多模态特征集成方面非常有效,但它们对数十亿个参数的依赖会导致大量的计算成本和内存使用量。

引入具有中间出口的模型,动态地调整 LLM 的大小以适应机器人遇到的每种情况具体要求,而无需激活所选出口点以外的参数。多-出口 MLLM 如图所示:

请添加图片描述

经过 LLM 处理到适当级别后,轻量级动作头将第 i 个中间出口的输出 x^ ̃i/t 转换为低级动作。将 7 DoF 末端执行器动作视为低级动作的代表性示例,其中前六个连续维度指定末端执行器的位置和方向,第七个离散值表示夹持器是打开还是关闭。值得注意的是,鉴于决策环境通常被描述为部分可观马尔可夫决策过程 (POMDP) [63],最佳决策不仅依赖于当前观察 o/t,还依赖于历史观察。因此,采用序列模型作为动作头 π/θ 来聚合大小为 H 历史窗口内的信息。在不失一般性的情况下,以轻量级 LSTM [64] 为例。LSTM 的顶部是两个不同的 MLP 模块:一个用于预测末端执行器的姿势,另一个用于预测离散夹持器状态。轻量级动作头π/θ以最小的计算开销高效地计算动作。

有了动作头,假设定义一个标准 c 来确定在当前时间步长 t 从适当大小 LLM 条件退出的最优点。选定退出的索引表示为 c(t),范围从 1 到 N。因此,利用第 c(t) 个 LLM 块中的特征 x^ ̃c(t)/t 来计算当前时间步的预测动作 a/t。该预测动作 a^∗/t 由姿势动作和夹持器动作组成。

自适应推理

DeeR 使用的终止标准,旨在为不太复杂的场景激活较小的模型,为更具挑战性的条件激活较大的模型。

许多先前的工作都使用基于置信度的标准来确定何时终止,通常涉及 SoftMax 输出的最大元素或熵等指标 [37, 43, 65, 66, 49]。本文中,目标是动作预测并且 SoftMax 输出不易获得,其采用不同的方法,利用相邻中间特征的动作预测一致性作为标准。其背后的直觉是,如果两个不同大小的 MLLM 的动作预测保持一致,则表明计算模型可能已经达到饱和,进一步处理不太可能带来任何进一步的改进。

鉴于计算和内存预算的预定义约束,手动设置最佳阈值 {η1, η2, . . .} 以确保机器人 MLLM 策略在遵守预算限制的同时实现峰值性能可能具有挑战性。相反,通过制定优化问题来确定这些值。在预算任务执行设置下进行操作,其中 DeeR 需要在指定的总计算预算 B > 0 内执行一组任务 T。为了确保每个操作都在可接受的等待时间内完成,对峰值计算施加约束,其中 G > 0。此外,将 GPU 内存使用量限制为 M > 0,以适应用户可能无法访问高内存 GPU 的情况。

训练算法

值得注意的是,正确训练动态机器人 MLLM 并非易事。具体而言,网络架构的动态调整会导致训练和推理之间的差异。在推理过程中,用确定性标准在每个时间步长上选择合适的中间特征。然而,在训练过程中,缺乏明确定义的终止标准,并且仍然不知道特征在出口处的分布。为了使模型能够学会有效地整合时域信息,提出一种量身定制的训练算法。

为了减少上述差异,提出一种简单而有效的训练随机采样策略。该方法涉及在每个时间步长上从 1 到 N 采样一个出口索引。本文实施两种类型的采样策略。第一种策略表示为 s/1,是在每个步骤上从 1 到 N 均匀地采样一个出口索引。这可确保在训练期间,动作头能够有效地捕获所有可能出口的特征。它模拟动作头在给定时间窗口内可能遇到所有出口特征的场景,从而适应任意推理模式并减少训练推理差异。此外,在实践中,动态模型通常会在多个连续时间步的同一出口处终止,因为相邻的观察结果往往非常相似。然后,模型切换到另一个出口,进行一系列后续时间步。为了在训练期间更好地模拟这种模式,采用第二种采样策略,表示为 s/2。具体来说,将时间窗口 o/t:t+H−1 分成两个连续段 o/t:t+i 和 o/t+i+1:t+H−1,其中 i 是随机选择的。在每个段中,分配一个均匀采样的索引,并在所有时间步中共享。

在这两种采样策略的基础上,可以定义训练损失函数。从机器人演示数据集中抽取语言指令 l 和一段观察动作片段{o/t, a/t, o/t+1, a/t+1, . . . , o/t+H−1, a/t+H−1}。对于每个采样策略 s ∈ {s/1, s/2},预测每个动作 a∗,s/t+i,其中 s=s/1,​​ s/2 和 i=0,1,…,H−1。对于每对的预测动作 a-实际动作 a,定义一个单-动作损失函数 L(a^∗ , a),该函数结合姿势预测的均方误差 (MSE) 和夹持器状态预测的交叉熵损失,并使用系数 λ 来平衡这两个项 [9]。

原始 MLLM 中的中间特征旨在作为后续层的输入,但对于输出预测来说可能不是最佳的。为了确保框架中每个激活大小的 MLLM 都能产生适合预测动作的特征,引入辅助损失。具体来说,在出口处附加 N 个辅助动作头(UAH)。第 j 个辅助头处理来自第 j 个出口的时间特征并预测动作 a^j/t。

仅微调 MLLM 中的感知器采样器和交叉注意层的参数,使用随机初始化的动作头 π/θ 和辅助动作头。视觉编码器和其他 LLM 组件保持冻结状态。

实验中基于 RoboFlamingo++ 代码库构建 DeeR。保留 RoboFlamingo++ 中的超参,以便进行公平比较,但 LLM 层数和动态早期-退出范式除外。将 DeeR 的预算与性能与类似大小的 RoboFlamingo++ 模型 [9] 和其他 SOTA 基线进行比较。

对于 MLLM,用预训练模型 OpenFlamingo,其中包括冻结的 LLM 和视觉编码器。视觉-语言融合模块(特别是感知器采样器和交叉注意)使用从网络抓取的图像-文本数据集 LAION-2B 和 Multimodal C4 进行训练。下表概述了架构细节。

请添加图片描述

对于集成时域信息进行动作预测的动作头,用 4 层 LSTM 来处理时间信息,使用 3 层 MLP 来预测动作。为了减轻过拟合,为 LSTM 和 MLP 实现 dropout。此外,在激活函数之前应用 LayerNorm [74, 75]。

在所有 MLLM 模型中每两个自注意层后配置一个出口点。为了节省训练资源,用 OpenFlamingo 模型的一个子集作为主干。具体来说,对于 OpenFlamingo3B(具有 24 个 LLM 层)和 OpenFlamingo9B(具有 32 个 LLM 层),仅使用 DeeR 多-出口架构的前 12 层,从而产生 6 个出口点。对于 RoboFlamingo++,用 OpenFlamingo3B 的 6/12/24 个 LLM 层和 OpenFlamingo9B 的 8/16/32 个 LLM 层来创建一系列模型大小,以便与 DeeR 比较预算与性能曲线。

训练后,得到一个多-出口模型。在推理过程中,模型保持不变,但 DeeR 的计算成本可以根据计算约束动态调整,而无需修改多-出口模型。对于基于 OpenFlamingo 3B 构建的 12 层多-出口模型,每个 LLM 层在推理过程中消耗约 0.5GB 内存,需要 1.3G FLOPs(批处理大小为 1,不包括视觉编码器)。鉴于 GPU 内存限制为 6GB,最大 15.6G FLOPs,DeeR-B 会加载所有 12 个 LLM 层,提供 6 个出口点。对于资源更受限的场景,DeeR-S 仅加载前 4 个 LLM 层,有 2 个出口点。对于 OpenFlamingo 9B 模型,每个 LLM 层消耗约 1.0GB 内存,需要 2.85G FLOPs。 DeeR-B 加载 12 个 LLM 层和 6 个出口点,需要大约 12GB 的 GPU 内存,而 DeeR-S 加载 8 个 LLM 层和 4 个出口点,使用大约 8GB 的​​内存。至关重要的是,用户可以根据内存或 FLOPs 约束选择要加载的 LLM 层数,灵活地定义 DeeR-S 和 DeeR-B 以外的自定义推理时间模型。

确定 LLM 层数和出口点后,可以通过标准调整出口阈值,进一步动态调整每个动作的平均 FLOPs。用来自环境 D 的验证集计算阈值。但是,仅使用 1% 训练集计算的阈值就能实现类似的性能,表明这些阈值可以有效泛化并且足够稳健。

对于 RoboFlamingo++ 和 DeeR 的多-出口模型,采用两步训练进度。首先,联合训练 MLLM 的可训练组件(感知器采样器和交叉注意层)以及动作头。由于主干 MLLM 经过预训练且收敛速度更快,稍后冻结 MLLM 并仅微调动作头,将其称为动作头的后训练。

实验表明,动作头的这一额外微调步骤可带来略好的性能。训练期间使用的超参数详见下表。请注意,LSTM 和 MLP 的 dropout 率分别为 0.3 和 0.4,但在 ABCD→D 的后训练期间除外,其中使用略高的值 0.4 和 0.5。根据最后一个 epoch 的检查点报告结果,而不是选择表现最佳的检查点。

请添加图片描述

标签:模态,动作,VLA,模型,机器人,DeeR,MLLM,LLM
From: https://blog.csdn.net/yorkhunter/article/details/144002581

相关文章

  • 【论文复现】多模态COGMEN详解
    ......
  • HCIA-11 实现VLAN间通信
    目录技术背景使用路由器(物理接口、子接口)实现VLAN间通信使用路由器物理接口使用路由器子接口使用VLANIF技术实现VLAN间通信三层交换机和VLANIF接口VLANIF配置示例三层通信过程解析VLANIF转发流程传统交换二层组网中,默认所有网络都处于同一个广播域,这带了诸多问题。VLAN(VirtualLo......
  • 交换机的vlan间通信方案
    1.vlan间通信:需要用三层设备(路由)(路由器,三层交换机,防火墙)站在设备设计层面,不同的vlan一般会设计成不同的网络(IP)方案一:采用路由器(FW),并且使用物理接口方案优点:设计技术最少,逻辑最简单缺点:浪费链路和接口,尤其vlan比较多的情况方案二:单臂路由方案采用路......
  • HCIA-09 VLAN原理与配置
    目录1-什么是VLAN2-什么是VLAN的基本概念2.1VLAN标签2.2什么是VLAN的基本概念2.3以太网接口类型3-VLAN的应用3.1基于接口的划分VLAN3.2-基于MAC地址的划分VLAN4-VLAN的基本配置以太网是一种基于CSMA/CD的数据网络通信技术,其特征是共享通信介质。当主机数目较多时会导......
  • 【书生实战营】- L2G4000 InternVL 多模态模型部署微调实践
    文章目录InternVL部署微调实践多模态大模型简介BLIP2Q-FormerMiniGPT-4LLaVa为什么用Q-Former的变少了InternVL2简介InternViTPixelShuffleDynamicHigh-ResolutionMultitaskoutput训练InternVL部署-LMDeploy训练环境推理环境网页应用部署InternVL微调XTuner微......
  • [VLAN]配置MUX-VLAN
    由于这是实验内容,过多的概念性知识就不讲解,详情看此链接,讲的比我清除,还有相对应的配置华为AR系列路由交换技术文档MUXVLAN(MultiplexVLAN)提供了一种通过VLAN进行网络资源控制的机制。例如,在企业网络中,企业员工和企业客户可以访问企业的服务器。对于企业来说,希望企业内部......
  • Bootstrap4动态模态窗口jquery插件
    在线预览 下载 这是一款Bootstrap4动态模态窗口jquery插件。通过该jquery插件,可以动态生成bootstrap4的模态窗口,可以实现简单的弹出框,对话框,以及复杂结构的模态窗口。 使用方法在页面中引入jquery.min.js、bootstrap-show-modal.js文件,以及bootstrap4相关文件。......
  • 多模态大模型(4)--InstructBLIP
    BLIP-2通过冻结的指令调优LLM以理解视觉输入,展示了在图像到文本生成中遵循指令的初步能力。然而,由于额外的视觉输入由于输入分布和任务多样性,构建通用视觉语言模型面临很大的挑战。因而,在视觉领域,指令调优技术仍未被充分探索。InstructBLIP(《InstructBLIP:TowardsGeneral-......
  • 【VMD-SSA-LSSVM】基于变分模态分解与麻雀优化Lssvm的负荷预测【多变量】(Matlab代码实
     ......
  • Apple提出MM1.5:多模态大型语言模型微调的方法、分析和见解
    摘要我们介绍了MM1.5,一个新的多模态大型语言模型(MLLM)家族,旨在增强在富文本图像理解、视觉参照和定位以及多图像推理方面的能力。在MM1架构的基础上,MM1.5采用以数据为中心的模型训练方法,系统地探索了整个模型训练生命周期中各种数据混合的影响。这包括用于持续预......