序号 | 属性 | 值 |
|---|---|---|
| 1 | 论文名称 | DeeR-VLA |
| 2 | 发表时间/位置 | 2024-NeruIPS |
| 3 | Code | https://github.com/yueyang130/DeeR-VLA |
| 4 | 创新点 | 1:论文最大的立足点是一个数据驱动的观察——在机器人执行长程任务时,绝大多数步骤(70-80%)都是简单的机械移动,只有极少数时刻需要深度的语义理解和规划。打破了传统 MLLM “无论难易,必须跑完所有层”的僵化模式,提出了按需分配算力的思想。 2:多出口机器人 MLLM 1.Multi-exit MLLM基于 Flamingo 架构(视觉+语言交叉注意力),将其改造为分段式结构。在网络的浅层、中层、深层设置多个“出口”,允许数据流提前终止。 2.特征压缩机制 在每个出口处使用Max-Pooling,将复杂的 Token 序列压缩为紧凑的特征向量,降低后续处理的负担。 3.时序动作头 (Temporal Action Head)不同于传统的图像分类 Early-exit,机器人控制需要历史记忆。 作者在每个出口后挂载了LSTM(而非简单的 MLP),确保即使在浅层退出,模型也能结合历史观测(POMDP)做出连贯动作。 3:推理机制创新,解决回归问题(动作预测)无法使用置信度(Confidence)痛点的关键设计。 1.基于“动作一致性”的终止准则 (Consistency-based Termination):放弃了 SoftMax 概率(因为输出是坐标),改用“前后两层预测是否一致”作为判断标准。如果第 i层算出的动作和第 i−1层几乎一样,说明模型已经“想清楚了”,不需要再算第 i+1 层了。 2.受限条件下的自适应优化(Constraints-based Optimization):允许用户设定硬指标(如:显存 < 2GB,延迟 < 50ms)。提出了一套算法(离线数据集估算 或 在线贝叶斯优化),自动计算出每层的最佳阈值 η,在满足硬件限制的前提下最大化成功率。 4:解决动态网络在训练和推理时行为不一致(Discrepancy)的问题。 1.随机采样策略 (Random Sampling Strategy):训练时,不是固定走某一层,而是随机让 LSTM 接收来自第 2 层、第 10 层或第 24 层的特征。强迫 LSTM 学会“吃粗粮”,无论上游传来的特征是深是浅,都能稳健地预测动作。 2.辅助损失监督 (Auxiliary Losses)在每个出口都安插“监考老师”(辅助 Loss)。倒逼 LLM 的浅层网络(如前 6 层)必须具备独立的语义理解能力,不能总想着依赖后半段网络。 |
| 5 | 引用量 | 通过“动作一致性”判断任务难易,简单的用浅层网络解决,难的用深层网络解决,并配合随机采样训练保证了动作的连贯性。 |
一:提出问题
机器人拥有像 GPT-4V 这样强大的大脑(MLLM),能看懂图像、听懂复杂指令,然后去干活。这种大模型参数量几十亿甚至上百亿,推理一次需要巨大的算力和显存。然后机器人的机载系统往往算力有限,跑不动这么大的模型。作者发现,在控制机器人完成各种任务的过程中,相对简单的情况占了绝大多数,而这些情况通常只需要较小的模型即可获得正确的机器人动作。(机器人干活时,不是每时每刻都需要“全神贯注”地进行深层推理。)**
比如刚听到指令“去把那个红色的杯子拿给我”,这时候机器人需要用“大模型”的深层能力去理解语义、识别物体、规划路径。一旦开始移动手去抓杯子,中间的几十帧动作可能只是简单的“手继续往前伸一点”。这种时候,其实只需要模型的一小部分(浅层网络)就能算出正确动作。简单的时候用小脑就够了,男的时候才用大脑。
作者提出的 DeeR(Dynamic Early-Exit,动态提前退出)就是为了实现上述的动态调整。
多出口架构 (Multi-exit Architecture):传统的深度神经网络像是一个单行道,必须从第 1 层走到第 100 层才能输出结果。DeeR 把网络改造成了有多个“出口”的大楼。如果数据流到第 10 层,模型觉得“我很确信我知道下一步该干嘛了”,它就直接从第 10 层的出口输出结果,不再跑后面 90 层了。
动态调整 (Dynamic Inference):模型会根据当前的输入情况(Situation)自动判断是该在第几层“下车”。简单的动作 -> 提前退出 -> 省算力、省时间。复杂的决策 -> 跑完全程 -> 保证准确率。
其次,还做了两个重要的工程优化工作:
1.首先条件下的终止准则(Constraints-based Termination):机器人系统通常有硬指标。比如电池只能撑 1 小时(功耗限制),或者控制频率必须达到 20Hz(延迟限制)。DeeR 设计了算法,可以根据设定的功耗、延迟或显存上限,自动调整“提前退出”的阈值,在性能和效率之间找平衡。
2.融合时序信息 (Temporal Information):机器人的动作是连续的(上一秒的手在哪,影响下一秒的动作)。对于“提前退出”的浅层网络来说,它可能理解上下文的能力较弱。作者专门设计了训练方法,确保即使是从浅层网络“提前退出”,模型也能利用历史时序信息,做出合理的动作预测。
整合时序信息的重要性:机器人控制不同于看图说话。看图说话是静态的,但机器人控制需要知道“过去几秒发生了什么”。
但是整合时序信息是有难度的,例如, 如果你从第 4 层就退出了(Early-exit),你可能还没来得及处理完长期的历史记忆。对此,作者专门设计了训练方法,保证即使是从浅层网络退出,模型也能“记住”之前的动作序列。
二:解决方案
1.面向机器人 MLLM 的动态提前退出(Dynamic Early-Exit for Robotic MLLM)
如上表所示,在控制机器人完成各种任务的过程中,相对“简单”的情况占了绝大多数,而这些情况通常只需要小得多的模型即可获得正确的机器人动作。受此现象启发,作者提出了面向机器人 MLLM 的动态提前退出框架,旨在通过针对每种情况动态采用适当大小的 MLLM 来提高机器人 MLLM 系统的计算效率。
1.1基础架构
基于 Flamingo,一种非常经典的视觉语言模型架构。
Vision Encoder(包含一个Vision Transformer和一个Pereceiver Reasampler(视觉token的压缩器,用可学习的latent token通过交叉注意力吸收VIT的信息,输出固定数量密集的视觉token。用于将高维可变长度视觉表示压缩为固定长度潜在表示的跨注意力重采样模块。)):把摄像头看到的图片变成计算机能懂的一串代码(Visual Tokens)。
LLM(大脑):这里有一个很关键的设计,Interleaved(交错)架构。普通的 LLM 只有文本层(蓝色层)。Flamingo 在普通的文本层之间,插入了新的交叉注意力层(Cross-attention,黄色层)。 文本层负责理解语言指令,交叉注意力层负责“看”刚才 Vision Encoder 传过来的图片信息。 这种“夹心饼干”结构意味着视觉信息是一层一层逐渐融合进去的。这也为“提前退出”提供了理论基础,也许融合到第 4 层,机器人就已经看懂图了,不需要融合到第 12 层。
1.2 多出口设计
分组(Grouping):假设 LLM 有 24 层。作者可能把它分成 4 组,每 6 层一组。
Exit 1: 第 6 层输出。
Exit 2: 第 12 层输出。
...
Max-Pooling(最大池化):这是一个信息压缩的步骤。LLM 输出的是一长串 Token(比如“把红苹果拿给我”对应的几十个向量)。直接把这么多数据扔给控制手臂的电机控制器太重了。Max-Pooling 把这几十个向量“浓缩”成一个最强的信号向量(Compact Representation)。这就像把一篇 1000 字的文章缩写成一句 10 个字的核心摘要。
1.3 有了浓缩的特征(摘要)后,怎么让机器人动起来?
值得注意的是,鉴于决策环境通常被描述为部分可观测马尔可夫决策过程(POMDP),最优决策不仅依赖于当前的观测 ot,还依赖于历史观测。因此,作者采用一个序列模型作为动作头 πθ来聚合历史窗口大小 H内的信息。在不失一般性的情况下,本文以一个轻量级的LSTM[64] 为例。那么作者为什么用 LSTM?
1.LLM 擅长理解语义(“这是苹果,那是桌子”),但它不擅长理解物理运动的连贯性(速度、加速度、惯性)。机器人是连续运动的,这一秒的手臂位置和上一秒紧密相关。
2.LSTM(长短期记忆网络)是一种处理时间序列的经典小模型。它能记住“上一秒我在哪、速度是多少”,结合 LLM 传过来的“当前要干嘛”,计算出“下一秒该去哪”。
POMDP:即状态不可完全观测,agent通过观测a来推断隐含状态。文中提到的这个术语意思是,机器人透过摄像头看世界是不完整的(比如手挡住了杯子),所以它必须依靠记忆(历史信息)来脑补被遮挡的部分。LSTM 负责这部分“短期记忆”。
总的来说完整流程是:
输入:图片 + 指令“抓住杯子”。
第一阶段:图片过 Vision Encoder,指令进入 LLM。
动态推理:
LLM 跑到第 1 个出口(Exit 1)。
判断器(Criterion):“现在的特征够清晰了吗?能决定动作了吗?”
情况 A(简单):比如手就在杯子边上,特征很清晰。判断器说“够了”。->提前退出-> 特征传给 LSTM -> 输出动作。
情况 B(困难):比如杯子被挡住了,或者指令很模糊。判断器说“不行,没看懂”。->继续跑-> 跑到 Exit 2 -> 再判断... 直到最后一个出口。
1.2 自适应推理
这里主要解决的问题就是,怎么设置终止准则?先前的方案(基于分类问题), 比如识别图片是不是猫。如果模型在第 4 层说“99% 是猫”,那就可以停了。这是基于置信度。现在的新问题是,针对回归问题, 机器人预测手臂移动坐标 (x,y,z)。模型只会输出具体的数字,不会输出“我有 99% 的把握是这个坐标”。所以没法用置信度。
对此,DeeR采用一致性的思想,如果来自两个不同大小 MLLM 的动作预测保持一致,这表明计算模型可能已经达到饱和,进一步的处理不太可能产生任何改进。
这就好比你在做数学题。你先做了一遍(用浅层网络,相当于心算),得出一个结果。你再稍微认真一点做一遍(多加几层网络),又得出一个结果。如果两次结果几乎一样,说明这道题很简单,你的心算就是对的,不用再动用微积分(深层网络)去算了。
1.2.1 Budgeted task execution.
作者定义了三个必须遵守的限制,
平均 FLOPs (<B):对应 功耗/电池续航。允许偶尔算得慢一点,但总的来说不能太费电。
峰值 FLOPs (<G):对应 延迟/实时性。无论任务多难,每一帧的处理时间不能超过某个极限(比如 0.1秒),否则机器人会卡顿。
显存 Mem (<M):对应 硬件门槛。比如显卡只有 2GB 显存。这直接决定了你最多能跑到第几层(n)。如果第 10 层需要 4GB,那 n只能设为 5(假设第 5 层只用 2GB)。
1.2.2 怎么找到那把尺子呢?
我们要找一组阈值 η={η1,η2,...}。如果 η设得太大 -> 大家都容易满足一致性 -> 大家都提前退出 -> 速度快但精度差。如果 η设得太小 -> 大家都不容易满足 -> 都要跑完全程 -> 精度高但速度慢。作者给了两个方案来找这个最佳平衡点:
1:使用演示数据集求解问题,离线算命(Offline with Dataset)--没有真机
假设一个数学分布(几何分布/指数衰减),即假设 50% 的样本在第一层退出,25% 在第二层,12.5% 在第三层...
根据你的预算 B,算出这个比例具体是多少。
去数据集里翻,看看 η 设为多少时,正好有 50% 的样本满足一致性条件。优点是:快,不需要机器人动。缺点:假设的分布可能不准。
2:使用在线交互求解,在线试错(Online with Bayesian Optimization)--你有真机,或者仿真环境,可以随便跑。效果最好,量身定做。
用贝叶斯优化(一种聪明的试错算法)。
先猜一组 η,跑几次任务。
如果有一次超时了(违反预算),罚分!如果成功率高,得分!
算法会自动调整下一组 η,直到找到“既不超时,成功率又最高”的那组参数。
DeeR 的灵活性。它不是训练完就定死了。通过调整 η,你可以把同一个模型瞬间变成“省电模式”(阈值大,退出早)或者“高性能模式”(阈值小,退出晚)。
2.训练方法
网络架构的动态调整导致了训练和推理之间的差异。在推理过程中,在每个时间步使用一个确定性标准*来选择合适的中间特征。然而,在训练过程中,缺乏明确的终止标准,并且不知道特征在各个出口的分布情况。为了使模型能够学习有效地整合*时序信息,提出了如下定制训练算法。
推理时(Inference):机器人可能第一秒觉得简单,用了第 3 层特征;第二秒觉得难,用了第 12 层特征。输入给 LSTM 的特征流是深浅不一、忽大忽小的。
训练时(Training):如果我们只用固定的第 24 层训练,LSTM 就会“娇生惯养”,一旦推理时扔给它一个第 3 层的特征,它就看不懂了。
对策:随机采样 (s1)。在训练的时候,故意“折磨”LSTM。第一帧给它第 2 层特征,第二帧给第 10 层,第三帧给第 5 层……强迫 LSTM 学会鲁棒性(Robustness)。无论上游传来的是精细的深层特征,还是粗糙的浅层特征,LSTM 都要能利用历史记忆把动作接上。这被称为“Winding”(蜿蜒)路径训练。
2.1 辅助损失
LLM 的中间层(比如第 6 层)原本的设计目的是“传球给第 7 层”,而不是“射门(输出结果)”。所以第 6 层的信息可能很含糊,还没准备好做决定。
对策:在第 6 层旁边强行安插一个“教官”(辅助动作头)。教官要求:“第 6 层,你现在就给我预测一下动作!”如果预测不准,就通过 Laux惩罚模型。这会倒逼 LLM 的前 6 层更加努力。它必须在第 6 层就把图像看明白、把指令理解清楚。就像考试。原本只有期末考试(最后输出)。现在引入了“周考”(辅助损失)。如果你想在第 6 周(第 6 层)就放假(提前退出),你必须保证第 6 周的周考能及格。
2.2 冻结与微调
冻结 (Frozen):ViT(视觉)和原本的 LLM(文本大脑)。这两个部分参数量最大,训练太费显存,而且它们原本的通识能力已经很强了,不需要大改。
微调 (Fine-tuned):
Cross-attention:负责把视觉融入文本。这是 DeeR 的核心能力,必须练。
Action Heads (LSTM & MLP):负责把特征变成动作。这是全新的任务,必须从头练。
这种 Parameter-Efficient Fine-Tuning (PEFT) 方法,使得在有限的计算资源下训练这种巨大的机器人模型成为可能
三:实验
作者设置了一个高难度(CALVIN)、多维度(三种泛化设置)、强对手(RT-1, RoboFlamingo)的竞技场,并且明确了比赛规则:不比谁的模型大,只比谁在同样算力下干得好,或者谁在干得一样好的情况下算力最省。
四:总结
本文介绍了机器人 MLLM 动态提前退出 (DeeR)框架,旨在根据机器人智能体遇到的每种情况的具体要求,动态配置 MLLM 的大小。具体来说,提出了一种具有多个中间出口的新型 MLLM 架构。此外,基于动作一致性为 DeeR 建立了提前终止标准,并通过数据集或在线交互来求解阈值。另外,精心设计了一种定制的训练方法,在该多出口框架内整合时序信息,以增强机器人控制。
广泛的机器人实验表明,DeeR显著降低了 LLM 的计算成本和 GPU 显存使用量,突显了其使更广泛的用户能够在资源受限的平台上管理其机器人的潜力。
作者表明,尽管研究显示了有希望的结果,但它也存在一些局限性。我们专注于提高机器人执行的 LLM 效率,因为 LLM 占据了大部分参数和 GFLOPs。然而,视觉编码器(Visual Encoder)的计算成本也很显著。我们预计随着更高效、轻量级的视觉编码器的开发,这一限制将得到缓解。此外,我们的实验仅限于模拟基准测试。未来的工作将旨在提高现实环境中基于 MLLM 的整个机器人系统的推理效率。