论文笔记:Offline Semantic Guidance for Efficient Vision-Language-Action Policy Distillation

背景

OpenVLA-7B、π0.5-4B 这一量级的 VLA(Vision-Language-Action)模型已经能在 LIBERO 等基准上稳定完成多阶段操作,但推理延迟挡住了落地:OpenVLA-7B 在 RTX 4090 上单步 0.262s(约 3.8 Hz),换到 Jetson 这类边缘设备常常超过 1s 一步,远达不到 10–50 Hz 的闭环控制需求。

把大 VLA 压成小策略的常规做法是行为克隆式蒸馏——教师跑轨迹,学生逐帧拟合动作。但 VLA 蒸馏有个特殊难点:复合误差与协变量偏移。单任务示教只覆盖有限的状态分布,闭环执行时几百步累积的小误差会把机器人推入训练时没见过的 OOD 状态,于是"离线动作预测精度很高、在线成功率崩盘"。已有工作用动作专家、动态路由、一致性解码等手段缓解,但要么增加部署复杂度,要么仍停留在帧级动作监督。

另一条线索是 VLM:它们不会输出 7-DoF 低层动作,却有场景理解、空间关系与物理常识先验。于是自然的分工是——把 VLM 当作一个离线知识翻译器,训练期从示教中抽出高层语义并注入轻量策略,部署期完全扔掉。这正是本文 VLA-AD 的出发点(UCL 的 Jin Shi、Brady Zhang 与 Oxford 的 Yishun Lu,2026-05 预印本):arXiv:2605.16241。

中心思想

一句话概括:把 VLM 当作与教师 VLA 并列的、只在训练期存在的离线语义监督者,用"阶段锚点 + 多帧操作方向"补上动作标签缺失的语义维度,再把它蒸馏进一个 158M 的小策略。

三点设计意图值得单独拎出来:

  1. 两个监督者各管一半,都不够。 教师动作是精确但无语义的连续数值——学生知道"夹爪突然闭合",却不知道这是在抓住还是在松开;VLM 描述说清了当前相位、物体相对位置与下一步意图,却给不出低层动作。二者合起来才是"怎么做(how)+ 在达成什么(what for)",学生必须在训练时把两路信息融合,才能在评测时独立输出时序连贯的动作。
  2. 语义是"锚",不是"叙事"。 直接让 VLM 自由描述会引入很强的语言随机性:同一个操作阶段,它可能写成 “the robot is grabbing” 也可能写成 “reaching for”。158M 的学生远没有 7B 教师那样的冗余容量去吸收这种方差,描述噪声会直接污染语言条件、降低蒸馏质量。所以先用启发式规则给每帧打一个固定的阶段标签,再把该标签连同语义定义塞进 prompt 约束 VLM 的用词,把描述自由度压缩到"2–4 句话讲清场景"。
  3. 训练期注入语义,推理期零开销。 教师与 VLM 在部署时全部移除,学生独自闭环运行;语义监督只改变"学生该拟合什么",不改变"部署要算多少"。这是全篇最实用的一条工程承诺。

主要方法

1. 数据构造

用教师(OpenVLA-7B 或 π0.5-4B)在 LIBERO 任务上闭环执行,只保留成功回合,得到"原始观测 x x x + 教师 7-DoF 动作 a t e a c h e r a_{teacher} ateacher​"的数据集,其中 a = ( x , y , z , θ , ϕ , ψ , g r i p p e r ) a=(x,y,z,\theta,\phi,\psi,gripper) a=(x,y,z,θ,ϕ,ψ,gripper)。注意这是一份教师自己生成的成功示教,而非人工遥操作数据。

2. 阶段锚定的视觉描述

  • 启发式规则分类器利用夹爪状态、3D 速度、任务进程给每帧打阶段标签;
  • 标签及其语义定义被注入 Qwen2.5-VL 的 prompt,强制它只能用该阶段的词汇去描述物体相对位置与正在发生的动作,产出 2–4 句文本 d t d_t dt​;
  • 采用 9 类阶段:idle, approaching, grasping, transporting, holding, placing, operating, regrasping, completed。粒度不是拍脑袋定的:作者评估了 3/5/7/9/11/13 六种分类,用跨类帧频的变异系数衡量分布相对"单峰目标分布"的偏离 ∣ C V − 1 ∣ |CV-1| ∣CV−1∣,9 类最优(0.14;3/5/7 类为 0.24/0.26/0.57,11/13 类为 0.35/0.53)。附录中的 next-action token 验证准确率也以 9 类最高(63.6%,其余为 53.2%–59.8%)。太粗会把大段运动并成一个主导箱(3 类时单箱约占 69% 的帧),太细则把 operating 拆成 push/pull/rotate/press 这类极少被采样的长尾类。

3. 多帧操作方向

单帧描述对 8 个非 operating 阶段够用,但 operating 阶段存在方向歧义:半开的抽屉从静态图像上看不出是在拉开还是推上,抽屉的空间坐标、机器人姿态与夹爪状态全都不可区分。这种歧义会污染策略——尤其夹爪通道必须隐式携带"何时松手"的时序信息。为此:

  • 被判为 operating 的连续片段整段取出,均匀采样 5 个关键帧(覆盖段首/中/尾),一次性送入 VLM(一次 Qwen 调用);
  • VLM 输出 ( element ,  direction ) (\text{element},\ \text{direction}) (element, direction) 元组,例如 (drawer-handle, outward)、(knob, clockwise);
  • 该元组广播到片段内的每一帧,最终送入学生的文本 = 阶段标签 ⊕ 多帧元组,从而在时间上稳定地消除歧义。

4. 双路监督损失

两条路径共享同一份动作硬标签: a t ∗ ∈ { 0 , … , 255 } 7 a_t^{*}\in\{0,\dots,255\}^7 at∗​∈{0,…,255}7(每维 256 bin 离散化),总损失为

L t o t a l = L f u l l ( x t ,   τ ,   d t ) + α ⋅ L i m g ( x t ,   τ ) L_{total} = L_{full}(x_t,\ \tau,\ d_t) + \alpha \cdot L_{img}(x_t,\ \tau) Ltotal​=Lfull​(xt​, τ, dt​)+α⋅Limg​(xt​, τ)

L ∙ = ∑ k = 1 K ∑ j = 1 7 w j ⋅ C E ( π θ S ( k , j ) ( ⋅ ∣ ∙ ) ,   a t + k , j ∗ ) \mathcal{L}_{\bullet} = \sum_{k=1}^{K}\sum_{j=1}^{7} w_j \cdot CE\big(\pi_\theta^{S(k,j)}(\cdot \mid \bullet),\ a^{*}_{t+k,j}\big) L∙​=k=1∑K​j=1∑7​wj​⋅CE(πθS(k,j)​(⋅∣∙), at+k,j∗​)

其中 τ \tau τ 是任务指令, K = 5 K=5 K=5 是预测的动作块长度,维度权重 w = ( 1 , 1 , 1 , 2 , 2 , 2 , 1 ) w=(1,1,1,2,2,2,1) w=(1,1,1,2,2,2,1) 用来补偿旋转通道量级偏小, S ( ⋅ ) S(\cdot) S(⋅) 是把 256 类 logits 解回连续动作的 softmax, α \alpha α 控制辅助路径权重(作者扫描 { 0.3 , 0.5 , 0.8 , 1.0 } \{0.3,0.5,0.8,1.0\} {0.3,0.5,0.8,1.0},object/goal 选 1.0,spatial 选 0.5)。

full 路径输入"图像 + 指令 + 描述",img 路径掩掉描述通道。这一步不是随手加的正则:它强迫视觉表示自身足够,防止学生退化成"只读文本描述、不看图"的捷径,其直接推论是推理时即使没有描述文本也能工作。实现上每个训练步做两次前向。

5. 学生架构与训练

学生 = Long-CLIP 视觉-语言编码器 + LoRA + tri-stream MLP 动作头,共 158M 参数:

  • 训练时冻结 Long-CLIP 预训练权重,只训练插入 Long-CLIP transformer block 的 rank-8 LoRA(可训练参数压到 8.6M),MLP 头全量训练;
  • 动作头一次性并行输出 5 × 7 5\times7 5×7 个 256 类概率分布(非自回归),用硬标签交叉熵监督;
  • AdamW、30 epoch、batch 32,每个学生约 22 GPU 小时(比全量微调 OpenVLA 省 10–20×);离线标注用 Qwen2.5-VL API 标注一个 suite 的 81,000 帧约 7 美元,比在同样数据上微调 7B 教师便宜两个数量级以上。

6. 实验结论

LIBERO 三个套件,每套件 10 个任务 × 20 次闭环回合(最大步数 520),三套件共 600 次试验;教师也在同一协议下重测而非引用官方指标:

方法objectspatialgoal均值参数量RTX 4090
OpenVLA-7B(教师)62.079.081.074.07B0.262 s / 3.8 Hz
VLA-AD 无 Qwen62.077.061.066.7158M—
VLA-AD(有 Qwen)62.579.579.573.8158M0.080 s / 12.5 Hz
π0.5-4B(教师)90.087.094.590.54B0.172 s / 5.81 Hz
VLA-AD(π0.5 教师)96.593.094.094.5158M0.076 s / 13.2 Hz

44× 参数压缩下与 OpenVLA-7B 平均仅差 0.27%;换成 π0.5-4B 教师后,学生在 object/spatial 上反超教师(+7.22 / +6.90 个百分点),goal 仅差 0.53%。

特点(优缺点)

优点

  • 训练期注入语义、推理期零开销:VLM 与教师都不上车,7 美元标注 + 22 GPU 小时换来 44× 参数压缩与 3.28× 加速(0.262 s → 0.080 s/步),12.5 Hz 已足够在消费级显卡上做高频闭环。
  • 对教师噪声鲁棒:OpenVLA-7B 的夹爪指令约有 3% 自相矛盾翻转(8,223 帧中 242 次,典型片段 240 帧内 27 次)。跨 50+ 帧保持不变的阶段标签提供了稳定锚点,学生的伪翻转从 27 次降到 1 次(≈9×)——这几乎是一份免费的鲁棒性正则。
  • 教师无关且实现轻:同一套流程在 OpenVLA-7B 与 π0.5-4B 上都有效,且 α 的最优设置可跨教师迁移,说明损失平衡主要由任务套件而非教师架构决定;学生侧只有一次 rank-8 LoRA 加一个 MLP 头,训练成本比全量微调低 10–20×。
  • 细节有量化依据:阶段粒度同时用分布统计( ∣ C V − 1 ∣ |CV-1| ∣CV−1∣)与验证准确率双重佐证;双路掩蔽也给出了"防文本捷径"的明确机制解释,而不是只报一个总分。

缺点与质疑

  • 严格说来不算蒸馏。 学生从未使用教师的 logits、软标签或中间特征,全部监督信号都是教师动作的硬标签(离散化后的 argmax 目标)加上 VLM 生成的文本。按经典蒸馏的定义,迁移教师"响应分布 / 暗知识"的部分几乎为零,而 VLM 其实是与教师无关的第三方标注器——更准确的描述是"教师示教 + 离线语义标注增强的模仿学习"。论文数据也支持这一质疑:no-Qwen 基线在 object/spatial 上与 with-Qwen 几乎持平(62.0 vs 62.5、77.0 vs 79.5),全部增益集中在 goal(61.0 → 79.5,+18.5 个点);π0.5 场景下 no-Qwen 基线均值 92.8 甚至已经高于教师 90.5。可见 44× 压缩主要来自小架构 + LoRA + 短时动作块( K = 5 K=5 K=5),语义引导更像是对多阶段任务的定点补丁,而非一个通用的压缩算子。
  • 泛化能力未被证明:只有三个 in-domain LIBERO 套件、单一随机种子、每格 200 次试验,没有 OOD 套件(如 LIBERO-PRO)、真机验证或跨套件长时程任务。学生学到的更多是"在这套仿真里把语义对齐",与 VLA 强调的跨任务泛化不是一回事。
  • 阶段分类器高度工程化:它依赖 LIBERO 特有的夹爪与本体感知信号,论文自己在 limitations 中承认,换到没有同类状态访问的环境需要重新设计。
  • 训练数据只含成功回合:学生从未见过教师的失败模式,OOD 状态的恢复能力受限——这恰好削弱了论文想解决的"复合误差"问题本身。
  • 仍需按套件调参,工程细节留白:α 要按套件选择,迁移到新套件仍得做一次小规模扫描;"教师无关"仅由 2 个教师支撑。此外论文没有明确说明部署阶段描述文本的获取路径(在线规则标注、部署前预缓存,还是直接退化为无描述的 img 分支),这是落地前必须补齐的一环。
  • 学生已经不算 VLA:丢掉 LLM 主干后,它本质上是一个带语言条件的视觉动作策略(Long-CLIP + MLP),语义理解深度受 CLIP 级特征限制,更像"带语言条件的视觉策略网络"而非完整 VLA。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐