Robo-DM: Data Management For Large Robot Datasets
Autores: 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
Licencias
- Acceso abierto
- Artículo: CC BY 4.0
Todo lo que sigue se basa en el artículo completo bajo su licencia CC BY 4.0; su figura se muestra con crédito a los autores.
En resumen
Robo-DM almacena los flujos de vídeo, lenguaje y acción de cada episodio de robot en un único archivo EBML con marcas de tiempo, lo que reduce el tamaño hasta 70x frente a RLDS y carga más rápido que LeRobot.
Por qué importa
El tamaño del conjunto de datos determina tanto la factura de descarga del proveedor como el tiempo que un trabajo de entrenamiento espera los datos, por lo que unos archivos más pequeños que cargan rápido abaratan compartir y usar grandes conjuntos de datos de robots. En los experimentos con Octo e ICRT, la compresión de vídeo con pérdida con estas tasas cambió la pérdida de validación en un 2,6 % y no impidió que una política completara los 15 ensayos físicos de pick-and-place.
Problema
Los grandes conjuntos de datos de robots teleoperados como Open X-Embodiment son caros de compartir y lentos de cargar: almacenar 8,9 TB en Google Cloud cuesta 172 USD al mes, pero cada descarga completa le cuesta al proveedor entre 172 y 1.540 USD. Los formatos existentes o bien almacenan las imágenes como matrices (RLDS, HDF5), lo que no tiene pérdidas pero no es eficiente en espacio, o bien dispersan los flujos en varios archivos con supuestos de alineación propios de cada framework (LeRobot), lo que complica la carga y ralentiza la decodificación.
Solución propuesta
Robo-DM amplía Extensible Binary Meta Language (EBML), el contenedor en el que se basa el vídeo MKV, para almacenar todos los flujos de visión, lenguaje y acción de un episodio en un único archivo autocontenido, con cada paquete etiquetado con una marca de tiempo relativa al inicio del episodio. Los datos se graban en bruto y se transcodifican tras la recogida con códecs con pérdida (por ejemplo, AV1) o sin pérdida (FFV1); en el entrenamiento, un equilibrador de carga elige entre decodificar el vídeo y leer cachés mapeadas en memoria de fotogramas decodificados. Funciona con ROS 2 (rosbag, rviz, Foxglove), TensorFlow y PyTorch, y exporta a HDF5 y RLDS.
Ideas clave
- La mayor parte de la reducción de tamaño procede de la compresión de vídeo de los flujos de las cámaras, según afirman los autores.
- Mantener todos los flujos en un único contenedor con marcas de tiempo elimina la necesidad de heurísticas para alinear flujos grabados a frecuencias distintas.
- Aplazar la compresión hasta después de la recogida evita que la transcodificación interfiera con la recogida de datos.
- Los episodios pequeños ganan menos: RT-1 tiene una media de 1,51 MB por trayectoria en RLDS, y los metadatos de búsqueda y decodificación de Robo-DM limitan la reducción a 4,39x.
Resultados principales
- Robo-DM con pérdida frente a los archivos RLDS originales (Tabla I): Bridge de 387,49 GB a 5,31 GB (73x), Cable Routing de 4,67 GB a 0,26 GB (18x), Door Opening de 7,12 GB a 0,10 GB (71x), AutoLab UR5 de 76,39 GB a 3,26 GB (23x). El texto da estas cifras como 18x, 73x, 23x y 73x; el resumen indica hasta 70x con pérdida y 3,5x sin pérdida.
- Rendimiento de carga en tres conjuntos de datos de OXE (Fig. 4): más rápido que LeRobot en 33x, 20x y 5x, con la versión sin pérdida cerca de la versión con pérdida; el resumen indica hasta 50x más rápido que LeRobot al decodificar secuencialmente. HDF5 fue más rápido que Robo-DM porque sus datos no están comprimidos.
- Ajuste fino de Octo-small en RT-1 (de 111,06 GB a 36,50 GB, 4,39x): 0,02 s de carga de datos y 0,10 s de entrenamiento por iteración con tamaño de lote 64, igual que el cargador de TensorFlow; MSE de validación de 1,86 con datos sin pérdida y de 1,91 con datos con pérdida, un aumento del 2,6 %.
- La introducción indica que, para el ajuste fino de Octo, Robo-DM carga 3,0x más rápido con tamaño de lote pequeño y no añade ralentización con tamaño de lote grande.
- ICRT en un brazo Franka, entrenado con 335 demostraciones almacenadas como 77 MB con pérdida (75,3x a partir de 5,8 GB de HDF5 con gzip) o 1,7 GB sin pérdida (3,41x): 15 de 15 ensayos de pick-and-place tuvieron éxito con el modelo entrenado con datos con pérdida.
Limitaciones
- Usar la RAM como caché de decodificación aumenta el uso de memoria y puede reducir el rendimiento cuando los datos por episodio son grandes; en Bridge, el rendimiento cayó al crecer el tamaño de lote, y muestrear un único fotograma por episodio puede ser más lento (según los autores).
- La decodificación usó PyAV en la CPU sin aceleración por GPU; los autores citan Decord y NVIDIA NVDEC como opciones más rápidas para trabajos futuros.
- Los episodios pequeños se comprimen menos por los metadatos de búsqueda y decodificación de cada archivo (4,39x en RT-1).
- La comprobación física es una única tarea de pick-and-place con 15 ensayos de un modelo entrenado con datos con pérdida, sin un modelo equivalente entrenado con datos sin comprimir.
- La conversión de LeRobot descarta el flujo de profundidad y algunos flujos de acción, por lo que no hay cifra de tamaño de LeRobot para AutoLab UR5.
Impacto en el campo
Ganó el IEEE ICRA 2025 Best Paper Award on Robot Learning; 5 citas. Los autores publican Robo-DM como código abierto, con el código y los scripts de evaluación en github.com/BerkeleyAutomation/fog_x.
Resumen
Resultados recientes sugieren que conjuntos de datos muy grandes de demostraciones robóticas teleoperadas pueden usarse para entrenar modelos basados en transformadores con potencial para generalizar a nuevas escenas, robots y tareas. Sin embargo, curar, distribuir y cargar grandes conjuntos de datos de trayectorias robóticas, que normalmente constan de modalidades de vídeo, texto y numéricas —incluidos flujos de varias cámaras—, sigue siendo un reto. Proponemos Robo-DM, un conjunto de herramientas de gestión de datos eficiente, de código abierto y basado en la nube para recoger, compartir y aprender con datos de robots. Con Robo-DM, los conjuntos de datos de robots se almacenan en un formato autocontenido con Extensible Binary Meta Language (EBML). Robo-DM puede reducir significativamente el tamaño de los datos de trayectorias robóticas, los costes de transferencia y el tiempo de carga de datos durante el entrenamiento. En comparación con el formato RLDS usado en los conjuntos de datos OXE, la compresión de Robo-DM ahorra espacio hasta 70x (con pérdida) y 3,5x (sin pérdida). Robo-DM también acelera la recuperación de datos equilibrando la carga de la decodificación de vídeo con cachés de decodificación mapeadas en memoria. En comparación con LeRobot, un framework que también usa compresión de vídeo con pérdida, Robo-DM es hasta 50x más rápido al decodificar secuencialmente. Evaluamos físicamente un modelo entrenado por Robo-DM con compresión con pérdida, una tarea de pick-and-place e In-Context Robot Transformer. Robo-DM usa una compresión de 75x del conjunto de datos original y no sufre reducción en la precisión de la tarea posterior. El código y los scripts de evaluación pueden encontrarse en el sitio web https://github.com/BerkeleyAutomation/fog_x.
Enlaces
- 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
- Código: https://github.com/BerkeleyAutomation/fog_x