Ciclo completo de datos para robots: grabar, entrenar y desplegar con Strands, LeRobot y Hugging Face Buckets

Este artículo explica un flujo de trabajo integrado que permite grabar episodios de robots, sincronizarlos en Storage Buckets de Hugging Face, entrenar modelos leyendo los datos por streaming y desplegar checkpoints al hardware. Es una solución pensada para reducir copias y transferencias redundantes durante campañas de recolección de datos.

Por Redaccion TD
Ciclo completo de datos para robots: grabar, entrenar y desplegar con Strands, LeRobot y Hugging Face Buckets

Resumen

En entornos de investigación y producción con robots, el ciclo que va de la grabación de demostraciones al entrenamiento y al despliegue de políticas suele implicar muchas transferencias de datos y duplicaciones. Strands Robots (un SDK open source) y el formato LeRobot, combinados con los Storage Buckets de Hugging Face, permiten mantener todo el flujo en un solo backend: grabar en el bucket, almacenar con deduplicación a nivel de bytes, entrenar por streaming sin descargar todo el dataset y desplegar el checkpoint al robot.

Este enfoque reduce copia tras copia y facilita que la misma entidad que graba también lea, entrene y vuelva a desplegar, acelerando ciclos de mejora continua —algo especialmente valioso cuando la conectividad o el presupuesto de nube son limitados.

¿Cuál es el problema que resuelve este flujo?

En un ciclo tradicional de recolección de datos para robótica: cada nueva grabación se sube al repositorio, cada entrenamiento suele copiar la totalidad del dataset a las GPUs y cada despliegue genera nuevos checkpoints que se mueven de ida y vuelta. Con el tiempo esto acarrea costos de transferencia de bytes, almacenamiento redundante y latencias operativas.

El flujo presentado integra:

  • Grabación directa en un Storage Bucket junto al dataset en el Hub.
  • Sincronización con deduplicación por bytes para evitar subir de nuevo lo que no cambió.
  • Entrenamiento por streaming, leyendo los datos cuadro a cuadro desde el Hub sin descargar todo localmente.
  • Despliegue del checkpoint de vuelta al hardware con un cambio mínimo en la llamada de despliegue.

Componentes clave

  • Strands Robots: SDK (licencia Apache 2.0) que ofrece abstracciones de robot, simulación y compatibilidad con la pila LeRobot como AgentTools. Permite componer agentes que controlan tanto simulación como hardware físico.

  • LeRobot: formato de dataset para robótica usado ampliamente en el Hub. Según el Project Pulse, más de 90,000 datasets y modelos usan el formato desde más de 8,000 publicadores. Un dataset grabado por Strands es legible por cualquier herramienta ya diseñada para LeRobot, sin conversiones.

  • Hugging Face Storage Buckets: un tipo de repositorio mutable y no versionado, basado en Xet, anunciado en marzo de 2026. Se ubica en el mismo espacio de nombres hf:// que los repositorios del Hub y se administra con la misma CLI, por lo que actúa como la capa de trabajo donde quedan las grabaciones entre la recolección y el entrenamiento.

Cómo funciona el ciclo de datos dentro de un agente

La propuesta es que una única instancia Robot() realice tanto la grabación como la lectura para entrenamiento y despliegue. El agente decide cuándo ejecutar episodios, sincroniza episodios seleccionados al bucket y, más tarde, entrena leyendo el dataset por streaming.

Los pasos principales son:

  1. Grabar una demostración en el bucket
  • El agente invoca una herramienta que ejecuta una demostración (por ejemplo, “recoger un cubo”).
  • La grabación se produce en formato LeRobot y se guarda en disco de la misma manera que cualquier dataset LeRobot existente.
  1. Almacenar con deduplicación a nivel de bytes
  • Al sincronizar hacia un Storage Bucket, la transferencia sube solo los bytes que cambiaron, lo que reduce costos y tiempos cuando se repiten escenas o se agregan pocos episodios.
  1. Entrenar mediante streaming desde el Hub
  • En lugar de descargar el dataset completo antes del entrenamiento, el entrenamiento consume el dataset cuadro a cuadro directamente desde el Hub. Esto permite comenzar a entrenar sin grandes copias locales y es útil cuando la GPU y el almacenamiento local son limitados.
  1. Desplegar la política y cerrar el ciclo
  • El checkpoint entrenado se despliega al robot con un ajuste mínimo (por ejemplo, mudar el modo de simulación a real). Las nuevas demostraciones registradas en hardware vuelven al mismo bucket y el ciclo continúa.

Ejemplo conciso del loop (paradigma):

from strands import Agent from strands_robots import Robot

sim = Robot(“so100”) # modo por defecto: sim agent = Agent(tools=[sim])

Grabar y sincronizar al bucket

agent(“Record a pick-the-cube demo and sync it to my-org/robot-fave.”)

Leer por streaming desde el bucket para entrenar

for batch in sim.stream_dataset(“my-org/robot-fave/cube_pick”, repo_type=“bucket”).dataloader(batch_size=64): …

El código anterior ilustra la simplicidad: la misma instancia Robot() graba, sincroniza y luego consume el dataset por streaming para entrenamiento.

Requisitos mínimos y compatibilidad

Para reproducir este flujo en su entorno se necesita, como mínimo:

  • Python 3.12+ en Linux o macOS (soporte para Apple Silicon en el backend MuJoCo).
  • Un proveedor de modelos compatible con Strands para las capacidades de razonamiento del agente (Amazon Bedrock con credenciales AWS, Anthropic, OpenAI u Ollama localmente).
  • Strands Robots con extras de dataset instalados:

pip install -U “strands-robots[sim-mujoco,lerobot]>=0.5.1”

El extra lerobot trae LeRobot (>=0.6.1), datasets, av y torchcodec, cubriendo grabación y decodificación de video.

Según la guía, cada etapa descrita puede ejecutarse en una laptop con estos componentes.

Consideraciones prácticas para América Latina

  • Costos y conectividad: reducir transferencias repetidas de bytes es especialmente relevante en regiones donde el ancho de banda es costoso o más limitado. La deduplicación y el streaming ayudan a bajar tanto factura como tiempo de espera.

  • Laboratorios y manufactura: equipos en centros de investigación, universidades y fábricas locales pueden beneficiarse del ciclo compacto para iterar políticas sin depender de grandes infraestructuras de almacenamiento local.

  • Capacitación y adopción: al mantener el formato LeRobot como estándar, los equipos latinoamericanos que ya usan datasets del Hub se integran con menos fricción.

Seguridad y buenas prácticas

Aunque el post original enumera un apartado de “Security Considerations”, algunas recomendaciones prácticas a considerar al implementar este flujo:

  • Control de accesos al bucket y a los repositorios en el Hub.
  • Validación y limpieza de episodios antes de incorporarlos al dataset de entrenamiento para evitar sesgos accidentales o datos corruptos.
  • Monitoreo de costos y transferencia de datos, especialmente en despliegues continuos.

Dónde seguir y recursos

El artículo original incluye un notebook runnable en examples/notebooks/05_streaming_data_loop.ipynb que contiene la implementación de referencia. Si están comenzando con Strands Robots, conviene revisar la primera entrega de la serie para entender la fábrica Robot(), la simulación y el despliegue a hardware SO-101/SO-100.

Este flujo —grabar, deduplicar, entrenar por streaming y desplegar— simplifica el ciclo de mejora continua y resulta particularmente útil cuando se necesita iterar frecuentemente con recursos limitados. Para equipos en América Latina, la reducción de transferencias y la compatibilidad con formatos ya difundidos en el Hub son beneficios claros a la hora de escalar proyectos de robótica.

Fuente original: Hugging Face Blog