VLM/VLA:评测与数据引擎

VLM/VLA:评测与数据引擎

Charles Lv8

一个仓库拣选 VLA 在离线集上动作误差很低,实验室里也能稳定抓常见纸箱。上线后最先暴露的却不是“不会抓”,而是透明塑封件反光、货物倾斜堆叠、人工临时挪动托盘、抓起后转运滑脱。这些长尾场景如果没有进入 benchmark 和数据回流,表格分数会继续变好,现场却不会变稳。

VLA 评测与数据引擎必须放在一起看。评测决定团队会发现什么失败;数据引擎决定这些失败能不能变成下一轮训练、回放和 hard set 资产。两者断开时,benchmark 只是排行榜;两者接上时,benchmark 才是系统进化的控制面。

Episode 才是评测单位

VLA 评测不能只记录一张图、一句指令和一个动作。更完整的 episode 可以写成:

e={o0:T,l,a0:T,u0:T,c0:T,y,m}e=\{o_{0:T}, l, a_{0:T}, u_{0:T}, c_{0:T}, y, m\}

这里 o0:To_{0:T} 是完整观测序列,ll 是任务指令,a0:Ta_{0:T} 是策略动作,u0:Tu_{0:T} 是低层控制器实际执行或拒绝的命令,c0:Tc_{0:T} 是接触、碰撞、安全停机、人工接管等事件,yy 是成功/失败/阶段标签,mm 是 robot、相机、场景、物体、时间、软件版本和策略版本等 metadata。

这个定义看着麻烦,但它能避免一个常见误判:模型输出动作看起来没错,控制器实际执行被限幅;最终任务失败不是 VLA 不懂任务,而是坐标系、延迟或安全层阻止了动作。若日志只存 (o,l,a)(o,l,a),这些原因会被抹掉。

一个总成功率不够

机器人任务有很多“运气成功”。夹爪姿态不对,但物体被桌边卡住;放置位置偏了,但容器足够大;抽屉没完全打开,但目标物刚好露出来。它们在总成功率里都是 1 分,却不代表系统可重复、可部署。

更有用的评测至少要拆成四个数:

指标 看什么 为什么
首次成功率 不依赖恢复时一次完成任务的比例 判断基本 policy 是否真的会做
最终成功率 允许恢复、重试或子任务重规划后的完成比例 判断系统级闭环能力
恢复率 偏差、抓空、遮挡、接触失败后重新回正的比例 判断是否只会演示分布
人工接管率 需要人停机、调整或完成任务的比例 判断部署成本和安全边界

首次成功率和最终成功率一起看很重要。首次低、最终高,说明恢复链路在救场;首次高、恢复低,说明系统在规整场景里强,但偏离后脆弱;两者都高,才接近稳定部署。

长任务要拆阶段

“打开抽屉取勺子再放进盒子”不是一个二分类任务。它至少包含接近把手、对准、拉开、识别目标物、抓取、转移、放置、退出这些阶段。平均成功率不知道失败发生在哪里,阶段完成率才知道该改什么。

阶段 失败例子 可能该改什么
接近 相机看不到把手、末端位姿偏 观测视角、空间表征、动作坐标
接触 抓不住、力控不稳、滑脱 低层控制器、gripper 语义、触觉/力觉
操作 抽屉卡住、门没开到位 恢复轨迹、affordance、状态检测
目标识别 遮挡、小物体、反光 数据覆盖、视觉 token、主动视角
放置 姿态不对、容器边缘碰撞 action chunk、轨迹分布、安全层

阶段标签不一定都要人工逐帧标注。可以先用事件、控制器状态、成功检测器和少量人工审阅形成粗标签;关键是让失败可以统计、复现、回流。

数据引擎不是日志仓库

现代 VLA 数据流可以写成:

Dtraint+1=DtraintS(Ft)\mathcal D_{\mathrm{train}}^{t+1} = \mathcal D_{\mathrm{train}}^{t} \cup S(\mathcal F_t)

Ft\mathcal F_t 是第 tt 轮部署或仿真暴露出的失败、near-failure 和新场景样本,S()S(\cdot) 是筛选、去重、标注、分流函数。真正的数据引擎不是把日志全部倒回训练集,而是决定哪些样本进训练、哪些进 hard set、哪些只进监控、哪些因为标注不可信被丢弃。

一个有用的数据引擎至少有五个出口:

出口 用途
训练回流 补模型没见过的状态、动作和恢复轨迹
Hard set 固定保留长尾失败,防止下一轮只把问题记住
Replay set 从失败中途状态重放,检查恢复动作是否合理
安全集 近碰撞、误按、夹人风险、控制器拒绝事件
监控集 跟踪线上分布漂移、硬件漂移和任务变化

这些集合不能混在一起。若 hard set 被训练污染,评测会变乐观;若安全事件只进训练不进门禁,系统可能在平均成功率上升的同时变得更冒险。

跨机器人数据先看接口

Open X-Embodiment / RT-X、DROID、BridgeData、Octo、OpenVLA 和 π0.5 都说明了一件事:机器人数据的价值不只来自数量,而来自 episode metadata 和动作接口能否对齐。

Open X-Embodiment dataset overview

图源:Open X-Embodiment / RT-X,数据集总览图。原图展示多机构、多机器人、多任务和多对象数据汇聚。本站读法:跨 embodiment 评测要先核对观测、动作、任务、结果和部署语义是否一致,不能只看数据量或总成功率。

跨机器人 benchmark 最容易出错的是 action 口径。一个数据集里的 7 维动作可能是 gripper frame delta pose,另一个可能是 base frame 或关节空间;gripper 的 1 可能表示闭合,也可能表示打开;控制频率和 latency 也可能不同。若这些不写进 metadata,模型和评测都会把接口噪声当成任务差异。

Hard set 要跟部署一起长

固定主 benchmark 仍然有价值,它能比较模型版本。但只保留固定主 benchmark 会让团队越来越擅长“做这套题”。VLA 还需要持续增长的 hard set:

Hard set 类型 例子 目的
物体长尾 透明、反光、软体、易碎、小物体 防止只会常见物体
场景长尾 杂乱桌面、移动人、光照变化、相机偏移 检查环境偶然性
动作长尾 抓偏、滑脱、卡住、二次对准 检查恢复能力
安全长尾 近碰撞、误触、控制器拒绝 检查风险门禁
任务长尾 多阶段、条件分支、临时变更目标 检查长任务结构

Hard set 不是越难越好,而是要代表真实部署中最贵、最危险、最常复现的失败。它也要版本化:某一轮模型修好了透明包装,下一轮就应该保留这类样本,防止回归。

仿真、实验室和真实部署要分开报告

VLA benchmark 通常有三层,不应该混成一个总分。

适合回答 不能回答
仿真 大规模消融、扰动扫描、策略对比、失败复现 真实接触、传感器噪声、硬件磨损一定等价
实验室 稳定版本比较、可控 real robot 评测、阶段成功率 未整理家庭、仓库、医院等开放环境
真实部署 目标环境下的成本、安全、接管和长尾 高复现、低成本、大规模 ablation

RoboTwin、SimplerEnv 这类仿真/real-to-sim benchmark 的价值,是降低真实机器人评测成本,并让策略在更可控的扰动下被比较。它们不能替代真实部署,但能帮助团队在上线前发现一批系统性失败。

回流样本要按价值排队

不是所有日志都值得马上标注和训练。优先级可以从四个维度判断:

维度 高价值样本
新颖性 新物体、新布局、新光照、新机器人状态
可复现性 同类失败重复出现,或者能在仿真/实验室重放
风险 近碰撞、误按、夹持危险、人工接管
可学习性 有清楚观测、动作、事件和替代正确动作

低价值日志也有用,但更适合做分布监控,不一定进训练。把所有日志一股脑回灌会带来脏标注、重复样本和错误强化,最后模型学到“现场噪声”,不是学到恢复能力。

版本比较要避免三种假象

第一种是假象是数据污染:长尾样本进了训练,又被当作 hard set 评测。第二种是假象是场景记忆:模型记住固定桌面和固定相机,而不是学会任务。第三种是假象是平均数掩盖安全:总体成功率提高,但人工接管和近碰撞也提高。

因此每次版本比较都要写清楚:

记录项 为什么
策略版本和训练数据截止点 防止训练/评测污染
机器人、相机、控制器版本 防止硬件或软件变更被当成模型提升
reset 规则和人工介入规则 防止评测员习惯影响结果
随机种子、场景桶、任务桶 防止只抽到容易场景
置信区间或最小试次数 防止少量试验被过度解读

VLA 实机评测很贵,但贵不能成为只报漂亮数字的理由。越贵的评测,越要让每一次试验产出可复盘信息。

数据闭环的最小流程

一个务实的闭环可以这样启动:

  1. 固定一套主 benchmark,覆盖核心任务和正常场景。
  2. 建一套 hard set,专门放失败、near-failure、安全事件和长尾场景。
  3. 每次部署都记录 episode metadata、阶段标签、人工接管和控制器拒绝。
  4. 每周或每轮训练前筛选 Ft\mathcal F_t,分流到训练、hard set、replay 和安全集。
  5. 新模型先过 offline/replay,再过仿真/实验室,最后小流量真实部署。
  6. 复盘时按失败桶写结论,而不是只看总成功率。

这套流程不花哨,但能防止一个很真实的问题:团队明明每天都在收数据,模型却没有朝部署痛点进化。

VLA 评测与数据引擎可以按这条链路收口:benchmark 负责把能力边界暴露出来,数据引擎负责把失败变成资产,hard set 负责防止遗忘和过拟合,仿真/实验室/真实部署负责分层验证。只有这四件事接上,VLA 才不是“演示能动”,而是能在真实任务里持续变稳。

继续读相邻内容时,可以接 VLA 数据与策略学习VLA 动作分块、层级策略与潜在技能Sim2Real 与具身数据引擎世界模型评测与失效模式

外部精读

  • 本页来源台账:记录 benchmark、数据引擎、图片使用和中文讲法边界。
  • Open X-Embodiment / RT-X:理解跨机器人数据和评测为什么首先是接口对齐问题。
  • DROID:看真实机器人 in-the-wild 数据采集如何覆盖多场景、多任务和长轨迹。
  • BridgeData V2:理解多环境机器人数据集如何服务离线策略学习。
  • RoboTwin 2.0:看仿真数据生成、双臂 benchmark 和 domain randomization 的评测边界。
  • SimplerEnv:理解 real-to-sim 策略评测如何和真实机器人表现建立相关性。
  • π0.5:看 open-world VLA 如何组织真实家庭评测、环境扩展和数据消融。
  • Datawhale Every-Embodied:学习具身智能中文教程如何把数据、仿真、复现和部署串成路径;事实 claim 仍回到论文和项目页。
  • Title: VLM/VLA:评测与数据引擎
  • Author: Charles
  • Created at : 2026-02-13 09:00:00
  • Updated at : 2026-02-13 09:00:00
  • Link: https://charles2530.github.io/2026/02/13/ai-files-vla-benchmarks-and-data-engines/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments