专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
全网快资讯  ·  元宵节的20句祝福语,句句暖心! ·  昨天  
响水零距离公司  ·  响水年后新岗热招!月薪5000+交五险 ... ·  3 天前  
HACK学习呀  ·  交易实战 | ... ·  3 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

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

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2024-11-30 00:19

正文

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 基线进行比较。







请到「今天看啥」查看全文