

新时代的具身仿真数据引擎
Template
前言#
笔者在具身智能领域中做了很长时间的仿真相关内容,以致于在 Lab 中通宵的 95% 以上的时间都是在和 Isaac Sim 搏斗。在 GEN-0 发布他们的博客之后,UMI 向我们展示了一种更加快速的 Scaling Up 方案,而近期开始展露苗头的 Human Data 则体现了更加快速的数据飞轮来源。即使是仿真体系最为忠实的信徒,在技术的发展以及资本的涌入的当下,似乎都不得不承认,仿真如果作为测试,其并行能力以及各种安全性与随机化的特性,尚且得以发挥,但是作为数据,似乎确实意义不大。
实际上这段时间我们实验室一直在进行更多的迭代,试图从中找到一条路,让仿真数据在当下以及不远的将来中依然具有可观的竞争力,打造一个新时代的具身仿真数据引擎,充分 Leverage 仿真的能力,更加严谨的调度以及优化,让仿真继续占据数据拼盘的一部分。我们将这一充分打磨,在内部数百卡充分压测 Scaling,并且在诸如 InternData-A1 InternData-M1 这些数据的摇篮,InternDataEngine 正式开源,向大家带来更加优雅的框架与设计。
“劣质”的预训练与“优质”的后训练#
在数据相对匮乏的具身智能 Manipulation 领域中,如果并不存在一种天然的数据飞轮,那么最为优质的那部分的数据,由数据专家核验的真机遥操作数据,不仅在采集上颇具难度、效率低下,并且也难以充分 Scaling up。无论是人力成本、场地成本还是设备成本,似乎都难以降低。
而反过来思考,如果海量的完全优质的数据真的难以出现,那么可以预见的,在那些庞大的预训练的阴影之下,必然数据拼盘中存在着大量的“劣质”数据。这里的劣质只是一种更加方便的说法,事实上就是,这些数据和真机之间存在的客观的 Gap。
- UMI Data:精度有限,Action Space 存在 Gap,对于本体有限制,需要较多后处理
- Human Video Data:本体信号稀缺,视觉特征不同,跨本体缺失
- Simulation Data:Sim2Real Gap,难以仿真流体等内容
这些存在 Gap 的数据,将进一步引发众多工作开始思考如何利用这些数据,如何从训练范式上进行调整,或者直接在数据规模上尝试弥补,进而解决这些 Gap。同时,数据拼盘也会开始根据这些不同数据的效果,来进行权重的调整。
对于要不要继续进行仿真数据的探索,从另一个角度来说,就是,仿真是否具有一些得天独厚的优势,可以依然在数据拼盘中占据一定的比重。答案是显然的 Yes。
经过验证的预训练数据#
当下一种普遍对于 VLA 模型(在这里 VLA 泛指输入中包含 VL,并且输出中包含 A 的模型,即包括 VLM-VLA, WM-VLA 等一系列内容)预训练的过程主要是在“打磨”模型的动作空间,而对于诸如指令泛化的效果则相对集中在偏向 mid-training 或者 post-training 才开始体现,对于数据的验证来说,我们显然希望看到的是,这些数据能否充分优化 from scratch 的粗糙的动作空间,使得其流形更加适合后训练的拟合。换句话说,使用这些数据进行预训练的模型是否可以具有媲美或者类似于真机数据的效果。
仿真数据显然是在这些方面中 Gap 最小的数据,本身 Action Space 接近,并且来自我们的 InternData-A1 的实验结果也表明,纯使用仿真数据来预训练随机初始化的 Pi-0,可以媲美 Pi-0 本身的预训练权重。同时,在一些直接 post-training 的 sim2real 实验中,我们也发现模型可以仅使用仿真数据就泛化到现实场景。
可以预见的是,无论是当下已经非常成熟的图形化技术,可以使得仿真渲染出视觉上与现实区别不大的仿真数据,还是从当下 GS 等一系列的重建技术进一步发展,将现实世界带到仿真之中,尽管质疑仿真的声音一直存在,但是不同领域在各自方向上的努力在自然地促成着仿真的底层逻辑,real2sim2real 正在不断地完善它的闭环。
我们可以看到 InternData-A1 这种在数据合成上极具野心的努力以及效果,当然,也有其他的工作在数据资产等等内容上进一步发展,一同共建这一仿真的生态。
我们现在似乎还没有见到可以直接从随机化权重开始预训练并且开源的,基于 UMI 或者 Human Data 的模型,可以达到浑然天成的预训练效果,他们可能在未来出现,甚至注定出现,但是至少当下,仿真数据似乎才是经过验证的预训练数据。
更何况其令人老生常谈的特性依然生效,极高的效率,快捷的域随机化,使得成本极低。我们可以使用一万个扫描的 GS 文件,将机器人在仿真中支持的数十乃至数百个任务带到世界的各个角落,但是在不同的场景下部署一万个数据工厂,显然听上去更加天方夜谭。
数据合成的最佳实践#
仿真是好的,但是也是困难的。任何接触仿真的人,大多数都建议初学者从 Sapien 入手,Sapien 对于仿真的底层进行了大量的封装,使得大多数时候你不需要考虑那些复杂的设置以及大量的参数,然而对应的需要承受的也是显然的,可能稍微逊色的仿真质量以及较低的性能与画质。
在此之后,还有更多的内容是你需要考虑的,比如说 Grasp Pose 如何获得,比如说 Motion Planner,比如说各种机器人的适配。从一片荒芜到搭建起来一个 Scalable 的仿真数据引擎,其中需要大量的新封装,好设计,以及更多的工程优化。
InternDataEngine 提供了这样一个基石:
- 更真实的物理交互:支持刚体、流体、可形变物体、铰接物体等多类物理对象统一仿真,适配单臂、双臂、人形等多种机器人构型,可构建抓取、搬运到长时序复杂操作等多类任务,为模型泛化与Sim2Real提供更扎实的数据基础。
- 更多样的数据生成:依托仿真引擎内部状态提取高质量Ground Truth,并结合多维度的域随机化(如布局、纹理、结构与光照)拓展数据分布。最终生成精准、多样的操作数据,并同步导出边界框、分割掩码、关键点等丰富的多模态表征。
- 更高效的大规模生产:依托Nimbus动态流水线并行技术,将规划、渲染、存储等环节拆分为异步阶段,实现2–3倍效率提升,并支持千卡级GPU集群长时间稳定运行,8卡4090单日数据产能可达数百小时。
更多内容见我们的项目,Github Repo:https://github.com/InternRobotics/InternDataEngine