一句话定位
给机器人 MLLM 策略装一套”多出口”结构:简单情形提前从浅层退出、疑难情形才跑满全部层,用动作一致性作退出判据、配合预算约束求解阈值,在 CALVIN 基准上把 LLM 推理算力砍到 1/5.21/6.5、显存砍到 1/21/6,性能不降反升。
背景与定位
rt-2、RoboFlamingo 一类端到端 VLA 把 MLLM 直接微调成低层机器人策略,每个时间步都要跑满全部 LLM 层(数十亿参数),在算力/显存受限的机器人平台上开销很大。DeeR-VLA 观察到一个关键现象:用不同层数的 RoboFlamingo 在 CALVIN 长程多任务基准上测试,24 层相比 6 层只多出 3.2 个百分点成功率(78.9% vs 75.7%),算力却贵 4 倍——说明控制机器人过程中”简单情形”占多数,用小模型就够了,只有少数”疑难情形”才需要大模型全部容量。
这把问题从”VLA 怎么训”转向”VLA 怎么高效地跑”,是动态网络 / early-exit 这条效率路线第一次系统地搬到 VLA 决策序列场景。此前 early-exit 主要用于图像分类(用 softmax 置信度/熵作退出判据)和纯语言模型的下一词预测,DeeR-VLA 指出这两类判据在动作预测里不可用(没有现成的 softmax 输出),因此重新设计了基于”相邻退出点动作一致性”的判据,并且首次给出了在真实环境交互中在线求解退出阈值的算法。工作构建在 RoboFlamingo(本工作复现版本记作 RoboFlamingo++)之上,在 calvin 基准上评测,也与 gr-1、openvla 之外的 RT-1、HULC、SPIL、SuSIE 等基线比较。代码、模型开源,论文中 NeurIPS 2024。
模型架构
Backbone:沿用 RoboFlamingo 的 OpenFlamingo 架构——冻结的 CLIP ViT-L/14(428M)视觉编码器 + Perceiver Resampler,输出视觉 token;LLM 用冻结的预训练 MPT(3B 版用 MPT-1B-Instruct,24 层;9B 版用 MPT-7B,32 层),在自注意力层间插入可训练的 cross-attention 层去关注视觉 token(OpenFlamingo 3B 的 xattn interval=1,9B 为 4)。只训练 perceiver resampler 与 cross-attention 层,视觉编码器和 LLM 原始参数保持冻结。
多出口设计:把 LLM 的层切成 N 个连续分组,每两个自注意力层后设一个出口。为节省训练资源,3B/9B 骨干都只用前 12 层做多出口结构,得到 6 个出口(而非用满 24/32 层);用于对比的定长 RoboFlamingo++ 基线则分别用 3B 的 6/12/24 层、9B 的 8/16/32 层构造一系列不同尺寸的静态模型。每个出口的隐藏状态序列经 max-pooling 汇聚成紧凑表示,再喂给动作头。
动作头:4 层 LSTM(历史窗口 H=12)+ 3 层 MLP,MLP 分两支分别预测末端位姿(6 维连续量,MSE)和夹爪开合(1 维离散量,交叉熵),LSTM/MLP 前均加 LayerNorm、dropout 防过拟合;动作头随机初始化、与视觉-语言融合模块联合训练。7 自由度末端执行器动作 = 位置+朝向(6 维连续) + 夹爪开合(1 维离散)。
早退判据:定义相邻出口 i 与 i-1 的预测动作 L2 距离 < 阈值 η_i 时在出口 i 退出(η_N 恒为无穷保证兜底);直觉是若两个不同规模的模型给出一致动作,说明计算已经”饱和”,继续算不会再改善。阈值集合 {η_1, η_2, …} 通过求解一个带预算约束的优化问题得到(详见”训练方法”),既可用离线演示数据集求解(假设各层退出概率 q 恒定,各出口占比服从指数分布),也可通过与真实环境在线交互、用贝叶斯优化搜索阈值(目标 = 成功率 − 越界惩罚项)。用户在推理时还可以自由选择加载的 LLM 层数(如 DeeR-S 只加载前 4 层/2 出口、DeeR-B 加载全部 12 层/6 出口),在预算之上进一步取舍精度与资源占用。
数据
训练/评测均基于 CALVIN 长程多任务语言控制基准(LH-MTLC)。CALVIN 分 A/B/C/D 四个环境切片,每个切片含 200 万+ 机器人操作轨迹(记作 ALL),其中仅约 1%(约 2.4 万条)带自然语言指令标注(记作 LANG)。DeeR-VLA 只用 LANG 子集训练。三种评测设定:
- D→D:单环境内训练与评测(数据量最小);
- ABCD→D:多环境联合训练;
- ABC→D:零样本跨环境泛化(训练时未见 D 环境)。
数据来自仿真环境(CALVIN),未涉及真实机器人数据或跨本体混合;动作标签直接来自 CALVIN 自带的遥操作轨迹标注,论文未涉及额外的动作打标或数据配比设计。
训练方法
目标函数:单步动作损失 = 位姿 MSE + 夹爪状态交叉熵(系数 λ=0.01 平衡两项)。
训练-推理错位问题与随机采样策略:推理时用确定性判据挑选出口,但训练时不知道退出点的分布,若只训练某个固定出口会与动态推理错位。论文提出在训练时于每个时间步随机采样出口索引(1 到 N)来做动作预测:
- 策略 s1:每步独立均匀采样出口索引;
- 策略 s2:把时间窗口切成两段(切点随机),每段内共享同一个采样出口索引——模拟实际推理中”退出点在连续时间步上倾向稳定、再整体切换”的现象。
辅助损失:额外接 N 个仅训练时使用的辅助动作头(每个出口一个),用同样的位姿/夹爪损失监督,防止中间层特征只为”传递给下一层”而非”直接输出动作”而优化不足;消融显示去掉辅助损失后 ABCD→D 上同等算力下成功长度从 4.13 掉到 2.71(10.0 GFLOPs)。总损失 = 主损失(s1+s2 两种采样各自求和) + 辅助损失。
两阶段训练:先联合训练视觉-语言融合模块(perceiver + cross-attention)与动作头;再冻结 MLLM、只精调动作头(“post-train”)。联合训练轮数 D/ABC/ABCD 分别为 4/4/3 epoch,post-train 轮数分别为 4/1/1 epoch。优化器 AdamW,MLLM 学习率 1e-4,动作头学习率 2.5e-5,恒定学习率调度,warmup 2500 步;LSTM/MLP dropout 默认 0.3/0.4(ABCD 的 post-train 阶段提高到 0.4/0.5);batch size 4(每 GPU)× 8 GPU。报告结果取最后一轮 checkpoint,未做 best-checkpoint 挑选。
Infra(训练 / 推理工程)
训练:3B 模型用 8× NVIDIA V100 32GB,PyTorch AMP 混合精度;D 设定(4+4 epoch)约 14 小时,ABC 设定(4+1 epoch)约 24 小时,ABCD 设定(3+1 epoch)约 25 小时。9B 模型用 8× NVIDIA A100 80GB,D 设定(4+4 epoch)约 24 小时;代码支持多机并行训练。
推理内存/算力(3B,12 层多出口模型):每层 LLM 约 0.5GB 显存、1.3 GFLOPs(batch=1,不含视觉编码器)。DeeR-B 加载全部 12 层(6 出口):显存上限 6GB、峰值 15.6 GFLOPs;DeeR-S 只加载前 4 层(2 出口),显存需求更低(论文正文提到”仅 2GB 显存”即可获得较高性能)。
推理内存/算力(9B,12 层多出口模型):每层约 1.0GB、2.85 GFLOPs。DeeR-B 加载 12 层(6 出口)约需 12GB 显存;DeeR-S 加载 8 层(4 出口)约需 8GB 显存(相比之下静态 RoboFlamingo 9B 需 32GB)。
真实推理延迟实测(同一块 NVIDIA V100,ABCD→D 数据集,未做任何 early-exit 专门代码优化):RoboFlamingo++ 平均单步 LLM 推理 55ms(31.2 GFLOPs,成功长度 4.07);DeeR 平均单步 17.5ms(6.0 GFLOPs,成功长度 4.08)——实测降低 68.1%,与理论 FLOPs 降幅 80.7% 基本一致(差异归因于未做代码层面的早退优化,作者预期优化后可进一步逼近理论值)。
量化兼容性(ABCD→D):DeeR 在 float32/float16/int4 下的 LLM 显存与成功长度分别为 6GB/4.13、3GB/4.12、1.7GB/3.91,说明 early-exit 与量化可正交叠加进一步压缩资源占用。
评测 benchmark
主表(CALVIN,指标为 1000 条任务链上的平均成功长度 0–5,括号内为达到该成绩所需的 LLM GFLOPs):
| 方法 | 输入/数据 | D→D | ABCD→D | ABC→D |
|---|---|---|---|---|
| GR-1(ICLR’24,含额外本体感知输入) | RGB+Proprio+LANG | — | 4.21 | 3.06 |
| HULC(RA-L’22) | RGB / ALL | 2.64 | 3.06 | 0.67 |
| RT-1(RSS’23) | RGB / LANG | — | 2.45 | 0.90 |
| SPIL(ICML’24) | RGB / ALL | 2.67 | — | 1.71 |
| SuSIE(ICLR’24,InstructPix2Pix) | RGB / ALL | — | — | 2.69 |
| RoboFlamingo(ICLR’24,OpenFlamingo 3B) | RGB / LANG | 2.46 (31.2) | 4.08 (31.2) | 2.47 (31.2) |
| RoboFlamingo++(本文复现) | RGB / LANG | 2.71 (31.2) | 4.07 (31.2) | 2.59 (31.2) |
| DeeR(本文) | RGB / LANG | 2.83 (8.6) | 4.13 (10.0) | 2.82 (12.5) |
| DeeR w. online(本文) | RGB / LANG | 2.92 (8.5) | 4.13 (9.7) | 2.90 (9.5) |
要点:DeeR 相比同骨干的 RoboFlamingo++ 在三个设定下均以 2.5~3.6 倍更低 GFLOPs 取得持平或更高成功长度;用贝叶斯优化在线求阈值(DeeR w. online)在数据稀缺(D→D)和跨环境泛化(ABC→D)场景下收益最明显。
Budget-vs-performance 曲线(Figure 3/4,非表格,来自动态调整总算力/峰值算力/显存约束后重新求解阈值):3B 骨干在 D→D 设定下,DeeR 以 2.71 的成功长度对应 5.9× 更低平均 FLOPs、2× 更低峰值 FLOPs、2× 更低显存;扩展到 9B 骨干后,DeeR 在同等性能下降低 1.8–5.7× 平均算力、2.7–4.0× 峰值算力与显存。论文摘要与结论给出的总体头条数字是 LLM 算力降低 5.2–6.5×、显存降低 2–6×,同时不损失性能。
消融:(1) 去掉辅助损失,ABCD→D 上同等 GFLOPs 下成功长度显著下降(10.0 GFLOPs:4.13→2.71;4.9 GFLOPs:3.94→2.64);(2) 退出判据对比——动作一致性 vs. 特征余弦相似度 vs. 按任务进度递增出口,三种设定(D→D/ABCD→D/ABC→D)×两档算力(4.9/9.1 GFLOPs)下动作一致性判据全面优于另外两种。
创新点与影响
- 贡献:首次把动态早退(early-exit)网络系统性引入 VLA 的时序动作预测场景;提出无需 softmax 输出即可用的”动作一致性”退出判据;提出把退出阈值求解形式化为带算力/显存/延迟三重约束的优化问题,并给出离线数据集求解与在线贝叶斯优化两条路径;提出随机采样出口索引 + 辅助动作头的训练方法解决训练-推理分布错位。
- 改变了什么:证明”控制机器人的多数时刻是简单的”这一直觉可以被系统利用,为资源受限平台上部署 MLLM 机器人策略提供了一条与模型压缩、量化正交、可叠加的效率路径;同一个训练好的多出口模型可以在不重新训练的前提下,通过调整加载层数与退出阈值,在线适配不同的算力/显存预算。
- 作者自陈局限:(1) 论文只针对 LLM 部分做效率优化(因其占大部分参数和 FLOPs),视觉编码器的计算开销未被压缩,作者预期未来轻量视觉编码器的发展可缓解这一问题;(2) 实验仅在仿真基准(CALVIN)上验证,未在真实机器人环境中评估;(3) 早退实现未做工程层面的定制优化(如按出口动态提前终止底层计算图),真实延迟降幅(68.1%)因此低于理论 FLOPs 降幅(80.7%)。
原始链接
- arXiv: https://arxiv.org/abs/2411.02359 (PDF: https://arxiv.org/pdf/2411.02359)
- 代码: https://github.com/yueyang130/DeeR-VLA
- 模型(HF): https://huggingface.co/Yang130/DeeR-VLA (含 3B/9B 各设定 checkpoint:DeeR_task_D/ABC/ABCD_D-exit-strategy、DeeR_9B_task_D_D-exit-strategy)
一手源存档(sources/)
- deer-vla—github-readme — GitHub README(安装/依赖模型下载/复现命令/训练超参脚本/致谢 CALVIN·OpenFlamingo·RoboFlamingo)
- deer-vla—hf-card — HF model repo README(4 个 checkpoint 清单,base = OpenFlamingo-3B/9B)
- arXiv 全文(HTML/PDF)见上方链接,不入 git。