PTENES
← Ruta 1 MÓDULO 1.2

🧬 Anatomía VLA: Vision + Language + Action

Abrimos la caja negra. Un VLA tiene tres órganos: un encoder de visión que convierte píxeles en tokens, un backbone de lenguaje que razona y una cabeza de acción que emite comandos motores, todo conectado mediante fusión multimodal, propiocepción y un loop de control a decenas de Hz.

6
Temas
~40
Minutos
Básico
Nivel
Teoría
Tipo

Contenido detallado

👁 Vision encoder ViT / DINOv2 / SigLIP 💬 Texto instrucción → tokens 📐 Estado articulaciones, fuerza Backbone LLM fusión multimodal cross-attention / early fusion 🦾 Action head Δpose · gripper

El flujo de tokens: tres entradas convergen en el backbone, que entrega un estado latente a la cabeza de acción.

1

👁 Encoder de visión: ViT, DINOv2, SigLIP

La imagen entra como una cuadrícula de patches (p. ej., 16×16 px), cada uno proyectado en un patch embedding — el token visual. Un ViT procesa estos tokens con self-attention. Las opciones comunes tienen objetivos distintos: SigLIP alinea visión y texto mediante contrastive (bueno para semántica/lenguaje), mientras que DINOv2 aprende features espaciales densas autosupervisadas (bueno para ubicación y geometría). OpenVLA usa un codificador dual (SigLIP + DINOv2) precisamente para combinar semántica y espacio.

✓ Hacer

  • ✓Combinar SigLIP (semántica) + DINOv2 (espacio) para mayor robustez.
  • ✓Mantener el encoder preentrenado y hacer un fine-tuning ligero.
  • ✓Usar múltiples cámaras (frontal + wrist) como tokens adicionales.

✗ Evitar

  • ✗Entrenar el encoder desde cero con pocas demostraciones.
  • ✗Resolución demasiado baja que pierde detalles de agarre.
  • ✗Agotar el token budget con cámaras redundantes.

Patch embedding

Patch de imagen → token.

SigLIP

Alineación contrastiva visión-texto.

DINOv2

Características espaciales autosupervisadas.

Codificador dual

Dos encoders concatenados.

2

💬 Backbone de lenguaje: Llama, PaliGemma

El corazón del VLA es un LLM preentrenado que funciona como motor de razonamiento multimodal. OpenVLA usa un VLM Prismatic con base Llama 2-7B; π0 parte del PaliGemma (3B). La ventaja es heredar miles de millones de tokens de conocimiento web —gramática, mundo, relaciones entre objetos— que aportan grounding semántico a la instrucción. El backbone recibe tokens de visión + texto (+ estado) y produce un estado latente que condiciona la acción.

📊 Backbones en la práctica

  • OpenVLA — 7B, base Llama 2, Prismatic VLM.
  • π0 — base PaliGemma 3B + action expert mediante flow matching.
  • RT-2 — PaLI-X / PaLM-E (hasta 55B), cerrado.

⚡ Consejo práctico

El tamaño del backbone es un trade-off directo con la latencia de inferencia. Los modelos de 7B exigen una GPU potente y action chunking para ejecutarse a 10-50Hz; las bases más pequeñas (3B) facilitan el deploy en el borde.

PaliGemma

VLM base de π0.

Prismatic

Receta de VLM de OpenVLA.

Decoder transformer

Núcleo autoregresivo de razonamiento.

Grounding semántico

Conocimiento web aplicado a la tarea.

3

🔗 Fusión multimodal: cross-attention vs early fusion

¿Cómo entran la visión y el texto en el mismo contexto? En early fusion (OpenVLA, π0), los tokens visuales y de texto simplemente se concatenados en la secuencia de entrada del LLM, que los mezcla mediante self-attention — simple y eficaz, pero el número de tokens visuales aumenta el costo. En cross-attention (Flamingo, algunos VLA), el texto consulta la imagen mediante capas dedicadas de atención cruzada, manteniendo más ligero el backbone de lenguaje. La principal contrapartida es presupuesto de tokens versus capacidad de grounding fino.

# Early fusion (concatenação)
seq = [img_tok_1 ... img_tok_256, txt_tok_1 ... txt_tok_K]
latent = LLM(seq)            # self-attention mistura tudo

# Cross-attention
latent = LLM(txt_tok)        # texto no fluxo principal
latent = CrossAttn(latent, img_tok)  # consulta a imagem

💡 Por qué la fusión temprana se impuso en los VLA

La concatenación es la forma más sencilla de reutilizar un VLM listo sin cambiar la arquitectura. Como los VLA parten de VLM ya entrenados con early fusion, heredan esta elección. El costo es gestionar cuidadosamente el token budget visual.

Fusión temprana

Concatenar tokens en la entrada.

Cross-attention

El texto consulta la imagen.

Token budget

El costo crece con los tokens visuales.

Grounding fino

Vincular la palabra con la región de la imagen.

4

🦾 La cabeza de acción (action head)

El action head convierte el estado latente en comandos motores — normalmente Δpose del efector (traslación y rotación relativas) más el estado del gripper (abrir/cerrar). Hay tres familias: (1) detokenizer, cuando las acciones se discretizaron en tokens (RT-1/RT-2/OpenVLA); (2) action expert mediante difusión/flow, un módulo separado que genera acciones continuas (π0); (3) regresión directa de floats. La elección determina la expresividad y la latencia: tema de los Módulos 1.5 y 1.6.

1

Detokenizer (discreto)

El LLM predice tokens de acción; un mapa fijo los convierte en valores motores. Es simple y se integra al vocabulario.

2

Action expert (difusión/flow)

El módulo dedicado genera fragmentos de acción continua condicionados por el espacio latente. Expresivo, multimodal.

3

Regresión directa

El MLP emite valores float. Tiene baja latencia, pero le cuesta manejar la multimodalidad si se entrena con MSE.

Δpose

Movimiento relativo del efector.

Action expert

Módulo de acción separado.

Detokenizer

Token → valor motor.

Estado del gripper

Comando de abrir/cerrar.

5

📐 Propiocepción y estado

La cámara no basta. El robot necesita conocer su propio estado — ángulos de articulación, velocidades, fuerza en el efector y el estado del gripper. Estos valores se incorporan como un state token adicional. Igual de importante es el historial temporal: ver solo el frame actual crea ambigüedad (¿el brazo está subiendo o bajando?). Apilar observaciones recientes le da al modelo una noción del movimiento y la intención en curso.

⚡ Consejo práctico

Atención al confusión causal: si la propiocepción se correlaciona fuertemente con la acción en las demos, el modelo puede "hacer trampa" copiando el estado anterior en vez de mirar la cámara. Equilibra el peso del estado y valida con perturbaciones.

📊 Componentes del estado

  • Juntas — posición y velocidad de cada DOF.
  • Fuerza/torque — sensor en la muñeca para el contacto.
  • Historial — N frames recientes para inferir movimiento.

Propiocepción

Sentido del propio cuerpo.

Token de estado

Estado codificado como token.

Observation history

Ventana temporal de observaciones.

Confusión causal

Atajo que ignora la visión.

6

⏱ El loop de control: Hz, latencia, action chunking

La manipulación fina necesita comandos a ~50Hz, pero un VLA de 7B no infiere tan rápido. La solución es el action chunking: el modelo predice un bloque de H acciones futuras de una vez (ej.: 16-50 pasos), que se ejecutan de forma abierta mientras se ejecuta la siguiente inferencia. Con horizonte móvil, vuelve a predecir antes de que termine el chunk, manteniendo la capacidad de reacción. Esto amortiza la latencia de la red y suaviza la trayectoria: una idea introducida por ACT y adoptada por Diffusion Policy y π0.

1

Inferir un chunk

El modelo predice H acciones futuras de una sola vez.

2

Ejecutar en lazo abierto

Las acciones del chunk se ejecutan a 50Hz mientras la red piensa en el siguiente.

3

Volver a predecir (horizonte móvil)

Antes de que termine el chunk, una nueva inferencia mantiene el ciclo reactivo.

💡 La latencia es un presupuesto

Si la inferencia tarda 100ms y el chunk cubre 320ms (16 pasos a 50Hz), tienes margen para reaccionar. Los chunks demasiado grandes reducen la capacidad de reacción; los demasiado pequeños exceden la latencia. Ajustar H es ingeniería, no un detalle.

Action chunking

Predecir bloques de acciones futuras.

Horizonte móvil

Replanificar antes de terminar.

Control rate

Hz de ejecución motora.

Horizonte H

Tamaño del chunk previsto.

✅ Resumen del módulo

✓
Tres órganos — vision encoder, backbone LLM y action head.
✓
Fusión multimodal — predomina la early fusion; cross-attention es la alternativa ligera.
✓
El estado importa — la propiocepción y el historial evitan la ambigüedad temporal.
✓
Ciclo de control — action chunking + receding horizon amortizan la latencia.

Próximo módulo

1.3 — Evolución de los modelos: el linaje RT-1 → RT-2 → OpenVLA → π0 → Qwen-VLA.