Robo-DM: Data Management For Large Robot Datasets
作者: Kaiyuan Chen, Letian Fu, David Huang, Yanxiang Zhang, Lawrence Yunliang Chen, Huang Huang, Kush Hari, Ashwin Balakrishna, Ted Xiao, Pannag R Sanketi, John Kubiatowicz, Ken Goldberg · ICRA 2025
许可协议
- 开放获取
- 论文: CC BY 4.0
以下内容均依据论文全文,按其 CC BY 4.0 许可协议使用;其中的图已注明作者。
一句话总结
Robo-DM 把每个机器人回合的视频、语言和动作流存储在一个带时间戳的 EBML 文件中,与 RLDS 相比最多缩小 70x,加载速度也比 LeRobot 更快。
为何重要
数据集的大小既决定托管方的下载费用,也决定训练任务等待数据的时间,因此体积更小、加载更快的文件可以降低共享和使用大型机器人数据集的成本。在 Octo 和 ICRT 实验中,这些压缩比下的有损视频压缩使验证损失变化了 2.6%,并且没有妨碍策略完成全部 15 次实物抓取放置试验。
问题
Open X-Embodiment 等大型遥操作机器人数据集的共享成本高、加载慢:在 Google Cloud 上存储 8.9 TB 每月花费 172 USD,但每次完整下载要让托管方花费 172 到 1,540 USD。现有格式要么把图像存储为矩阵(RLDS、HDF5),这是无损的但不节省空间,要么把数据流分散到多个文件中,并带有特定于框架的对齐假设(LeRobot),这使加载变得复杂并减慢解码。
提出的方法
Robo-DM 扩展了可扩展二进制元语言(EBML),即 MKV 视频背后的容器格式,把一个回合的所有视觉、语言和动作流存储在一个自包含的文件中,每个数据包都标有相对于回合开始的时间戳。数据以原始形式记录,并在采集后用有损(例如 AV1)或无损(FFV1)编解码器转码;训练时,一个负载均衡器在解码视频和读取已解码帧的内存映射缓存之间进行选择。它可与 ROS 2(rosbag、rviz、Foxglove)、TensorFlow 和 PyTorch 配合使用,并可导出为 HDF5 和 RLDS。
关键见解
- 作者表示,大部分体积缩减来自对相机流的视频压缩。
- 把所有数据流保存在一个带时间戳的容器中,就不再需要用启发式方法来对齐以不同速率记录的数据流。
- 把压缩推迟到采集之后进行,可以避免转码干扰数据采集。
- 小回合的收益较少:RT-1 在 RLDS 中平均每条轨迹 1.51 MB,Robo-DM 的寻址和解码元数据把缩减倍数限制在 4.39x。
主要结果
- 有损 Robo-DM 与原始 RLDS 文件对比(表 I):Bridge 从 387.49 GB 降到 5.31 GB(73x),Cable Routing 从 4.67 GB 降到 0.26 GB(18x),Door Opening 从 7.12 GB 降到 0.10 GB(71x),AutoLab UR5 从 76.39 GB 降到 3.26 GB(23x)。正文给出的数值为 18x、73x、23x 和 73x;摘要称有损最多 70x、无损 3.5x。
- 在三个 OXE 数据集上的加载吞吐量(图 4):比 LeRobot 分别快 33x、20x 和 5x,无损版本接近有损版本;摘要称在顺序解码时比 LeRobot 最多快 50x。HDF5 比 Robo-DM 更快,因为其数据未经压缩。
- 在 RT-1 上微调 Octo-small(111.06 GB 降到 36.50 GB,4.39x):批大小为 64 时,每次迭代数据加载 0.02 秒、训练 0.10 秒,与 TensorFlow 加载器相同;验证 MSE 在无损数据下为 1.86,在有损数据下为 1.91,增加了 2.6%。
- 引言报告称,在 Octo 微调中,Robo-DM 在小批大小时加载快 3.0x,在大批大小时不会带来减速。
- 在 Franka 机械臂上运行的 ICRT,用 335 条演示训练,这些演示以 77 MB 有损(相对于 5.8 GB 的 gzip HDF5 为 75.3x)或 1.7 GB 无损(3.41x)存储:用有损数据训练的模型在 15 次抓取放置试验中 15 次成功。
局限
- 把 RAM 用作解码缓存会增加内存占用,并可能在每个回合数据量大时降低吞吐量;在 Bridge 上,吞吐量随批大小增大而下降,而每个回合只采样一帧时可能更慢(作者陈述)。
- 解码在 CPU 上使用 PyAV,没有 GPU 加速;作者提到 Decord 和 NVIDIA NVDEC 是未来工作中更快的选项。
- 由于每个文件的寻址和解码元数据,小回合的压缩效果较差(RT-1 上为 4.39x)。
- 实物检验只是一项抓取放置任务,对用有损数据训练的模型进行了 15 次试验,没有用未压缩数据训练的对应模型作对照。
- LeRobot 的转换会丢弃深度流和部分动作流,因此没有 AutoLab UR5 的 LeRobot 大小数据。
对领域的影响
获得 IEEE ICRA 2025 机器人学习最佳论文奖;被引用 5 次。作者以开源形式发布了 Robo-DM,代码和评估脚本位于 github.com/BerkeleyAutomation/fog_x。
摘要
近期的结果表明,由遥操作机器人演示组成的超大规模数据集可用于训练基于 Transformer 的模型,这些模型有潜力泛化到新的场景、机器人和任务。然而,整理、分发和加载大型机器人轨迹数据集仍然具有挑战性,这些轨迹通常由视频、文本和数值模态组成——包括来自多台相机的数据流。我们提出 Robo-DM,一个高效的开源云端数据管理工具包,用于收集、共享机器人数据并利用其进行学习。借助 Robo-DM,机器人数据集以可扩展二进制元语言(Extensible Binary Meta Language,EBML)存储为自包含格式。Robo-DM 能显著减小机器人轨迹数据的大小、传输成本以及训练时的数据加载时间。与 OXE 数据集使用的 RLDS 格式相比,Robo-DM 的压缩最多可节省 70x(有损)和 3.5x(无损)的空间。Robo-DM 还通过把视频解码与内存映射的解码缓存进行负载均衡来加速数据读取。与同样使用有损视频压缩的框架 LeRobot 相比,Robo-DM 在顺序解码时最多快 50x。我们对一个用 Robo-DM 有损压缩数据训练的模型、一项抓取放置任务以及 In-Context Robot Transformer 进行了实物评估。Robo-DM 对原始数据集使用 75x 压缩,下游任务的准确率没有下降。代码和评估脚本可在网站 https://github.com/BerkeleyAutomation/fog_x 上找到。
链接
- arXiv 2505.15558: https://arxiv.org/abs/2505.15558
- DOI 10.1109/ICRA55743.2025.11128693: https://doi.org/10.1109/ICRA55743.2025.11128693
- PDF: https://arxiv.org/pdf/2505.15558v1
- 代码: https://github.com/BerkeleyAutomation/fog_x