Benckmark 具身智能的考场
榜单、基准与数据集:一份关于「怎么证明机器人真的会干活」的拆解手册
导言
2026 年,具身智能领域最稀缺的东西不是模型,也不是数据,而是一个大家都认的分数。
一个大语言模型说自己强,你可以打开聊天窗口试三句话。一个机器人模型说自己强,你得有一台机器人、一个桌面、一堆物体、一个会遥操作的人,以及一整天时间——然后你测出来的结果,别人还复现不了。
这就是为什么这个领域在过去两年里长出了几十个榜单和基准。它们各自解决了一部分问题,也各自带来了新的问题:有人把仿真刷到 98%,一换物体就掉到 0;有人在真机榜上拿了第一,两个月后因为数据被操纵而被除名;有的数据集号称一百万条轨迹,但没人验证过其中一条是否成功。
这本书要做的,是把这些数字背后的机制拆开给你看。不是罗列排行榜,而是回答三个问题:
- 榜单向谁负责?——它的分数是实验室自证、同行众包,还是第三方盲测。这决定了这个数字能不能拿来当结论。
- 基准在测什么?——任务集、初始状态分布、成功判据、回合预算,这四个选择合起来就是一个关于「什么叫会做」的定义。定义错了,测出来的就不是能力。
- 数据集里有什么?——规模、本体、模态、频率、许可。这五项决定了你能用它训练出什么,以及你不能用它证明什么。
想快速判断一个模型是否可信:读 1.4 与 2.4。想知道某个数据集能不能用:读 3.7 的对照表。准备自己跑一次评测:直接跳到第四章。准备自己造一个榜:第五章有完整的设计模板与自检表。
全书出现的数字都标注了口径与时间。凡是我无法核实的,我会明确写「据公开材料」;凡是不同来源互相冲突的,我会把冲突本身写出来——因为在这个领域,数字的口径差异往往比数字本身更有信息量。
第一章
01谁来给机器人打分
一个模型在论文里写「成功率 97%」,和在别人的实验室里、用别人的物体、由不知情的人打分得到 97%,是两件完全不同的事。榜单的存在,就是为了把前者变成后者。这一章讲清楚:这件事难在哪,已经有哪些人做成了,以及它们的分数各自能信到什么程度。
1.1为什么机器人没有 ImageNet 式的排行榜
计算机视觉的评测曾经也很混乱,直到 ImageNet 出现:一个固定数据集、一个固定指标(top-5 错误率)、一个公开服务器。任何人上传预测结果,服务器返回分数,排行榜自动更新。这套机制之所以成立,靠三个前提:
- 被测对象是纯函数。给一张图,输出一个标签。同样的输入永远得到同样的输出,没有随机性、没有硬件差异、没有物理世界。
- 测试集可以藏起来。一万张图放在服务器上,谁也不知道标签。想作弊只能靠猜。
- 评测成本接近零。一次推理几毫秒,评测一万张图不到一分钟。
具身智能把这三条全部打破了。
| 前提 | 视觉任务 | 机器人操作 |
|---|---|---|
| 被测对象 | 确定性函数 | 随机系统:同一策略、同一初始状态,两次执行结果可能不同 |
| 测试集 | 可以完整隐藏 | 任务与环境无法隐藏,只能隐藏「具体实例」或「评分脚本」 |
| 成本 | 毫秒级、可无限重复 | 一次真机回合数十秒到数分钟,还需复位、换物、人工评分 |
| 可比性 | 输入分布固定 | 硬件、相机、光照、桌面高度、夹爪型号全都影响结果 |
| 失败模式 | 错就是错 | 「差一点成功」和「完全没动」在二元指标下同分 |
这五条差异解释了为什么机器人榜单不可能只有一张。每张榜都是在某几条上做了妥协。
于是这个领域长出了一种很特殊的评测生态:不是一张榜,而是一层层的榜。最底下是仿真基准(便宜、可复现、但可能不代表真机),中间是集中式真机榜(真实、但只有一家实验室的场景),最上面是分布式众包榜(多样、但难控制)。越往上越接近真相,也越贵、越慢、越难维持。
1.2榜单的四种形态
把目前全球主要的具身智能榜单按「谁来判定」分类,只有四种。理解这四种的差别,比记住任何一张榜的具体排名都有用。
| 形态 | 代表 | 判定方式 | 可信度来源 | 主要弱点 |
|---|---|---|---|---|
| 仿真基准 | LIBERO、CALVIN、RoboTwin 2.0、RoboCasa365、BEHAVIOR-1K | 脚本自动判定成功 | 可复现、可审计 | 仿真—真机鸿沟;易记忆化 |
| 集中式真机榜 | RoboChallenge Table30、RoboDojo 真机 | 统一硬件 + 人工评分点 | 硬件、光照、复位全统一 | 单一场景;提交方有动机针对性调优 |
| 分布式众包 | RoboArena | 双盲成对比较 + Elo | 多样环境 + 匿名 + 开源算法 | 评测者质量参差;可被刷 |
| 双轨(仿真 + 真机) | RoboDojo、BEHAVIOR-1K 挑战赛 | 仿真筛能力,真机定名次 | 两套分数的一致性本身可被度量 | 成本翻倍;两套分数可能给出不同排序 |
另有一类专门评「世界模型」的榜,如 WorldArena。它不评策略,评的是「生成的未来画面能不能用来训练或评估策略」,因此单独放在 1.3 的最后一个讲。
1.3八个榜单逐个解剖
以下按「最能代表一种方法论」排序,不按热度。每个榜单给四件事:机制、关键数字、解决了什么、软肋在哪。
一、RoboArena:把评测搬到七个实验室
RoboArena 的思路是承认「没法标准化」,于是干脆不标准化。它不规定任务、不规定环境,只规定一件事:你必须同时跑两个策略,且不知道自己在跑哪个。评测者在自己的实验室、用自己的物体、自己想任务,唯二的约束是双盲与成对比较。所有成对结果汇总后用 Elo 排序。
- 论文
- CoRL 2025 Oral(arXiv:2506.18123),Berkeley / Stanford / NVIDIA 等联合
- 硬件
- DROID 平台(Franka Panda),全球 7 家学术机构
- 规模
- 600+ 次真机成对回合,7 个通用策略
- 算法
- 双盲 A/B + 动态 Elo 评级
- 关键结论
- 众包排序比集中式评测更接近「真实能力排序」,且更抗单点故障
这套机制的聪明之处在于:它把「多样性」变成了评测的一部分,而不是需要被消除的噪声。传统榜单要先统一一切才能比较,RoboArena 反过来——正因为每个实验室的场景都不同,一个策略要在榜上靠前,就必须在它没见过的环境里也能干活。
2026 年 6 月,一家中国公司的模型 Spirit v1.6 以 1,924 分登上 RoboArena 第一,超过 NVIDIA Cosmos3-Nano-Policy(1,881)与 DreamZero(1,763),被大量媒体报道为「中国具身模型首次登顶」。6 月 14 日,平台发布公告:追溯调查发现评测数据存在被操纵痕迹,移除可疑数据并更新排名,该模型从官方榜单中消失。
随后平台修改规则:评测完成率低于 20% 的账号标记为可疑;只有无相关利益的第三方才可自愿参与评测。这两条规则非常具体,说明被利用的漏洞也很具体——注册多个账号、只提交自己赢的那几次对比、用关联方充当评测者。
这件事的价值不在于谁对谁错,而在于它证明了:任何依赖自愿提交的榜单,其安全性上限等于它最弱的那条提交规则。Elo 算法本身没问题,问题在输入。
软肋:Elo 分数不能跨时间比较(榜单在演化,题目池在变);评测者的水平差异会被平均掉,但不会被消除;最关键的是,双盲只能防「知道自己在测谁」,防不了「提前知道这批题大概长什么样」。
二、RoboChallenge Table30:把真机评测做成有评分点的考试
如果 RoboArena 是「自由发挥的联考」,RoboChallenge 就是「统一命题的高考」。它在固定工位上布置 30 个真实任务,用固定的相机、固定的光照、固定的复位流程,让提交方把模型跑在真实机器人上,由人工按评分点打分。
- 规模
- 30 个任务 · 32,980 个回合 · 57 个模型(2026 年 5 月 v2)
- 硬件
- ARX5、UR5、ALOHA、DOS-W1 等多平台,按任务分配
- 指标
- 成功率(Success Rate)+ 过程分(Score),部分任务采用 5+5 两段评分点
- 任务标签
- repeated / precise3d / softbody / temporal / multiview / bimanual / classification
它的关键设计是评分点(grading point)。以「开台灯」为例:把夹爪移到开关旁 5 分,按下开关点亮 5 分。这样即使任务最终失败,也能看出模型是「没找到开关」还是「找到了但按不动」。二元成功率会把这两种失败合并成一个 0,而这恰恰是研发最需要区分的两件事。
2026 年 5 月 20 日的榜单上,星动纪元的 Era0 以成功率 64.33%、过程分 76.34 双第一,并在 30 项任务中的 17 项拿到单项第一。值得注意的是分组数据:双臂任务 72.5%、双手任务 80%、柔性物体 43.3%(第二名 16.7%)、多视角 68%、长时序 63.3%。这些分项比总分有信息量得多——它告诉你这个模型的强项在协调与记忆,弱项在形变物体。
软肋:30 个任务是公开的。公开意味着可以被针对性训练,而「针对 30 个任务调优」和「获得通用能力」在短期内是两条路。平台的对策是版本迭代(v1 → v2 重构任务、评测、系统),但每次换题都会让历史分数失去可比性。
三、RoboDojo:一场五科全考
RoboDojo 由香港大学 MMLab 牵头、近 20 家机构参与,2026 年 7 月发布首版。它最值得学的地方是先把能力拆成维度,再按维度出题,而不是先凑一堆任务再去归纳能力。
- 构成
- 42 个仿真任务 + 18 个真机任务(3 种双臂平台 × 6 任务)
- 五维
- 泛化、记忆、精细操作、长程执行、开放语义理解
- 真机流程
- 统一硬件、光照、桌面布局、复位协议;每次试验由 3 名评审双盲打分
- 基座
- XPolicyLab 统一策略接口,已集成 30+ 个策略,「接入一次,多处评测」
RoboDojo 的仿真任务不是把抓放换个花样:随机杂物最多 25 件(泛化)、传送带上的物体需要记住之前出现过什么(记忆)、试管插入要求亚毫米级对齐(精细)、多步骤任务让误差逐级累积(长程)。这种「一个维度配一类考题」的做法,比 LIBERO 那种「四个套件声称测四种能力、实际测的是同一种记忆」要诚实得多。
软肋:42 + 18 的规模仍然有限,五维之间并非完全正交(长程任务必然包含精细操作);真机部分每家 6 个任务,单任务样本量决定了分项分数误差很大。
四、RoboCasa365:把「厨房」做成一个可控变量
RoboCasa365 是 UT Austin 团队的作品(ICLR 2026),核心是把家庭移动操作拆成可组合的三个轴:任务(365 个)、场景(2,500 个厨房,由 50 种布局 × 50 种风格生成)、数据(600+ 小时人类演示 + 1,600+ 小时合成演示)。
它的榜单设计有一个细节值得单独说:50 个目标任务被分成三个 split——Atomic-Seen(18 个,原子技能,预训练见过)、Composite-Seen(16 个,组合任务,预训练见过)、Composite-Unseen(16 个,组合任务,预训练从未见过,零样本)。这个三分法直接回答了「泛化到底指什么」:不是「换个物体还算不算会」,而是「把学过的原子技能重新组合,还能不能做」。
| # | 模型 | Overall | Atomic-Seen | Composite-Seen | Composite-Unseen |
|---|---|---|---|---|---|
| 1 | Awomo-0.5I | 64.4 | 86.5% | 58.8% | 45.2% |
| 2 | Awomo-0.5V | 62.5 | 85.0% | 60.4% | 39.4% |
| 3 | Axiom-0 | 61.6 | 86.5% | 59.4% | 35.8% |
| 5 | Xiaomi-Robotics-1 | 57.4 | 80.2% | 57.1% | 32.1% |
| 12 | GR00T N1.5 | 23.9 | 50.7% | 14.8% | 2.7% |
| 16 | π0.5 | 16.9 | 39.6% | 7.1% | 1.2% |
| 17 | π0 | 14.8 | 34.6% | 6.1% | 1.1% |
| 18 | Diffusion Policy | 6.1 | 15.7% | 0.2% | 1.3% |
数据来自 RoboCasa365 官方榜(2026-10-13 更新,共 18 个模型;此处节选 8 个)。读这张表要看的是列与列之间的落差:几乎每个模型在 Composite-Unseen 上都会掉一大截,包括第一名(58.8% → 45.2%)。这个落差就是「组合泛化」的当前价格。
软肋:全是仿真。厨房场景做得再逼真,也不包含真实厨房里的油污、重量、反光和人的干扰。RoboCasa365 自己也在论文里承认,它测的是「在可控环境下的学习效率」,不是「上真机能不能行」。
五、BEHAVIOR-1K Challenge:用人类需求定义任务
BEHAVIOR-1K 的任务不是研究者想出来的,是问卷问出来的——一千个「你希望机器人帮你做什么家务」的答案,变成一千个可仿真的活动(用 BDDL 谓词描述目标状态)。2025 年的挑战赛选了其中 50 个,每个任务 200 条遥操作演示,共 10,000 条、超过 1,200 小时。
它的指标选择特别值得讨论:排名不用成功率,用 q-score(部分目标完成度)。原因很直接——这些任务平均要跑 6.6 分钟,包含移动、双臂、开关容器、操作液体与布料。一个策略可能正确地拿了三个罐子、走到厨房、打开柜子,最后在放进去时失败。如果只看二元成功,这一次是 0,但它明显比「一开始就没找到罐子」强得多。
这里藏着一个几乎所有报道都读错的数字。q-score 0.26 不意味着「解决了四分之一的任务」。冠军的完整任务成功率只有 11—12%,q-score 之所以更高,是因为它把「完成了部分目标」也计入。这两个数字放在一起,才是这个基准真实的地形:模型能推进,但很难收尾。
更有意思的是两个获奖方案的技术选择:冠军直接把「开放式语言条件」换成了 50 个可学习的任务嵌入(因为这个基准的任务集是固定的),并加了「System 2 阶段追踪」来解决非马尔可夫状态(比如「已经洗过一遍的帽子」和「没洗过的帽子」在画面上几乎一样)。这说明一件事:在固定任务集的基准上,最优解往往包含「利用任务集固定」这件事本身——这既是工程智慧,也是基准设计的漏洞。
六、LIBERO 系:一个基准如何从标准变成靶子
LIBERO 是这个领域事实上的「默认考卷」:130 个任务分四个套件(Spatial / Object / Goal / Long),每个任务约 50 条人类演示,共 6,500 条。它便宜、稳定、易复现,因此在 2024—2026 年被几乎所有 VLA 论文引用。
然后它饱和了。2026 年 10 月的数字是:Cosmos Policy 98.5、LingBot-VA 98.5、Xiaomi-Robotics-0 98.7、OpenVLA-OFT 97.1、π0.5 96.9。当所有方法的差距都落在 1—2 分之内,这个基准就失去了区分能力。
更严重的是两个后续研究给出的诊断:
| 研究 | 扰动方式 | 结果 | 结论 |
|---|---|---|---|
| LIBERO-Plus arXiv:2510.13626 | 7 个轴:布局、相机、机器人初始位姿、语言、光照、背景、传感器噪声;共 10,030 个变体 | 整体从 ~95% 掉到 ~30—70%;相机轴最狠(97.6 → 57.9),机器人初始状态次之(→30.6) | 模型学到的是「这个视角下的这条轨迹」 |
| LIBERO-PRO arXiv:2510.03827 | 4 个正交轴:物体属性替换、初始状态位移、指令改写、环境替换 | 标准版 90%+ 的模型,在位置与任务扰动下崩塌到 0.0% | 不是「退化」,是「根本没在解任务」 |
LIBERO-PRO 给出的失败证据非常具体,值得记住:把被操作物体换成另一个物体后,模型仍然去抓原来那个物体的位置;把语言指令的 token 打乱,输出完全不变。后一条说明:在很多模型里,语言根本没有被当作语言处理,它只是一个「触发某个轨迹模板」的开关。
「LIBERO 90% 崩塌到 0」不等于「这些模型一无是处」。它准确的含义是:在训练分布内,这些模型能完成 130 个任务的 90%;一旦离开这个分布,它们的成功率为 0。如果你的部署场景和 LIBERO 的桌面高度、相机角度、物体摆放都一致,这个模型很好用;否则它不会。
七、RoboTwin 2.0:双臂 + 强随机化
50 个双臂任务、5 种本体、10 万+ 轨迹、731 个物体,以及两套评测设定:Clean(固定布局)与 Random(五轴随机化:物体位姿、桌面高度、背景纹理、光照、相机视角)。这个双设定本身就是一种诊断工具:两者的差值,就是这个模型对视觉扰动的敏感度。
2026 年 10 月的榜单已经变成「世界动作模型(WAM)的独角戏」:Next Forcing 94.1/93.5、LingBot-VA 92.9/91.5、Fast-WAM 91.9/91.8,而 π0.5 是 82.7/76.8、X-VLA 72.9/72.8。两个结构性现象:差距随任务时长拉大(单步任务领先 3.2 分,三步任务领先 8—9 分),随机化下差距也拉大(π0.5 掉 5.9 分,头部 WAM 掉不到 1.5 分)。
后一条提供了一个很有用的解释:视频预训练先把「视觉世界长什么样」学进去了,所以换背景、换光照时它不需要重新适应。这是「用更多模态换鲁棒性」的直接证据。
八、WorldArena:给世界模型建榜
世界模型是具身智能里增长最快、也最难评的一类:它输出的不是动作,而是「未来若干帧的画面」。怎么打分?WorldArena 由清华牵头、联合普林斯顿、新加坡国立、北大等 8 家机构,用 6 个维度、16 项指标来评:视觉质量、运动质量、内容一致性、物理遵循性、3D 准确性、可控性。
2026 年 4 月的官方榜:ABot-PhysWorld(阿里)62.63、GigaWorld-1 62.34、Ctrl-World(清华 × 斯坦福)59.98、Wan2.6 59.80、CogVideoX 58.79、Veo3.1 57.77。
但真正决定这个榜价值的,是它额外测的一件事:用世界模型当「虚拟考官」时,它给出的分数和真机分数有多一致。Ctrl-World 在这项上的 Pearson 相关系数是 0.986,而 Cosmos-Predict 2.5 只有 0.483。这个数字比任何视觉质量分都重要——它意味着前者的仿真结果可以替代一部分真机测试,后者不能。
看世界模型榜时,先看「策略评估一致性」,再看「视觉质量」。一个画面漂亮但相关性 0.48 的世界模型,只能用来做视频素材;一个画面一般但相关性 0.98 的,可以用来做策略筛选。前者省不了你的真机时间,后者能。
1.4可信度从哪里来
把上面八个榜放在一起看,会发现「可信」其实可以拆成五个独立的来源。任何一个榜,只要缺了其中三项以上,它的排名就只适合当参考。
| 来源 | 具体做法 | 挡住了什么 | 谁做得最好 |
|---|---|---|---|
| 硬件标准化 | 同一型号机器人、同一相机、同一桌面高度、同一光照、脚本化复位 | 「我的机器人更好」被误读成「我的模型更好」 | RoboChallenge、DROID、RoboDojo 真机 |
| 盲评 | 评测者不知道自己在跑哪个策略;多人独立打分 | 期待效应、品牌偏好、熟人加分 | RoboArena(双盲)、RoboDojo(三人盲评) |
| 统计量 | 报告回合数、置信区间、每任务样本量 | 把噪声当差距 | BEHAVIOR-1K(私测 10 实例 × 10 episodes)、RoboCasa365 |
| 私测集 | 公开验证集 + 不公开的测试实例;提交后才知道分数 | 针对测试集调参 | BEHAVIOR-1K(public / private 各 10 实例) |
| 可复现基建 | 代码、权重、评测脚本、容器、日志全开源 | 「我复现不出来」变成「你不诚实」 | RoboArena、RoboDojo(XPolicyLab)、RoboTwin |
还有一个隐含的第六项:任务池的更新机制。任何固定任务集都会在 18 个月内被刷满。区别在于,有的榜选择「加难度」(LIBERO → LIBERO-Plus/PRO),有的选择「换题」(RoboChallenge v1 → v2),有的选择「加维度」(RoboDojo)。三种做法的代价不同:加难度保留历史可比性但上限有限;换题解决饱和但让历史分数作废;加维度最贵,但最能反映真实能力结构。
1.5开源模型的四条路线
榜单回答「谁强」,但不回答「我能用哪个」。后者取决于三件榜单不写的事:权重是否真的开放、许可是否允许你的用法、上手成本是多少。2026 年的开源模型大致分四条路线,每条路线的取舍完全不同。
| 路线 | 代表项目 | 技术形态 | 适合谁 |
|---|---|---|---|
| A. VLM 主干 + 动作专家 | openpi(π0 / π0.5)、GR00T N1.7、OpenVLA-OFT、RDT-1B | 视觉语言模型做感知与语义,独立动作专家出动作块(flow matching 或扩散) | 有 GPU、想微调到自家任务;生态与文档最全 |
| B. 小体量高效 | SmolVLA(450M)、X-VLA(0.9B) | 压缩主干 + 轻动作头;异步推理,CPU 也能跑 | 单卡、消费级显卡、需要低延迟部署 |
| C. 世界模型 / 视频先验 | Cosmos 3(4/16/64B)、GigaWorld、Ctrl-World | 先学「世界怎么演化」,再由视频先验导出动作或生成训练数据 | 要做数据合成、策略预筛,不缺算力 |
| D. 数据与工具链 | LeRobot、RoboTwin 2.0、XPolicyLab、Genie Sim | 不提供策略,提供格式、环境、接口与评测 | 所有人。这一层才是真正的公共基础设施 |
选型时先看这三个字段
| 字段 | 为什么关键 | 常见陷阱 |
|---|---|---|
| 权重许可 | 代码 Apache 2.0 不等于权重可商用。权重常另附「仅研究」或自定义许可 | TimesFM 类项目:代码开源、权重非商用;Moirai 类项目:CC BY-NC |
| 动作空间 | 7 维末端位姿 / 14 维双臂关节 / 关节+夹爪,直接决定能不能接你的机器人 | 文档写「支持多种本体」,实际只验证过一种 |
| 训练数据来源 | 决定它能做什么、不能做什么(见 3.8) | 用 OXE 训的模型被宣传成「灵巧操作」 |
第一次上手,从 路线 D + 路线 B 开始:用 LeRobot 的数据格式和训练脚本,配一个 450M 级的策略。跑通之后,再换 A 路线的大模型。反过来做(先上 3B+ 的模型)最常见的结局是:环境装了两周,显存不够,数据集格式不对,最后什么也没跑通。
另外要区分「开源」的三种程度,很多讨论把它们混为一谈:
- 代码开源、权重不开源:只能读,不能跑。对复现没有帮助。
- 权重开放、数据不开源:能跑、能微调,但无法审计它的能力边界。
- 权重 + 数据 + 评测脚本全开:这才是可复现的完整单元,也是 RoboTwin、LeRobot 这类项目真正的价值所在。
1.6第一名不是结论
这一章最后要给一个不太受欢迎的判断:在 2026 年,任何单一榜单的第一名,都不足以支撑「这个模型最强」的结论。理由有三个,每一个都能从上面的数字里读出来。
理由一:榜与榜之间不守恒
RoboDojo 的论文里明确写了一个现象:部分在仿真榜上排名靠前的策略,在真机评测中并未保持同等优势。RoboCasa365 上 GR00T N1.5 是 23.9、π0.5 是 16.9,但在 LIBERO 上 π0.5 是 96.9、GR00T N1.7 是 97.0——两个榜给出的相对排序意义完全不同,因为它们测的是不同的东西(一个是多任务长期组合,一个是短程单任务)。
理由二:分差常常落在误差里
BEHAVIOR-1K 的冠军 0.2599 与亚军 0.2514,差 0.0085。以 50 个任务、每任务 10 个 episodes 的规模算,这个差距远在噪声之内。RoboTwin 的 78.2 与 77.9 同理(单任务 100 次试验的 95% 置信区间约 ±9 个百分点)。行业里大量「刷新 SOTA」的声明,实际含义是「和之前的方法并列」。
理由三:榜单可以被"合法地"针对性优化
BEHAVIOR 冠军把语言条件换成 50 个任务嵌入,是一个完全正当的工程选择——但它也说明,在固定任务集的榜上,最高分的方案未必是「最通用」的方案,而可能是「最懂这张卷子」的方案。这不是作弊,这是基准设计的必然结果。第五章会把这条展开成一个设计原则。
1 · 2 · 3 · 4 · 5
第二章
02把「会做」变成可测量的数
一个 benchmark 不是一堆任务,而是一个关于「什么叫会做」的可证伪主张。你选了哪些任务、初始状态怎么分布、什么算成功、给多少步——这四个选择合起来,就是这个主张的全部内容。这一章拆开这四个选择,再拆开指标,最后回答一个更基本的问题:为什么必须这样定义。
2.1benchmark 的四件套
不管包装成什么样,所有机器人 benchmark 都由四样东西构成。缺一样,它就不是 benchmark,只是 demo 集合。
这四件套里,最容易被忽视的是第④项。同一个模型、同一批任务,把最大步数从 300 放宽到 600,成功率可能涨 15 个百分点。所以「某模型在 X 上达到 92%」这句话,如果不带步数上限,严格来说是不完整的。
2.2为什么这样定义:benchmark 是一个可证伪的能力主张
「为什么要如此定义 benchmark」这个问题,最好的回答方式是把每个设计选择还原成它背后的假设,再看假设不成立时会发生什么。
| 设计选择 | 它隐含的假设 | 假设不成立时 | 现实中的例子 |
|---|---|---|---|
| 任务粒度 | 「完成这个短任务」能代表「具备这项能力」 | 模型学会了短程轨迹,但不会串联 | LIBERO 96% → BEHAVIOR 26 q-score;同一批模型换个粒度,名次全变 |
| 固定布局 | 物体位置不影响能力评价 | 模型记住位置而非任务 | LIBERO-PRO:换物体后仍抓原位,成功率 0.0% |
| 单一本体 | 策略与本体解耦 | 换臂长、换夹爪就失效 | DROID 只有 Franka;RoboDojo 三种双臂平台分数差异显著 |
| 二元成功 | 「差一点」和「没动」等价 | 指标高估能力,掩盖失败结构 | BEHAVIOR q-score 0.26 vs 二元 11%;MetaFine 称二元指标高估至多 70% |
| 公开任务集 | 提交方不会针对题目调优 | 基准变成「可备考的考试」 | BEHAVIOR 冠军用 50 个任务嵌入替代语言条件 |
| 固定回合数 | 50 次试验足以分辨差距 | 把噪声读成进步 | 见 2.4:25 次试验只能分辨 40 个百分点 |
把这张表读一遍,会发现一个共同结构:每个简化都是为了让评测可行,每个简化都在某个维度上引入了偏差。所以「为什么要这样定义」的诚实回答是——不是为了准确,而是为了在成本约束下,让偏差落在已知的方向上。
这也解释了为什么这个领域需要很多个基准而不是一个:不是大家不愿意统一,而是没有任何单一简化能同时适用于所有问题。你要测「学得快」,就得允许少样本;你要测「够鲁棒」,就得加大扰动;你要测「能干活」,就得上真机长任务。三件事对基准的要求互相冲突。
它针对的四个具体问题
- 不可比。2023 年之前,每篇论文用自己的桌子、自己的相机、自己的成功判定。A 说 90%,B 说 85%,无法判断谁强。基准的第一功能是制造一个共同参照系。
- 不可复现。复现一个真机实验需要硬件、场景、复位流程、评分标准。基准把这些打包成可下载的东西(仿真环境、演示数据、评测脚本),把复现成本从「一个月」降到「一天」。
- 指标与能力脱节。「成功率」这个名字暗示它测的是能力,但实际测的往往是「在训练分布内的匹配度」。基准的设计(尤其是扰动轴)决定了这个脱节有多严重。
- 评测成本。真机评测一次几十到几百美元,仿真一次几美分。基准必须让「大部分筛选在便宜的一侧完成」,否则没人用。
benchmark 的本质是用有限成本换取可比较性。它必然有偏,问题只在于偏差是否被写明。一个好的 benchmark 会在论文里主动写出「我们不测什么」——这句话比「我们测什么」更能说明它的适用范围。
2.3数据 benchmark:把数据集本身当被测对象
上面讲的是「用数据测模型」。还有一类 benchmark 常被忽略,但在这个领域同样关键:用指标测数据集。它回答的不是「模型行不行」,而是「这份数据值不值得拿来训练」。
为什么需要它?因为数据集的「规模」几乎是一个无信息量的数字。OXE 有 140 万条轨迹,AgiBot World 有 100 万条,但前者的总时长只有后者的十分之一量级——同样的「百万条」,一条 3 秒和一条 30 秒不是一回事。更关键的是,OXE 聚合时没有做人工验证,而 AgiBot World 每一条都过了人工质检。两个数字放在一起比大小,没有意义。
我建议用七项指标来给一个具身数据集做体检(这是一套工程口径,不是某个官方标准):
| 指标 | 怎么算 | 不合格的样子 | 谁在这项上做得好 |
|---|---|---|---|
| 成功验证率 | 被人工或自动判定为「真完成任务」的轨迹 / 总轨迹 | 轨迹跑完了但物体没到位;无标注无法判断 | AgiBot World(三级质检)、DROID(人工筛选成功回合) |
| 语言对齐率 | 指令能唯一确定任务的比例(而非「多任务通用标签」) | 同一句「把东西放好」对应十种操作 | BridgeData V2(同场景多任务,强制语言条件化) |
| 动作质量 | 加加速度(jerk)分布、静止帧占比、异常跳变率 | 大量静止帧;动作锯齿;位置跳变 | 各家的预处理管线(静止帧清理、异常筛查) |
| 模态完整率 | depth / 触觉 / 本体状态的有效帧占比与时间戳漂移 | 深度图大面积空洞;相机与关节不同步 | ARIO(时间戳同步机制)、RH20T(力/触觉同步) |
| 分布覆盖度 | 场景类别、物体类别、技能类别的熵 | 90% 数据来自同一个厨房 | OXE(22 本体 60 数据集)、DROID(564 场景) |
| 许可清晰度 | 代码许可、权重许可、数据许可是否分别写明 | 只有一句「仅供研究」 | DROID / BridgeData V2(CC BY 4.0);AgiBot(CC BY-NC-SA,商用需另谈) |
| 采集可复现性 | 硬件 BOM、采集脚本、质检规则是否公开 | 只有数据,不知道是怎么采的 | DROID(硬件 + 代码)、BridgeData V2($4k 清单) |
这套指标的价值在于:它能把「这个数据集能不能用」变成一个可回答的问题。举例来说,如果你的目标是训练一个跨本体策略,那么第 5 项(分布覆盖度)权重最高,OXE 是首选,AgiBot World 的同构优势反而变成劣势;如果你的目标是工业级可靠性,第 1 项(成功验证率)权重最高,AgiBot World 更合适,OXE 需要你自己补验证。
2.4指标谱系与统计功效
六类指标,各自奖励什么、掩盖什么
| 指标 | 定义 | 奖励了什么 | 掩盖了什么 |
|---|---|---|---|
| 成功率 SR | 成功回合 / 总回合 | 能稳定收尾 | 过程质量;「差一点」与「没动」等价 |
| 过程分 Score | 按评分点累加(如 5+5 两段) | 阶段性正确 | 评分点设计者的偏好;可能奖励「看起来对」 |
| q-score | 目标谓词满足比例(部分完成度) | 长任务的推进能力 | 把「推进很多但永远收不了尾」算成高分 |
| 平均任务长度 | CALVIN 用:连续完成多少条指令 | 长程连贯性 | 单步质量;失败后的恢复能力 |
| Elo / Bradley-Terry | 成对比较的胜负推导相对强度 | 相对排序,不需要绝对判据 | 绝对水平;不可跨期比较 |
| 一致性相关系数 | 仿真分与真机分的 Pearson / Spearman | 仿真作为「代理考官」的可信度 | 样本量小时极不稳定 |
选指标时有一个几乎通用的原则:如果你的模型已经能到 85% 以上,就换指标,不要继续在同一指标上加小数点。85% 以上的区间里,二元成功率的方差主要来自评测设置,而不是模型差异。
统计功效:为什么 25 次试验说明不了问题
这是全书最应该被记住的一张表。假设真实成功率在 50% 附近,双侧 α = 0.05,检验功效 80%,两组样本量相同:
| 每任务回合数 n | 能分辨的最小差距 | 单点 95% 置信区间半宽 | 这意味着 |
|---|---|---|---|
| 25 | ≈ 40 个百分点 | ± 19.6 | 72% 与 80% 的差异完全在噪声内,论文里这类比较无效 |
| 100 | ≈ 20 个百分点 | ± 9.8 | RoboTwin 单任务 100 次试验的经典区间,所以 ±9pp |
| 200 | ≈ 14 个百分点 | ± 6.9 | RoboCasa365 每任务 20 episodes 的设定,误差远大于此 |
| 440 | ≈ 9.4 个百分点 | ± 4.7 | 要跨榜比较,至少要这个量级 |
| 620 | ≈ 8.0 个百分点 | ± 3.9 | 「提高 8 个点」的声明,需要每组约 600 次才能成立 |
估算公式:n ≈ 3.92 / d²(p = 0.5 时)。置信区间用正态近似;p 接近 0 或 1 时要用 Wilson 区间。
两个必须知道的细节:
- 「0%」不是 0。100 次试验里 0 次成功,Wilson 95% 区间的上界是 3.7%。所以「成功率 0.0%」的准确读法是「真实成功率不高于 3.7%」。LIBERO-PRO 说「崩塌到 0.0%」,意思是「几乎确定不会做」,而不是「数学上的零」。
- 配对设计能省一大半样本。如果两个策略在同一批初始状态上跑(paired),可以消除「题目难度」这个方差来源,通常能把所需样本量降低 30—50%。这是所有自制评测里最划算的一个工程选择。
有分析指出,真机 VLA 评测里相当一部分论文报告的回合数不超过 25 次,且不附置信区间。在这个样本量下,榜首与第三名的差距通常小于误差本身。看到没有 n 和 CI 的成功率表格,正确的处理方式是当作定性描述,不当作定量结论。
2.52025—2026 上榜项目档案
下面这十二个模型,是过去一年在公开榜上出现过、且能被交叉验证的代表。列它们不是为了排名,而是为了看清「哪类设计在哪类榜上占优」。
| 模型 / 机构 | 规模 | 榜上成绩(口径) | 值得注意的设计 |
|---|---|---|---|
| π0.5 Physical Intelligence | 3.6B | LIBERO 96.9;BEHAVIOR 基线;RoboCasa365 16.9 | VLM + 独立 flow-matching 动作专家;知识隔离防遗忘。它的特点是「哪都能跑、哪都不第一」——这恰恰说明通用与专精的取舍 |
| GR00T N1.5 / N1.7 NVIDIA | 3B | LIBERO 97.0(N1.7);RoboCasa365 23.9(N1.5)/ 21.9(N1.6) | Cosmos-Reason2 主干 + DiT 动作头。N1.6 在 RoboCasa365 上比 N1.5 更低,是「新版本不等于新 SOTA」的现成例子 |
| X-VLA 上海 AI Lab 等 | 0.9B | LIBERO 98.1;SimplerEnv WidowX 95.8;RoboTwin 72.9/72.8 | 软提示跨本体,0.9B 打平 8 倍体量。它在小体量榜(LIBERO)极强,在长程榜(RoboTwin)明显落后,是「规模不是唯一变量」的样本 |
| OpenVLA-OFT Stanford 等 | 7.5B | LIBERO 97.1;LIBERO-Plus 69.6(pi0 为 53.6) | 并行解码 + 动作块 + L1 回归 + FiLM,把吞吐提升 25—50 倍。它的价值主要在「工程提速」而非「能力上限」 |
| DM0.5 原力灵机 | 4B+0.68B | RoboChallenge Table30 v2 40.67%;LIBERO 99.0;RoboDojo 登顶 | 双系统:60 秒原生记忆 + 具身思维链,延迟压到 57ms。在「需要记住刚才发生了什么」的任务上优势明显 |
| Era0 星动纪元 | — | Table30 64.33% SR / 76.34 分(2026-05),30 项中 17 项第一 | 分项数据比总分更有信息量:双臂 72.5%、双手 80%、柔性物体 43.3%、长时序 63.3%。官方总结归因于数据质检 + 视觉定位增强 + 短程时序记忆 |
| Spirit v1.6 千寻智能 | — | RoboArena 1,924(后被移除) | 2026 年 6 月登顶后被判定数据操纵。它作为一个方法论案例的价值,远大于作为一个模型的价值 |
| Cosmos3-Nano-Policy NVIDIA | — | RoboArena 1,881;Cosmos Policy 在 LIBERO 98.5 | 世界模型路线直接产策略。它同时出现在「策略榜」和「世界模型榜」,是两条路线融合的信号 |
| Xiaomi-Robotics-1 小米 | — | RoboCasa365 57.4;RoboCasa 74.5;VLABench 59.1;RoboDojo 13.93 | 10 万小时真实数据做 scaling 的公开样本。注意 RoboCasa 与 RoboCasa365 是两个口径,数字不可混用 |
| Awomo-0.5I Awomo-WAM Team | — | RoboCasa365 64.4(第 1,Composite-Unseen 45.2%) | 2026 年 10 月榜首位。它在「未见组合任务」上仍有 45%,是目前公开数据里组合泛化最好的一个 |
| LingBot-VA — | — | LIBERO 98.5;RoboTwin 92.9/91.5 | 世界动作模型(WAM)路线。在 RoboTwin 上 Clean→Random 只掉 1.4 分,视觉鲁棒性来自视频预训练 |
| Hy-Embodied-0.5-VLA — | — | RoboDojo 仿真第 1:13.07 分 / 8.80% SR(人类 76.03%) | 在目前最难的综合榜上拿到第一,绝对值仍然很低。这个「第一名只有 8.80%」的事实,是 2026 年最诚实的行业刻度 |
口径说明:不同榜的任务集、回合数、评测硬件不同,跨榜数字不可直接比较,只可用于判断「某模型在哪类能力上相对占优」。
从这张表能读出三个结构性事实:
- 没有全能选手。LIBERO 上的前几名(X-VLA、Cosmos Policy、LingBot-VA)在 RoboDojo 上都不是第一;RoboDojo 的第一在 LIBERO 上也不突出。这不是模型不行,是这两张卷子考的东西几乎不重叠。
- 参数量与榜上成绩的相关性很弱。0.9B 的 X-VLA 在 LIBERO 上压过 7.5B 的 OpenVLA-OFT;3B 的 GR00T 与 4.68B 的 DM0.5 在综合榜上互有胜负。
- 版本号不保证提升。GR00T N1.6 在 RoboCasa365 上比 N1.5 低 2 分。这提醒我们:模型迭代的收益是任务相关的,没有「新版本必然更好」这回事。
2.6三种评测范式之争
把评测的组织方式抽象一下,只有三种真正的范式,加一种事实上的主流——自评。
| 范式 | 核心机制 | 优势 | 代价 | 代表 |
|---|---|---|---|---|
| 集中式 | 统一硬件、统一场景、统一评分 | 可比性最高,分数可审计 | 场景窄;可被针对性备考;吞吐低 | RoboChallenge |
| 分布式 | 多点评测、双盲成对、聚合排序 | 多样性高,抗单点失败 | 过程难控;可被刷;成本摊给评测者 | RoboArena |
| 私测式 | 公开验证集 + 隐藏测试实例 | 防污染,最接近「真实考试」 | 反馈慢;需要长期维护私测集 | BEHAVIOR-1K(public/private 各 10 实例) |
| 自评(事实主流) | 作者自己跑、自己报 | 零成本、快 | 不可比、不可复现、易选择性报告 | 绝大多数论文 |
三种范式之间不是替代关系,而是分工:自评用于研发迭代,仿真用于大规模筛选,集中式用于确立可信度,分布式用于检验泛化,私测用于最终定名次。一个成熟的团队会同时用三到四种,并且清楚地知道每一种的分数能支撑什么结论。
最危险的做法,是用自评的分数去支撑「比某某方法更好」的结论。这不是学术规范问题,是统计问题:自评通常没有配对、没有盲评、没有预注册的回合数,这三项缺失让任何跨方法比较都失去意义。
2.7好基准要能让人输
这一章最后给一个反直觉的判断标准:一个基准的价值,等于它让多少人得到了低于预期的结果。
LIBERO 让所有人都是 97%,于是它不再产生信息。RoboDojo 让第一名只有 8.80%、人类有 76.03%,于是每一个分数都在告诉你「还差多远」。BEHAVIOR-1K 让冠军只有 0.26 q-score,于是「家务机器人」这件事第一次有了可量化的距离感。
这条标准有一个直接的工程推论:任务难度应该落在 30%—70% 的成功率区间。低于 30%,所有模型都是 0,无法区分;高于 70%,所有模型都接近满分,也无法区分。区分度在 50% 附近最大。这就意味着,一个健康的基准需要难度分层:简单的题用来筛掉坏模型,中等题用来排名次,难题用来标注前沿位置。
「能让人输」还有第二层含义:基准必须公开失败。RoboDojo 公布「开放语义子项 1.67%」,BEHAVIOR 公布「二元成功 11—12%」,这些都是主动暴露短板。一个只发布总分的榜,把最有价值的信息(失败结构)藏起来了。
1 · 2 · 3 · 4 · 5
第三章
03五个改变行业的数据集
数据集不是原材料的堆积,它是一份关于「世界上哪些操作值得被记录」的编辑判断。这一章选五个数据集,不是因为它们最大,而是因为它们各自定义了一种做法:聚合、同构、标准化、语言耦合、格式统一。看懂这五种做法,你就能判断任何一份新数据集能做什么、不能做什么。
3.1入选标准
「全球影响力最大」这个说法需要可操作的定义。我用了四条,一个数据集至少要满足三条:
- 被当作训练底座。不是被引用,是被真的拿来训模型。判据是:有公开模型宣称用它训练,且这些模型出现在公开榜上。
- 定义了格式或流程。后来的数据集在「怎么组织数据」「怎么质检」上沿用它,或者明确地反对它。
- 规模在一个数量级上有代表性。十万条、百万条、三百万条,各取一个代表。
- 许可清晰到可以判断能不能用。只有一句「仅供研究」的不入选——那不是数据集,是样品。
按这四条,入选的是:Open X-Embodiment、AgiBot World、DROID、BridgeData V2、ARIO。RT-1 数据、RH20T、RoboMIND 2.0、Ego4D 都在某一条上很强,但在「被当作底座」或「许可清晰」上差一点,放到 3.7 的对照表里作参照。
3.2Open X-Embodiment:把 60 个数据集拼成一个
OXE 的做法是聚合,不是采集。Google DeepMind 联合 21 家机构(覆盖 34 个实验室),把各自已有的 60 个机器人数据集统一到一种格式(RLDS),合成一个包含 22 种本体、100 万条以上真实轨迹的集合。
- 规模
- 60 个来源数据集 · 34 个实验室 · 22 种机器人 · 1M+ 轨迹
- 格式
- RLDS(把每条轨迹切成固定长度的 episode,统一 observation / action 字段)
- 动作
- RT-X 实验里统一映射为 7 维末端执行器动作
- 产物
- RT-1-X、RT-2-X;后者在跨本体任务上比原版提升明显
- 许可
- 各子集不同(CC-BY / Apache 2.0 为主),使用时必须逐个子集确认
它的核心贡献不是数据量,而是证明了「跨本体训练有效」。在此之前,大家默认「我的机械臂只能学我的数据」。RT-X 的结果说明:只要动作空间映射到同一个语义层(7 维末端位姿增量),不同机器人的数据可以互相增强,而且在小数据量本体上收益最大。
代价:统一了格式,没统一语义
这是 OXE 最重要、也最常被忽略的一个细节。论文里明确写了:转换时没有统一各数据集的坐标系,并且允许动作值保持各自原始的控制语义——有的用绝对位置,有的用相对位置,有的用速度。也就是说,同一个 7 维向量的第 1 维,在不同子集里可能是完全不同的物理量。
「训练在 OXE 上」这句话,不能推出「模型学到了统一的动作表示」。它可能只是学会了在 60 种互不兼容的语义之间做上下文切换。当你要把 OXE 和自有数据混训时,必须先做一遍动作语义审计——否则模型会学到「看到这种相机就输出这种数值尺度」的捷径,而这个捷径在你的机器人上完全失效。
OXE 还有两个已知缺口:没有人工成功验证(聚合的数据集质量参差),不支持灵巧手(几乎全是平行夹爪)。这两点在 2025 年之后变得很致命——灵巧操作成了主战场,而 OXE 的结构装不下它。
3.3AgiBot World:一百万条同构轨迹
如果 OXE 是「把很多家的菜倒进一个大锅」,AgiBot World 就是「一家餐厅自己种的菜」。智元机器人联合上海 AI 实验室,用自家的人形机器人 G1 采集了 1,001,552 条轨迹、2,976.4 小时,覆盖 217 个任务、87 个原子技能、3,000 多个物体、106 个真实场景。
- 硬件
- G1 人形:双 7 自由度手臂 + 6 自由度灵巧手(带视触觉传感器)+ 移动底盘 + 可调腰
- 传感
- 8 个相机:头部 RGB-D、3 个鱼眼、两侧末端各 1、后部 2 个鱼眼;30 Hz 同步
- 场景
- 家居 / 零售 / 工业 / 餐饮 / 办公 五类,106 个真实场景
- 流程
- 场景验证 → 专家遥操作采集 → 人工逐条复核,三级质检
- 特色
- 包含失败与纠错恢复片段;每条轨迹有人工确认
- 许可
- CC BY-NC-SA 4.0(不可商用)
它的设计逻辑很清晰:用同构换一致性。所有数据来自同一型号机器人、同一套相机布局、同一套控制接口,因此不存在 OXE 那种「第 1 维含义不同」的问题。代价是分布窄——学出来的策略对这个本体极度贴合,换一台臂长不同的机器人,优势立刻消失。项目自己的说法是「同构带来更好的策略收敛,但限制泛化」。
它还做了一件在当时很新的事:把失败轨迹保留下来。绝大多数数据集只留成功回合,理由是「模仿学习只学好的」。但当你要训练「出错后怎么恢复」时,失败片段才是唯一的监督信号。这个选择在 2026 年被广泛复制。
配套的模型 GO-1 给出的相对数字值得记:相比只在 OXE 上训练的模型,成功率 +30%;泛化能力 +18%,而数据量只有 OXE 的 1/10。这组数字说明的不是「AgiBot 比 OXE 好」,而是同构 + 质检在同等规模下比异构 + 无验证更有效。
3.4DROID:用标准化硬件换取可比性
DROID 是「分布式采集」的范本。13 家机构、分布在多个国家,用同一套标准化硬件套件(Franka Panda + 同样的相机架 + 同样的高度)、同一套采集软件、同一套操作流程,在 564 个真实场景里采了 76,000 条轨迹、约 350 小时、86 个任务。
- 规模
- 76k 轨迹 · 350 小时 · 564 场景 · 86 任务 · 13 家机构
- 硬件
- Franka Panda 单臂;2 个外置立体相机 + 1 个腕部相机
- 控制
- 15 Hz,同时记录关节与末端控制
- 格式
- RLDS + LeRobot 版本并行
- 许可
- CC BY 4.0(可商用,需署名)
- 衍生
- RoboArena 的评测硬件与数据基础就是 DROID
DROID 最关键的设计不是数据本身,而是把「场景多样性」和「硬件一致性」这两个通常互斥的目标分开了:让场景尽量杂(厨房、办公室、仓库、卧室,564 个),让硬件尽量同(同一型号臂、同一相机布局、同一采集脚本)。这样采出来的数据,既有多样性,又不需要做跨本体对齐。
这个选择直接决定了它的用途:DROID 不适合研究跨本体迁移(只有一种臂),但非常适合研究「同一个策略在多少种环境里还能工作」。RoboArena 选它做评测平台,正是因为它把「环境」变成了唯一变量。
DROID 同时记录了关节控制和末端控制。这两套动作在训练时的效果差别很大:关节空间更平滑、更适合高频控制;末端空间更通用、更容易跨本体。多数公开模型用末端,但在真机上部署时又需要转换回关节——这一步的 IK 误差经常是「仿真 90%、真机 40%」的原因之一。
3.5BridgeData V2:用场景设计逼出语言理解
BridgeData V2 是这五个里最便宜的一个:60,096 条轨迹、24 个环境、13 项技能、一台 4,000 美元的 WidowX 250、5 Hz、平均每条 38 步。它 2023 年发表于 CoRL,到 2026 年仍然是跨机构泛化研究的标准基线之一。
- 规模
- 60,096 条 = 50,365 条遥操作 + 9,731 条脚本化策略(约 84% / 16%)
- 覆盖
- 24 个环境(其中 7 个玩具厨房)· 13 项技能 · 100+ 物体类别
- 硬件
- WidowX 250 六自由度;4 个相机 640×480;整机约 $4,000
- 许可
- CC BY 4.0
它最重要的设计决策,是在同一个场景里放多个可执行任务。一个玩厨房里既有「开抽屉」「放食物」,也有「摆餐具」「开柜门」。这样一来,模型无法只靠初始画面猜出要做的事——它必须真的去读语言指令或目标图像。这是一个用数据布局逼出来的约束,比在损失函数里加正则有效得多。
第二个决策是主动混入 16% 的脚本数据。这些数据来自一个高度随机化的脚本化抓放策略,动作不完美、经常失败。论文的结论是:这类次优数据对离线强化学习特别有用,能显著提升鲁棒性。这一点后来被反复验证——纯专家数据训练出的策略,一旦偏离轨迹就不知道怎么办。
它的局限也很清楚:精度低(没有力控、没有插入类任务)、只有一种便宜的臂、桌面为主。所以它适合做泛化研究,不适合做工业可用性验证。
3.6ARIO:把格式本身做成产品
ARIO(All Robots In One)由鹏城实验室、南方科技大学、中山大学联合提出,做法和前四个都不同:它的第一产出不是数据,是标准。
- 规模
- 约 300 万条 episode · 258 个系列 · 321,064 个任务
- 来源
- 三类:公开数据集转换(62 个子集,含 DROID、RH20T、ManiWAV)、仿真生成、真实场景自采
- 模态
- RGB-D、点云、触觉、音频、文本,五种模态统一组织
- 关键机制
- 跨传感器时间戳同步(30 Hz 相机 / 10 Hz 激光 / 200 Hz 本体 / 100 Hz 触觉对齐到同一时间轴)
- 论文
- arXiv:2408.10899
为什么格式值得单独做一个数据集?因为跨模态的时间对齐是一个被严重低估的工程问题。相机 30 Hz、激光 10 Hz、本体 200 Hz、触觉 100 Hz,如果只按帧号对齐,累积几十秒后就会错开半帧——对于「接触瞬间」这种毫秒级事件,半帧足以让力信号和视觉完全错位。ARIO 把时间戳同步写成标准的一部分,这一条比多加一百万条数据更有价值。
它的现实短板是生态:能直接读 ARIO 格式的训练框架,远少于能读 RLDS 或 LeRobot 的。所以它的影响力目前主要体现在标准讨论和国内数据对齐上,而不是被大量模型直接训练。这是一个典型的技术正确但生态未成的案例。
3.7横向对照
| 维度 | Open X-Embodiment | AgiBot World | DROID | BridgeData V2 | ARIO |
|---|---|---|---|---|---|
| 规模 | 1M+ 轨迹 60 个来源 | 1,001,552 轨迹 2,976 小时 | 76k 轨迹 350 小时 | 60,096 轨迹 平均 38 步 | 约 3M episode 258 系列 |
| 本体 | 22 种(异构) | 1 种(G1,同构) | 1 种(Franka) | 1 种(WidowX 250) | 多本体 + 仿真 |
| 场景 | 各子集自定 | 106 个 · 5 大领域 | 564 个 | 24 个 | 258 个系列 |
| 模态 | RGB + 语言 + 本体 | RGB-D + 视触觉 + 本体 | 3 路相机 + 本体 | 4 路相机 | 5 模态 |
| 频率 | 各子集自定 | 30 Hz | 15 Hz | 5 Hz | 多频率同步 |
| 质检 | 无统一验证 | 三级人工质检 | 人工筛成功回合 | 部分人工 | 分级 |
| 格式 | RLDS | 自有 + LeRobot 转换 | RLDS / LeRobot | RLDS | ARIO |
| 许可 | 逐子集 | CC BY-NC-SA | CC BY 4.0 | CC BY 4.0 | 分级开放 |
| 最适合 | 跨本体预训练 | 灵巧操作 / 高质量微调 | 环境泛化 / 真机评测 | 语言条件 / 泛化研究 | 多模态对齐 |
| 致命短板 | 语义不统一、无验证 | 分布窄、不可商用 | 单臂、场景偏室内 | 精度低、单臂 | 生态弱 |
读这张表的方法:先看「许可」和「本体」两行,它们决定你能不能用;再看「质检」和「场景」,它们决定用了有没有用;最后看「致命短板」,它决定你不能用它证明什么。
3.8它们到底在测什么
数据集本身不测任何东西——测东西的是 benchmark。但每个数据集都隐含了一个假设:只要模型能在这份数据上训好,就具备了某种能力。这五个数据集,隐含的是五种不同的能力主张。
| 数据集 | 隐含的能力主张 | 它实际在测 | 测不到的部分 |
|---|---|---|---|
| OXE | 见过足够多本体,就能迁移到新本体 | 模型能否在异构动作语义间做上下文切换 | 真正的动作抽象(因为语义没统一) |
| AgiBot World | 在高质量同构数据上学好,就能做人形灵巧操作 | 固定本体、固定传感布局下的精度与长程连贯 | 跨本体、低成本硬件 |
| DROID | 见过足够多环境,就能在新环境工作 | 环境泛化(同一硬件,564 个场景) | 本体泛化、力控任务 |
| BridgeData V2 | 多任务同场景,就能逼出语言理解 | 语言条件化程度(是否真的在读指令) | 高精度、动态任务、力控 |
| ARIO | 统一格式与时间轴,就能联合训练多模态 | 跨模态对齐质量 | 策略能力本身(格式不提供能力) |
这张表有一个实用价值:当你要论证「我的模型具备能力 X」时,先看你的训练数据是否真的包含 X 的监督信号。用 BridgeData 训练出来的模型,不能用来论证精细装配能力;用 AgiBot 训练出来的模型,不能用来论证跨本体泛化。这不是模型的问题,是数据的能力边界。
3.9为什么这样设计:六个取舍
把五个数据集放在一起,能看到六组反复出现的取舍。每一组都没有标准答案,只有「为哪个目标服务」。
取舍一:同构 vs 异构
同构数据(AgiBot、DROID、Bridge)训练收敛快、动作语义一致,但学到的策略与本体的绑定强。异构数据(OXE、ARIO)能研究迁移,但需要大量对齐工作,且对齐本身可能引入偏差。判断标准很朴素:你要的是「这个机器人上的最好效果」,还是「换机器人还能用」。
取舍二:规模 vs 质检
一百万条未验证的轨迹,有效比例可能只有三分之一;三十万条逐条验证过的轨迹,可用率可能是 90%。从训练效率看,后者常常更划算——因为坏数据不只是「没用」,它还会主动教坏模型(学到错误的因果关联)。AgiBot 的三级质检与 OXE 的无验证是这条取舍的两个极端。
取舍三:真实 vs 仿真
仿真能生成百万级轨迹(RoboCasa365 有 1,600 小时合成数据),但域差距真实存在。实践中最有效的配比不是全真或全仿,而是大量仿真 + 少量真机做分布锚点。RoboTwin 的实验里,10 条真机 + 合成数据达到 367% 的相对提升,纯合成只有 228%——差额就是那 10 条真机提供的信息。
取舍四:技能覆盖 vs 场景覆盖
一个数据集可以让「20 种技能 × 3 个场景」,也可以「3 种技能 × 200 个场景」。前者适合学技能,后者适合学鲁棒。BridgeData 偏技能(13 技能 / 24 环境),DROID 偏场景(86 任务 / 564 场景)。这两个方向的数据不能互相替代,混在一起训也不会自动得到两者。
取舍五:多模态 vs 可用性
加触觉、加音频、加点云,理论上信息更全,实际上会让可用数据量骤降——因为大多数训练框架读不了、大多数机器人没有这些传感器。ARIO 的五模态是标准的极限,但生态最弱。这是一个典型的「标准超前于硬件」的案例。
取舍六:开放 vs 商用
这一条最现实。DROID 和 BridgeData 是 CC BY 4.0,可以直接商用;AgiBot World 是 CC BY-NC-SA,商用要另谈;OXE 要逐子集确认。很多团队踩过的坑是:用 NC 数据训出的模型,权重能不能商用,是一个法律问题,不是一个技术问题。数据集许可通常只约束「数据的使用」,不自动约束「衍生模型的输出」——但这在不同司法辖区解释不同,需要法务确认。
1 · 2 · 3 · 4 · 5
第四章
04从数据到一张能跑的榜
这一章是全书的操作层。目标很具体:给定一个开源模型、一份公开数据集、一台机器,你能在两周内产出一个「别人可以复核」的评测结果。顺序按风险排——最先把最容易毁掉结果的事做对,再谈效率。
4.1三条路径,三种工作量
「跑通一个榜单」这句话可以指三件完全不同的事。先选清楚,不然会在错误的事情上花两周。
| 路径 | 你要做的事 | 典型工时 | 产出能支撑什么结论 |
|---|---|---|---|
| A. 复现一个公开榜 | 拉官方仓库、装环境、跑官方评测脚本、对齐已发表数字 | 3—10 人日 | 「我能在自己的机器上复现 X 的分数」——这是所有后续工作的地基 |
| B. 用现成数据自评 | 拿公开数据集训一个小模型,在自己选的基准上评 | 2—6 周 | 「我的方法在这个口径下比基线好 Y 分」,但需要说明口径 |
| C. 自建一套评测 | 定义任务集、判据、协议、基建,做出可被别人使用的榜 | 3—6 个月 | 「这是一套可复用的评测标准」——这是第五章的内容 |
建议的顺序是 A → B → C。跳过 A 直接做 C,是最常见的失败方式:你会造出一个自己都跑不顺的榜,然后在别人的环境里必然崩。
4.2数据接入的七个坑
下面七个问题,每一个都能让一个「看起来能跑」的评测得出完全错误的数字,而且训练曲线和日志都不会报错。按踩坑概率排序。
坑一:动作语义(绝对 / 相对 / 速度)
同一个 7 维向量,可能是「目标绝对位姿」,也可能是「相对当前位姿的增量」,还可能是「速度」。三者互换,机器人会在第一步就冲出去或者完全不动。判断方法:看数据里动作的数值范围。绝对值通常在小范围内(米级坐标 ±1),增量在 ±0.05 量级,速度则与频率相关。
# 快速判别动作语义:看一维的分布与首帧值 import numpy as np a = dataset["action"][:, 0] # 取第 0 维(通常是 x) print("min/max", a.min(), a.max()) print("首帧", a[0], "均值", a.mean(), "标准差", a.std()) # 绝对位置:首帧 ≈ 物体/末端坐标,范围 0.2~0.9 # 相对增量:均值≈0,标准差 0.01~0.05 # 速度:与频率强相关,量级 0.001~0.1 且长期均值为 0
坑二:控制频率与动作块接缝
数据集是 30 Hz,你的控制器跑 15 Hz,直接喂动作会变成 2 倍速。反过来会变成慢动作。更隐蔽的是动作块(action chunk):模型一次输出 50 步,执行到第 50 步再推理下一次,接缝处的跳变会造成明显抖动。工程解法是重叠执行(每次只执行前 k 步就重新推理),代价是算力上升。
坑三:相机命名与内参
「head_cam」「cam_high」「observation.images.top」在三个数据集里是同一种东西,但代码里就是三个键。漏掉一个,模型看到的是全黑图,而训练照样收敛(它学会了忽略这一路)。检查方法:把每一路图像单独存成视频看一眼。
坑四:归一化统计量
均值方差必须用训练集算,且必须和 checkpoint 一起保存。用测试集算统计量是数据泄漏;训练与推理用不同统计量是最常见的「离线 90%、真机 40%」。LeRobot 这类框架把这份配置存进 checkpoint,正是为了消灭这个 bug。
坑五:坐标系与工作空间
世界坐标系、机器人基座坐标系、相机坐标系,三者混用会让策略在某个方位表现正常、换个方位完全失效。OXE 明确没有统一坐标系,所以混训前必须做一次可视化验证:把预测轨迹和真实轨迹画在同一张俯视图上。
坑六:语言字段
有的数据集任务名是「put the cup on the plate」,有的是「cup_place_task_03」。后者对语言模型毫无意义。更麻烦的是同一条轨迹有多个可选指令时,取哪一条会影响评测——必须在协议里固定。
坑七:时间戳与丢帧
视频 30 fps、关节 200 Hz、深度 15 fps,任何一路掉帧都会造成对齐漂移。检查方法:算每一路相邻时间戳的差值分布,看有没有长尾。长尾超过 5% 就需要重新同步,不要指望插值能救。
把这七项做成一个 validate_dataset.py,每次接入新数据集先跑一遍,输出一张体检表(动作范围、频率、丢帧率、相机键、语言样例、许可)。这张表贴进实验记录,比任何 README 都有用。
4.3策略接入的三种接口
评测的核心抽象只有三个方法:reset(重置)、update_obs(喂观测)、get_action(取动作)。所有框架都是这三个方法的变体。选哪种接口,取决于你想复用多少别人的工作。
| 接口 | 形态 | 优点 | 适合 |
|---|---|---|---|
| LeRobot Policy | Python 类,继承 PreTrainedPolicy,输入输出是 batch 字典 | 与数据集/训练/部署同一套抽象;生态最大 | 自己训模型、想复用数据管线 |
| XPolicyLab | 统一策略接口 + 数据格式 + 部署流程,已集成 30+ 策略 | 接入一次,可在 RoboTwin / RoboDojo 等多处评测 | 想横向比较多个公开策略 |
| openpi client-server | 策略跑在服务端,客户端只发观测、收动作 | 策略与仿真解耦;可跨机器;易做盲评 | 真机评测、多策略同台 |
无论用哪种,你的策略类都要满足同一份契约。下面是最小骨架(伪代码,字段名按你的框架调整):
class MyPolicy: def reset(self, task_id: str): # 任务切换时清空历史、记忆、动作队列 self.hist = [] self.chunk = None def update_obs(self, obs: dict): # 每帧调用;obs 至少含 images / state / instruction self.hist.append(obs) if len(self.hist) > self.window: self.hist.pop(0) def get_action(self) -> np.ndarray: # 返回 7 维(6 位姿 + 1 夹爪) if self.chunk is None or self.idx >= self.replan_every: self.chunk = self.model.predict(self.hist) # 一次出 T 步 self.idx = 0 a = self.chunk[self.idx]; self.idx += 1 return a
三个容易被忽略的契约细节:
- reset 必须真的干净。记忆模块、动作队列、归一化状态、RNN hidden state,漏一个就会「跨任务污染」,表现为某个任务莫名变好或变差。
- get_action 不能有副作用。有的评测框架会对同一观测调用两次(比如判断是否确定性),如果你的实现内部推进了计数器,结果会错。
- 动作必须裁剪。模型输出可能超出关节限位。裁剪要放在策略侧还是环境侧,必须在协议里写清楚,因为它会改变成功率。
4.4评测协议模板
这是我认为整本书最值得直接抄走的一页。任何一次评测,把下面十一项写成一页纸,贴在实验记录最前面。缺三项以上,结果不建议对外发表。
| # | 字段 | 要写什么 | 为什么必须写 |
|---|---|---|---|
| 1 | 代码与权重版本 | git commit、权重 sha256、镜像 tag | 否则「复现不出来」无法定位 |
| 2 | 仿真器与驱动版本 | MuJoCo / SAPIEN / Isaac 版本号;显卡驱动 | 物理引擎小版本会改变接触行为 |
| 3 | 任务实例清单 | 任务 ID 列表 + 每个任务初始状态的文件 hash | 「同一批题」是可比较的前提 |
| 4 | 回合数与种子 | 每任务 n 次;种子由服务端/脚本固定下发 | 没有 n 的分数没有误差范围 |
| 5 | 最大步数 / 时间 | 按任务设定,不统一放宽 | 放宽 2 倍步数常能涨 15 分 |
| 6 | 复位协议 | 物体归位、机器人回零、夹爪清空、缓存清理 | 复位不彻底会「继承上一次的成功」 |
| 7 | 成功判据 | 谓词定义 / 评分点 / 人工双评规则 | 判据改一点,分数差很多 |
| 8 | 失败分类 | 六类:未启动 / 定位错 / 抓取失败 / 运输掉落 / 放置偏差 / 超时 | 总分之外的唯一有效信息 |
| 9 | 动作后处理 | 裁剪、平滑、重规划间隔 | 这些属于方法的一部分,不能隐去 |
| 10 | 统计方法 | Wilson 区间 / 配对 bootstrap / 显著性阈值 | 让读者能自己算误差 |
| 11 | 原始记录 | 每回合视频、动作序列、日志 | 争议时唯一的裁决依据 |
4.5跑通 LIBERO:最小可行流程
选 LIBERO 作为第一个跑通的榜,理由不是它最好,而是它最便宜:纯 MuJoCo、任务固定、判据脚本化、单卡可跑。跑通它,你就拥有了后面所有评测的骨架。
# 0) 环境(版本必须锁,LIBERO 对 mujoco / robosuite 版本敏感) conda create -n libero python=3.10 -y && conda activate libero pip install -e . # LIBERO 仓库根目录 pip install -r requirements.txt python -c "import libero, mujoco; print(libero.__file__, mujoco.__version__)" # 1) 数据:确认四个套件的任务数与演示条数 # libero_spatial / libero_object / libero_goal / libero_10(长程) python -c "from libero.libero import benchmark as b; \ bm=b.get_benchmark_dict(); [print(k, bm[k]().n_tasks) for k in bm]" # 2) 冒烟测试:先跑 1 个任务 × 2 回合,看视频 python eval_libero.py --suite libero_spatial --task_id 0 --episodes 2 --save_video # 3) 正式评测:每任务 50 回合,四套件,记录失败分类 python eval_libero.py --suite all --episodes 50 --seed 0 \ --max_steps 300 --log_dir runs/libero_s0 # 4) 统计:Wilson 区间 + 按套件拆分 python stats.py runs/libero_s0 --metric success --ci wilson
注:具体脚本名与参数随仓库版本变化,以官方 README 为准。这里给的是流程结构——第 2 步的冒烟测试是必须的,跳过它直接跑 6,500 个回合,是浪费一整天的最快方式。
为什么要先跑冒烟测试
因为绝大多数失败不是「模型不行」,而是「接线不对」。冒烟测试的两回合能暴露:图像是不是全黑、动作是不是全零、机器人是不是在第一帧就飞出去、夹爪是不是永远闭着。这些问题在 6,500 回合的批量跑里只会表现为「成功率 0%」,而你分不清是模型差还是管线错。
4.6八项重点工作,按「最容易毁掉结果」排序
- 版本锁定。代码、权重、仿真器、驱动、CUDA,全部写进一个
environment.lock。这一项不做,后面七项都可能是白做。 - 观测对齐。相机键、分辨率、内参、裁剪方式。用「存视频看一眼」这个笨办法验证,比读代码快。
- 动作语义对齐。绝对/相对/速度、单位(米 vs 厘米)、夹爪范围(0—1 vs -1—1)。
- 频率与动作块。控制频率、重规划间隔、重叠执行步数。这三项决定了「同一个模型」的实际表现。
- 归一化统计量。用训练集算,随 checkpoint 存,推理时严格复用。
- 复位与初始状态。固定实例列表,不用随机 reset 代替;物体位姿从文件读,不从分布采样。
- 判据保真度。脚本谓词要验证「真的抓住了才算成功」,不能只看「末端靠近」。人工评分要双人独立。
- 统计与报告。n、CI、失败分类、原始视频。没有这四项,结果只能内部看。
多数人会把「模型调优」放在第一位,把「复位协议」放在最后。但实测中,复位不彻底造成的偏差(上一回合的物体还在正确位置)可以达到 10 个百分点以上,远大于大多数论文声称的改进幅度。评测的基础设施错误,通常比方法差异更大。
4.7一次真实评测的时间与成本账
下表按单卡(4090 级)估算,假设仿真实时率 5—10 倍、策略推理 10—30 Hz。真实数字会因实现差异浮动 2—3 倍,但量级关系是可靠的。
| 基准 | 回合总数 | 仿真 GPU 小时 | 墙钟(单卡) | 备注 |
|---|---|---|---|---|
| LIBERO(4 套件 × 50) | 6,500 | 12—20 | 0.5—1 天 | 短程任务,单回合 5—10 秒 |
| RoboCasa365(50 任务 × 20) | 1,000 | 15—30 | 1—2 天 | 场景加载慢,厨房资产大 |
| RoboTwin 2.0(50 × 100 × 2 设定) | 10,000 | 60—110 | 3—5 天 | 双臂 + 强随机化,单回合 20—40 秒 |
| BEHAVIOR-1K(50 任务 × 10) | 500 | 50—120 | 2—5 天 | 单任务平均 6.6 分钟,物理复杂 |
| 真机(30 任务 × 20) | 600 | — | 3—4 周(单人) | 含复位、换物、充电、评分 |
最后一行是关键对照:真机 600 个回合要一个月,仿真 6,500 个回合要一天。这个 200 倍的差距,就是「先用仿真筛,再用真机定」这个工作流的全部理由。
还有一笔隐性成本常被漏算:写评测脚本和维护它。一个能跑三个基线的评测框架,初版约 3—5 人日,之后每次接入新模型约 0.5—2 人日。如果你的评测只做一次,成本不划算;如果要做十次,摊薄后每次不到一小时——这也是为什么成熟团队都会自建评测框架而不是每次写临时脚本。
1 · 2 · 3 · 4 · 5
第五章
05局限,以及如何设计一个榜
这一章分两半。前半是把现有榜单的问题说透——不是为了批评,而是因为每一条局限都对应一个设计决策,你要造榜就绕不开。后半是一份可以直接照着做的设计模板:从能力矩阵到接口协议,从统计方案到反作弊。
5.1十个局限,每条都有证据
| # | 局限 | 证据 | 后果 |
|---|---|---|---|
| 1 | 饱和 | LIBERO 头部 98.5—99.3;OpenVLA-OFT 97.1。差距进入 1—2 分区间 | 无法区分方法;分数只反映「谁更会适配这张卷子」 |
| 2 | 记忆化 / 污染 | LIBERO-PRO:标准版 90%+ 的模型在替换物体、位移初始状态后跌到 0.0% | 分数测的是训练分布匹配度,不是能力 |
| 3 | 语言盲 | 打乱指令 token 后输出不变;模型去抓「原物体的位置」而非「指令里的物体」 | 多模态中的语言通道形同虚设 |
| 4 | 二元指标失真 | BEHAVIOR:q-score 0.26 对应二元成功仅 11—12%;有研究称二元指标相对分级评估高估至多 70% | 「差一点」与「完全没动」同分,掩盖失败结构 |
| 5 | 样本量不足 | 大量真机评测 ≤25 回合且不报 CI | 25 回合只能分辨 40 个百分点;榜首与第三名常无差异 |
| 6 | 仿真—真机不守恒 | RoboDojo 论文:部分仿真靠前的策略在真机未保持优势;RoboCasa365 与 LIBERO 的相对排序完全不同 | 仿真分数不能单独作为部署依据 |
| 7 | 单本体制约 | DROID 只有 Franka;RoboChallenge 按任务分配固定硬件 | 跨本体能力无法被测量 |
| 8 | 无失败恢复 | 多数数据集只留成功轨迹(AgiBot 是少数例外) | 策略一旦偏离就无解;而真实部署 90% 时间在处理偏离 |
| 9 | 可被操纵 | RoboArena 2026 年 6 月移除可疑数据并改规则(完成率 <20% 标记可疑) | 自愿提交型榜单的安全性等于最弱的那条提交规则 |
| 10 | 缺人类基线与成本维度 | 多数榜不报人类遥操作分数;RoboDojo 报了(76.03% / 100%),立刻让 8.80% 有了意义 | 分数没有参照系;也不区分「慢但成」与「快且稳」 |
这十条里,只有第 9 条是「道德问题」,其余九条都是设计取舍的副作用。所以批评榜单没什么意义,有意义的是:如果你来设计,你愿意在哪几条上付出代价。
5.2九条设计原则
原则一:先定能力矩阵,再出题
不要先凑 50 个任务再归纳「这测了什么」。先写下 4—6 个正交能力维度,每个维度配独立的判据与扰动轴。RoboDojo 的五维(泛化、记忆、精细、长程、开放语义)是目前最清晰的范例。判断是否正交的方法:如果两个维度的分数相关系数超过 0.8,它们其实是一个维度。
原则二:难度分层,让区分度落在 30%—70% 区间
简单题(80%+)用来筛掉坏模型,中等题(30%—70%)用来排名次,难题(<10%)用来标注前沿。三层比例建议 2 : 5 : 3。只有难题的榜(所有人都 0)和只有简单题的榜(所有人都 95)同样没有信息量。
原则三:扰动轴必须正交且语义保持
换物体、移位、改光照、改指令,每一条都要保证任务依然可执行、依然有唯一解。LIBERO-PRO 的做法值得抄:扰动后要人工确认「这个任务物理上还做得成」。否则你测的是「任务是否合法」,不是「模型是否鲁棒」。
原则四:公开集 + 私测集,比例 7 : 3
公开集用来调试,私测集用来定名次。BEHAVIOR-1K 的做法(每任务 10 个公开实例 + 10 个私测实例)是标准答案。私测集必须长期不换、只增不减,否则历史分数失去意义。
原则五:分级评分,同时报二元成功
主指标用分级分(0 / 0.3 / 0.7 / 1.0 或按谓词满足比例),辅助指标报二元成功率。两个都报,读者才能判断「是推进得多」还是「收尾稳」。只报一个都会误导。
原则六:人类基线是必填项
没有人类分数的榜,读者无法判断 8.80% 是「很差」还是「这个任务本身就难」。人类基线不必是专家,用同一套硬件、同一套遥操作、同样回合数即可——它的作用是提供分母。
原则七:配对评测 + 方差缩减
所有策略在同一批初始状态上跑(paired),名次用配对 bootstrap 而不是独立样本检验。这一条能把所需样本量降低 30—50%,是所有设计里性价比最高的。
原则八:接口与判据必须是代码,不是文档
「成功判据」写成可执行的谓词函数并开源,不要写成一段自然语言。RoboTwin 这类项目的可复现性,很大程度来自 check_success() 是一个函数而不是一句话。
原则九:把「失败」当成一等公民
强制要求提交失败分类(六类)、失败视频抽检、失败率按任务分布。一个只公布成功率的榜,等于把最有价值的信息删掉了。
5.3一个可落地的设计样例
假设你要为一个中型团队设计内部榜(也打算对外开放),下面是一份完整规格。名字随便叫,我叫它 EMB-5×3。
结构
| 维度 | 测什么 | 任务设计要点 | 判据 |
|---|---|---|---|
| D1 感知定位 | 在杂乱背景中找到并抓准目标 | 杂物 10—25 件;目标部分遮挡;同类干扰物 ≥2 | 目标物体被抓离桌面 ≥5cm |
| D2 精细接触 | 亚厘米级对齐与力控 | 插管、拧盖、翻页、贴标;间隙 ≤2mm | 插入深度 ≥ 阈值且未损坏物体 |
| D3 长程组合 | 多步骤、误差不累积 | 4—8 步;中途有一步需要开容器 | BDDL 谓词全部满足 |
| D4 语义泛化 | 读懂未见指令并重组技能 | 指令含限定词、否定、间接表达;同场景多目标 | 只完成指令所指对象;错对象即失败 |
| D5 故障恢复 | 出错后自我纠正 | 在第 2 步强制注入扰动(物体被推走 / 夹爪空抓) | 扰动后 15 秒内恢复并完成任务 |
规模与预算
| 项 | 数值 | 说明 |
|---|---|---|
| 任务数 | 5 × 12 = 60 | 每维度 12 个任务,三个难度层各 4 个 |
| 每任务回合 | 20 | 配合配对设计,等效于独立设计的 30—40 回合 |
| 总回合 | 1,200 | 单卡约 20—30 GPU 小时,可一周内跑完两轮 |
| 本体 | 2 | 一台单臂 + 一台双臂;跨本体能力用「同任务双本体分数差」度量 |
| 公开 / 私测 | 70% / 30% | 私测实例只增不减 |
| 人类基线 | 每任务 10 | 同一硬件遥操作,报告同样的分级分 |
指标与统计
- 主指标:分级分(0 / 0.3 / 0.7 / 1.0 四档,按谓词满足比例映射)。
- 辅助:二元成功率、平均完成时间、恢复成功率(D5 专用)。
- 误差:每格报 Wilson 95% 区间;总分用配对 bootstrap 给出名次的置信集合(「第 1—3 名不可区分」这种表述比「第一名」有用得多)。
- 报告模板:一张 5×3 的热力图 + 一张失败分类堆叠图 + 一段人类基线对照。
为什么这样设计
- 60 个任务、1,200 回合,是「一周内能跑完两轮」的上限。超过这个规模,团队就不会频繁跑,榜就死了。
- 5 个维度中 D4 与 D5 是当前所有公开榜最缺的两项,也是最容易拉开差距的两项(RoboDojo 开放语义 1.67% 就是证据)。
- 双本体只为了度量「跨本体衰减」,不追求覆盖所有形态——用「衰减率」一个数就能表达,不必把本体做成一个维度。
- 四档评分而不是连续分,是为了降低评分者主观性;档位越少,不同评分者的一致性越高。
5.4怎么让别人来测
这是造榜最难的一步:不是设计,是让别人愿意把模型交给你。要同时解决三件事——接入足够简单、评分足够可信、作弊足够难。
接口:三个方法 + 一个 Dockerfile
# 你发布的不是一份文档,而是一个可运行的契约 class PolicyServer: def reset(self, task_spec: dict) -> None: """task_spec 含 instruction / instance_id / max_steps; 禁止在这里读取 task_spec 里的私测字段(框架不会给)。""" def act(self, obs: dict) -> list[float]: """obs = {images: {cam: uint8 HxWx3}, state: float[DoF], instruction: str, step: int};返回归一化动作,长度固定。""" def close(self) -> None: ...
反作弊的七道闸
- 权重哈希:提交时记录 sha256,跑分时校验容器内权重未被替换。
- 断网运行:评测容器无外网,防止在线调用更强模型。
- 私测实例不进容器:初始状态由服务端注入,模型无法预先读到。
- 种子服务端下发:提交方无法挑选「手气好的种子」。
- 提交次数限制 + 公开记录:同一账号每周最多 N 次,且所有尝试都留痕,防止「刷到好成绩就停」。
- 录像抽检:随机 5% 回合由第三方重看,判据与人工评分不一致则复核。
- 完成率门槛:账号完成率低于阈值(RoboArena 用的是 20%)标记可疑——这条直接对应 2026 年 6 月那次事件。
做 2(断网)、3(私测不进容器)、4(种子下发)。这三条挡住了 90% 的作弊路径,且实现成本都在一天以内。剩下的四条是「让别人相信」而不是「防止被骗」,可以后补。
怎么让模型的分数可被引用
最后一件事最容易被忽略:发布格式。一个榜要被引用,它给出的必须是一句可以直接写进论文的话。所以要提供:
- 一行摘要:
EMB-5×3 v1.0 · 模型 X · 总分 0.41 [0.37, 0.45] · 第 2—3 名(不可区分) - 一个永久链接(带版本号,不随更新变化)
- 一份可下载的原始结果(每任务每回合的 0/1/分级分)
- 一个 BibTeX
很多榜做得很好但没人引用,就是因为没有提供这四样东西,别人想引也不知道怎么引。
5.5三年自检表
一个榜的平均寿命约 18—24 个月。想在三年后还有用,下面十二条至少做到十条。
| ✓ | 问题 | 不合格的信号 |
|---|---|---|
| □ | 头部模型的分数是否还在 30%—70% 之间? | 前三名都 >90%,说明卷子太简单 |
| □ | 是否有「加难度」的扩展版(Plus / PRO 类)? | 只有原版,且已经两年没更新 |
| □ | 是否公开了私测集的存在与规模? | 只有公开集,或私测集频繁更换 |
| □ | 每个分数是否附带回合数与置信区间? | 只有一个小数点后一位的成功率 |
| □ | 是否报告人类基线? | 读者无法判断 8% 是差还是任务本身难 |
| □ | 是否公布失败分类,而不只是总分? | 只有一张排行榜 |
| □ | 是否至少有两个本体? | 只有一种臂,却宣传「通用」 |
| □ | 是否有语言扰动的独立维度? | 改了指令分数不变 |
| □ | 是否有「恢复」类任务? | 只测一次成功,不测出错后怎么办 |
| □ | 提交规则是否写明了可疑判定标准? | 只写「我们保留最终解释权」 |
| □ | 评测代码是否开源且能一键跑? | 需要发邮件申请 |
| □ | 是否提供了可引用的固定版本链接? | 只有动态首页,历史分数会变 |
结语
这本书写了五章,如果只能留下一句话,我想留这一句:
在具身智能里,所有分数都是「关于某个分布」的分数。脱离了分布的分数,不是结论,是广告。
所以看到任何一个数字,先问三件事:这是哪个分布(任务集与初始状态)、这个分布离我的场景多远(本体、光照、物体)、这个数字的误差多大(回合数、置信区间)。三问答完,你就不太会被排行榜带着走了。
而这,大概也是这个领域从「演示时代」走向「工程时代」必须跨过的一道门槛:不再问谁的 Demo 更漂亮,而是问谁的分数更可信。
1 · 2 · 3 · 4 · 5
附录 A
术语表
| 术语 | 含义 |
|---|---|
| Benchmark | 任务集 + 初始状态分布 + 成功判据 + 回合预算的组合。不是数据集,也不是榜单。 |
| Leaderboard | 在某个 benchmark 上对多个模型排序的公开页面。可信度取决于硬件标准化、盲评、统计量、私测集、可复现基建五项。 |
| SR | Success Rate,成功回合 / 总回合。最常用,也最容易掩盖失败结构。 |
| q-score | 目标谓词满足比例的均值,用于长任务的部分完成度。BEHAVIOR-1K 的主指标。 |
| 评分点 | 把任务拆成若干阶段各给分的做法(如 5+5)。RoboChallenge 使用。 |
| Elo / Bradley-Terry | 由成对比较推导相对强度的排序方法。RoboArena 使用;不可跨期比较。 |
| 配对评测 | 让多个策略在同一批初始状态上跑,消除题目难度方差。可显著降低所需样本量。 |
| Wilson 区间 | 小样本比例的二项置信区间。100 次 0 成功时上界约 3.7%。 |
| 统计功效 | 在给定样本量下能检出多小的差异。n=25 时约 40 个百分点。 |
| RLDS | Robotics Dataset 规范,把轨迹切成固定长度 episode 的统一格式。OXE 使用。 |
| LeRobot 格式 | HuggingFace 生态的机器人数据格式(v3),视频编码 + parquet 元数据。 |
| ARIO | All Robots In One,支持五模态与时间戳同步的统一数据标准。 |
| Embodiment | 本体。指机器人的形态、自由度、传感配置。跨本体 = 换机器人还能用。 |
| Sim2Real Gap | 仿真与真机之间的分布差异,来源包括物理参数、渲染、传感噪声、执行延迟。 |
| Domain Randomization | 训练时随机化视觉与物理参数,迫使策略忽略无关细节。RoboTwin 的 Random 设定即此。 |
| 记忆化 | 模型记住训练集的动作序列与布局,而非学到任务。表现为换物体后仍抓原位。 |
| 污染 | 评测数据出现在训练集中(直接或间接),导致分数虚高。 |
| 饱和 | 头部模型分数接近上限,指标失去区分度。LIBERO 已饱和。 |
| 失败恢复 | 策略在偏离后自我纠正的能力。需要失败轨迹作为监督信号。 |
| WAM | World Action Model,用视频/世界模型先验直接产动作的一类方法,2026 年在多个榜上领先。 |
附录 B
速查表
榜单
| 名称 | 形态 | 关键数字 | 什么时候用它 |
|---|---|---|---|
| RoboArena | 分布式双盲 | 7 机构 · 600+ 回合 · Elo | 想知道「在别人的环境里还行不行」 |
| RoboChallenge Table30 | 真机集中 | 30 任务 · 32,980 回合 · 57 模型 | 想要带过程分的真机分数 |
| RoboDojo | 仿真 + 真机 | 42 + 18 任务 · 5 维 · 人类 76.03% | 想看能力结构(哪科偏) |
| RoboCasa365 | 仿真 | 365 任务 · 2,500 厨房 · 3 split | 测多任务与组合泛化 |
| BEHAVIOR-1K | 仿真 + 挑战赛 | 1,000 活动 · 50 任务 · q-score | 测长程家务与部分完成 |
| LIBERO 系 | 仿真 | 130 任务 · 已饱和 · Plus/PRO 扩展 | 快速回归,不要当能力结论 |
| RoboTwin 2.0 | 仿真 | 50 双臂任务 · Clean / Random | 测双臂与视觉鲁棒 |
| WorldArena | 世界模型 | 6 维 16 指标 · 80 模型 | 选世界模型当「虚拟考官」 |
数据集
| 名称 | 规模 | 许可 | 一句话 |
|---|---|---|---|
| Open X-Embodiment | 1M+ · 22 本体 · 60 来源 | 逐子集 | 跨本体预训练的事实标准,但语义没统一 |
| AgiBot World | 1,001,552 · 2,976 h | CC BY-NC-SA | 质量最高的大规模真机数据,不可商用 |
| DROID | 76k · 350 h · 564 场景 | CC BY 4.0 | 硬件统一、场景最杂,适合环境泛化 |
| BridgeData V2 | 60,096 · 24 环境 | CC BY 4.0 | 最便宜的多任务基线,语言条件化设计巧妙 |
| ARIO | ~3M episode · 258 系列 | 分级 | 五模态 + 时间戳同步,标准先行 |
附录 C
三十天路径
给一个「从零到能独立评测」的人的日程。假设有单卡 GPU,每天 3—4 小时。
| 阶段 | 天数 | 做什么 | 产出 |
|---|---|---|---|
| 地基 | D1—D4 | 读三个 benchmark 的论文与仓库(LIBERO、RoboTwin、RoboDojo),只读「评测协议」章节 | 一份对比表:任务数、判据、回合数 |
| 复现 | D5—D10 | 装 LIBERO,跑通一个官方 checkpoint,对齐已发表分数(误差 ±2 分内算成功) | 可运行的评测脚本 + 复现记录 |
| 数据 | D11—D15 | 下载 OXE 子集或 BridgeData,跑 4.2 的七项体检,写一份数据卡 | 数据体检表(动作范围/频率/丢帧/许可) |
| 训练 | D16—D20 | 用 LeRobot 或 openpi 微调一个小模型(≤1B),训到能在 1 个任务上过 50% | checkpoint + 训练日志 |
| 评测 | D21—D25 | 用 4.4 的十一项协议评自己的模型,跑 3 个种子,算 Wilson 区间 | 一份带置信区间的结果表 |
| 造榜 | D26—D30 | 按 5.3 的模板,为你的场景设计 5×3 矩阵,先做 10 个任务的最小版 | 一页设计文档 + 可跑的 10 任务评测 |
关键节点在 D10:如果 LIBERO 的官方分数复现不出来,先不要往下走。复现失败的原因几乎总是七件事之一(版本、相机、动作语义、频率、归一化、复位、判据),把它们逐个排除的过程,就是这本书想教的东西。