Arquitectura

OpenVLA [1] es el primer VLA open-source de 7 mil millones de parámetros entrenado como política robótica generalista. Mientras RT-2 demostró el concepto VLA, sus pesos nunca fueron publicados y requería infraestructura a escala de Google. OpenVLA democratiza el enfoque: código, pesos y receta de entrenamiento son completamente abiertos.

El modelo se construye sobre el framework Prismatic VLM [2] , que presenta un sistema de visión de doble encoder cuidadosamente diseñado:

  • SigLIP (ViT-SO400M) [3] : Encoder contrastivo visión-lenguaje entrenado con pérdida sigmoide. Excelente en comprensión semántica — reconocimiento de objetos, escenas y vinculación de lenguaje con elementos visuales.
  • DINOv2 (ViT-L) [4] : Encoder auto-supervisado entrenado con auto-destilación (sin lenguaje). Captura características espaciales y geométricas finas — bordes, texturas, profundidad y contornos de objetos.

¿Por qué dos encoders? La manipulación robótica requiere tanto entender qué es un objeto (semántico — SigLIP) como dónde está exactamente y cómo es geométricamente (espacial — DINOv2). Las ablaciones en el paper del Prismatic VLM muestran que esta combinación supera a cualquier encoder individual.

Las características visuales de ambos encoders se concatenan y proyectan al espacio de embeddings de Llama 2 7B [5] . Para una imagen de 224×224, cada encoder produce 256 tokens de parche, dando 512 tokens visuales totales tras la concatenación.

$$[\text{SigLIP}_1, \ldots, \text{SigLIP}_{256}, \text{DINOv2}_1, \ldots, \text{DINOv2}_{256}, \ell_1, \ldots, \ell_m, a_1, \ldots, a_7]$$

Entrenamiento en Open X-Embodiment

OpenVLA se entrena en el dataset Open X-Embodiment (OXE) [6] — específicamente, la misma mezcla de datos usada por RT-2-X — con aproximadamente 970K trayectorias robóticas en 22 embodiments . Esto incluye manipuladores de un brazo (WidowX, Google Robot, xArm), configuraciones bimanuales y manipuladores móviles.

La receta de entrenamiento involucra dos etapas: primero, pre-entrenamiento del VLM en tareas visión-lenguaje con los encoders de visión congelados; luego, fine-tuning completo en datos robóticos OXE con 256 nuevos tokens de acción añadidos al vocabulario.

Un desafío clave con OXE es la heterogeneidad del espacio de acciones : diferentes robots tienen distintos números de articulaciones, escalas de acción y modos de control. OpenVLA normaliza todo a un formato común de 7 dimensiones escalado a $[-1, 1]$ basándose en estadísticas del dataset.

📌 La normalización del espacio de acciones no es trivial. El mismo "mover 1 unidad a la derecha" significa movimientos físicos completamente diferentes en un WidowX (brazo de escritorio pequeño) vs un Google Robot (manipulador móvil grande).

Pipeline de Predicción de Acciones

En inferencia, OpenVLA predice acciones autoregresivamente. Dada una imagen $o_t$ e instrucción $\ell$, el modelo genera 7 tokens de acción secuencialmente:

$$a_t^{(i)} \sim p_\theta\bigl(\cdot \;\big|\; a_t^{(1)}, \ldots, a_t^{(i-1)},\, o_t,\, \ell\bigr), \quad i = 1, \ldots, 7$$

Cada token es un entero en $\{0, \ldots, 255\}$ representando un bin en la dimensión de acción correspondiente: deltas de posición ($\Delta x, \Delta y, \Delta z$), deltas de rotación (roll, pitch, yaw) y estado del gripper.

La pérdida de entrenamiento se calcula solo sobre tokens de acción , no sobre tokens de imagen o lenguaje:

$$\mathcal{L}_{\text{OpenVLA}} = -\frac{1}{N} \sum_{n=1}^{N} \sum_{i=1}^{7} \log p_\theta\bigl(a_{t,n}^{(i)*} \;\big|\; a_{t,n}^{(1)*}, \ldots, a_{t,n}^{(i-1)*},\, o_{t,n},\, \ell_n\bigr)$$

Fine-Tuning para Nuevos Robots

OpenVLA soporta fine-tuning eficiente mediante Low-Rank Adaptation (LoRA) [7] , que congela los pesos pre-entrenados $W_0$ y añade matrices de actualización de bajo rango:

$$W = W_0 + BA$$

Con rango $r = 32$, solo ~1.4% de los parámetros son entrenables. El fine-tuning puede hacerse en una sola GPU A100 con tan solo 20-50 demostraciones en el dominio objetivo.

En benchmarks frente a RT-2-X, OpenVLA (7B) logró tasas de éxito comparables en Google Robot y superó significativamente a RT-2-X en tareas WidowX, siendo 8× más pequeño.

💡 Que un modelo de 7B iguale o supere a uno de 55B sugiere que para manipulación física, la calidad y relevancia de los datos puede importar más que la escala del modelo — al menos con los volúmenes de datos actuales.

Quiz

Pon a prueba tu comprensión de la arquitectura y entrenamiento de OpenVLA.

¿Por qué OpenVLA usa dos encoders de visión separados (SigLIP y DINOv2)?

¿Cómo maneja OpenVLA el hecho de que diferentes robots tienen diferentes espacios de acción?

¿Sobre qué calcula OpenVLA su pérdida de entrenamiento?

¿Qué porcentaje de los parámetros de OpenVLA son entrenables al usar LoRA con rango r = 32?

¿Qué sugiere el hallazgo de que OpenVLA (7B) iguale a RT-2-X (55B)?