E1 · Ejecutar el script
5 minCopia orcamento.py, ejecútalo y comprueba que la salida sea igual a la del cuadro.
Listo cuando: tu terminal muestra 20 ms, 500 ms, 9 y "sí".
Clase 2 · 16 min
Todo VLA tiene tres partes: una que ve, una que entiende y una que convierte la decisión en movimiento. La parte del movimiento es donde más se diferencian los modelos, y donde el reloj aprieta: el brazo espera un comando cada pocos milisegundos.
Comenzar la lección
Objetivo: explicar el camino imagen + frase → acciones y por qué existen action chunking y flow matching.
Desplázate por la página: cada etapa enciende una parte del diagrama.
Desplázate por la página: cada etapa de abajo enciende su parte del diagrama.
Transforma cada imagen en una secuencia de vectores que el resto del modelo entiende. Normalmente viene listo desde un VLM preentrenado.
Un VLM que recibe los tokens de la imagen, la instrucción y el estado del robot. Ejemplos de 2026: GR00T N1.7 usa Cosmos-Reason2-2B; RDT2 usa Qwen2.5-VL-7B. De aquí viene el "entiende" del título del curso.
Convierte la decisión del backbone en números de motor. Puedes elegir valores de una lista (bins), escribir la trayectoria comprimida en tokens (FAST) o generar la acción continua con flow matching o difusión.
En lugar de una acción a la vez, el modelo devuelve un pedazo de N acciones. El control ejecuta ese pedazo mientras el modelo calcula el siguiente.
La cámara se vuelve tokens, el backbone los junta con la frase y el estado, el action head devuelve un chunk de acciones y el motor ejecuta mientras se calcula el siguiente chunk.
En la mayoría de los VLA de 2026 el backbone es un VLM preentrenado, y lo que cambia de un modelo a otro es el action head.
Haz clic en cada una. La diferencia es velocidad y precisión.
A cada articulación se le divide el rango de movimiento en cajitas (bins), y el modelo elige una cajita como elegiría una palabra. Modelos como OpenVLA (7B, jun/2024) siguen esta idea.
Es simple, pero una acción a la vez y con precisión limitada por el tamaño de la cajita.
La tokenización FAST de Physical Intelligence aplica una transformada (DCT) y compresión (BPE) a un pedazo de la trayectoria, que se convierte en pocos tokens. Según PI, entrena 5 veces más rápido.
En may/2026 MolmoAct 2, de Ai2, publicó una reimplementación abierta del tokenizer FAST, con datos abiertos.
Una parte del modelo dedicada a la acción (action expert) parte de ruido y lo empuja hasta la acción correcta, en valores continuos. Es el camino de π0.
La difusión es una pariente cercana: GR00T usa un DiT (transformer de difusión) de 32 capas, y el modelo de Boston Dynamics con TRI controla todo el Atlas a 30 Hz con diffusion transformer y flow matching (ago/2025).
Movimiento fino y rápido: acción continua en chunks. Razonamiento paso a paso: tokens.
Un modelo grande piensa despacio; un motor quiere comandos rápidos. La solución es apilar sistemas. En Helix de Figure (feb/2025), S2 es un VLM a 7–9 Hz y S1 una política a 200 Hz.
Helix 02 (ene/2026) añadió S0: un controlador de cuerpo completo de 10M parámetros a 1 kHz, que reemplaza 109.504 líneas de C++.
Un script de diez líneas que responde: ¿da tiempo de que el modelo piense antes de que acabe el chunk?
# orcamento.py: cuánto tiempo cubre cada pedazo (chunk) de acciones
hz = 50 # frecuencia del control (comandos por segundo)
chunk = 25 # acciones que el modelo devuelve de una vez
inferencia_ms = 180 # tiempo para que el modelo genere un chunk
periodo_ms = 1000 / hz
dura_chunk_ms = chunk * periodo_ms
acoes_na_espera = inferencia_ms / periodo_ms
print(f"período do controle: {periodo_ms:.0f} ms")
print(f"um chunk de {chunk} ações cobre: {dura_chunk_ms:.0f} ms")
print(f"ações que passam enquanto o modelo pensa: {acoes_na_espera:.0f}")
print("dá tempo de pensar antes do chunk acabar?", "sim" if inferencia_ms < dura_chunk_ms else "não")python3 orcamento.py
$ python3 orcamento.py período do controle: 20 ms um chunk de 25 ações cobre: 500 ms ações que passam enquanto o modelo pensa: 9 dá tempo de pensar antes do chunk acabar? sim
Los 180 ms son el tiempo de una llamada de acción de MolmoAct 2 informado por Ai2 (may/2026). En tu robot, mide el tuyo.
Haz la cuenta antes de ejecutar el script y después compruébala.
Copia orcamento.py, ejecútalo y comprueba que la salida sea igual a la del cuadro.
Listo cuando: tu terminal muestra 20 ms, 500 ms, 9 y "sí".
Cambia chunk a 8 y mantén 50 Hz y 180 ms. Antes de ejecutar, escribe en papel: cuánto cubre el chunk, cuántas acciones pasan durante la espera y si alcanza el tiempo.
Listo cuando: tu papel y la terminal dicen lo mismo: 160 ms, 9 acciones y "no" (el chunk se acaba antes de la próxima inferencia).
Todavía a 50 Hz y 180 ms, descubre el chunk más pequeño que alcanza.
Listo cuando: llegaste a 10 acciones (200 ms, mayor que 180 ms) y sabes explicar por qué 9 no basta.
La explicación aparece después de tu respuesta.
Pregunta 1 de 4
Un control a 50 Hz con chunk de 25 acciones. ¿Cuánto tiempo cubre el chunk?competencia
Pregunta 2 de 4
¿Por qué existe el action chunking?
Pregunta 3 de 4
¿Qué action head genera la acción como valor continuo, partiendo de ruido?
Pregunta 4 de 4
En Helix 02, ¿qué hace S0?
Elige una alternativa. La explicación aparece después de tu intento.