Del Alineamiento a la Conversación
Los artículos 2–5 cubrieron cómo construir un espacio compartido de visión y lenguaje (CLIP, SigLIP) y cómo conectar codificadores de visión a LLMs (proyección lineal, Q-Former, atención cruzada con compuerta). Pero conectar los módulos no es suficiente — el LLM necesita aprender a usar la información visual en la práctica: responder preguntas sobre imágenes, describir lo que ve, razonar sobre contenido visual y seguir instrucciones que involucran tanto texto como imágenes.
Este es el problema que resuelve el ajuste por instrucciones visuales . El término proviene de LLaVA (Liu et al., 2023) , que demostró que una receta de entrenamiento en dos etapas — primero alinear, luego instruir — puede convertir un LLM pre-entrenado en un asistente multimodal capaz. La idea es engañosamente simple: tomar un codificador de visión congelado, conectarlo a un LLM congelado a través de una pequeña capa de proyección, y luego entrenar este sistema en dos etapas cuidadosas que progresivamente desbloquean sus capacidades multimodales.
Etapa 1: Alineamiento de Características
En la primera etapa, solo se entrena la capa de proyección (el puente entre el codificador de visión y el LLM, cubierto en el artículo 5). Los pesos del codificador de visión y del LLM permanecen congelados. El objetivo es enseñar a este delgado puente a traducir características visuales al espacio de tokens que el LLM ya comprende.
Los datos de entrenamiento son simples: pares imagen-descripción (por ejemplo, de CC3M o LAION). Dada una imagen $I$ y su descripción $c = (c_1, \ldots, c_T)$, el modelo aprende a generar la descripción token por token, condicionado en los tokens visuales:
Descompongamos cada componente de esta pérdida para entender qué hace y por qué.
$\mathbf{h}_v^1, \ldots, \mathbf{h}_v^{N_v}$ : los tokens visuales proyectados producidos por la capa de proyección. Son las características visuales del codificador de visión congelado (por ejemplo, tokens de parches de ViT), mapeadas a través de la proyección aprendible a la dimensión de embeddings del LLM. Forman el "contexto visual" sobre el que el LLM se condiciona — el modelo ve estos tokens como si fueran parte del prompt de texto, excepto que portan información visual sobre la imagen. El número de tokens visuales $N_v$ depende del codificador de visión (por ejemplo, 256 para ViT-L/14 con una imagen de $224 \times 224$).
$c_1, \ldots, c_{t-1}$ : los tokens de la descripción generados hasta el momento. Durante el entrenamiento, se proporcionan mediante teacher forcing — el modelo recibe los tokens previos correctos en lugar de sus propias predicciones. Esta es una práctica estándar para el entrenamiento autoregresivo porque evita que los errores se acumulen: si el modelo generara un token incorrecto en la posición 3, retroalimentar ese error desplazaría todo el contexto para las posiciones 4, 5, 6, y así sucesivamente, haciendo la señal de entrenamiento ruidosa y poco confiable.
$p_\theta(c_t \mid \cdot)$ : la probabilidad predicha por el LLM para el siguiente token de la descripción $c_t$, condicionada tanto en los tokens visuales como en todos los tokens previos de la descripción. Los parámetros $\theta$ aquí se refieren específicamente a los pesos de la capa de proyección (ya que el LLM y el codificador de visión están congelados). Es la respuesta del modelo a la pregunta: "dada esta imagen y la descripción hasta ahora, ¿qué palabra viene después?"
La suma sobre $t$ de 1 a $T$ : pérdida estándar de modelado de lenguaje autoregresivo — calculamos la log-probabilidad negativa de cada token correcto de la descripción y los sumamos. Minimizar esta pérdida significa maximizar la probabilidad que el modelo asigna a la descripción correcta, token por token. Es la misma pérdida de entropía cruzada usada para pre-entrenar el propio LLM en texto; la única diferencia es que ahora aparecen tokens visuales en el contexto de condicionamiento.
Dado que solo se entrena la capa de proyección, esta etapa es rápida (típicamente unas pocas horas en 8 GPUs) y usa relativamente pocos datos (∼600K pares imagen-descripción en LLaVA). Su propósito es estrecho: enseñar a la capa de proyección a mapear características visuales a una forma que el LLM congelado pueda interpretar — alineando los dos espacios de embeddings sin modificar ni el codificador de visión ni el modelo de lenguaje.
Etapa 2: Ajuste por Instrucciones Visuales
En la segunda etapa, tanto la capa de proyección como el LLM se ajustan (el codificador de visión típicamente permanece congelado). Los datos de entrenamiento pasan de simples pares imagen-descripción a conversaciones multimodales: una imagen emparejada con intercambios de preguntas y respuestas de múltiples turnos sobre esa imagen. Aquí es donde el modelo aprende a ser un asistente visual — no solo describiendo lo que ve, sino respondiendo preguntas específicas, siguiendo instrucciones complejas y razonando sobre contenido visual.
La pérdida es la misma entropía cruzada autoregresiva, pero ahora aplicada a las respuestas de seguimiento de instrucciones:
Desglosemos cada componente y veamos cómo se diferencia de la pérdida de la Etapa 1.
$\mathcal{A}$ : el conjunto de posiciones de tokens correspondientes a las respuestas del asistente. Esta es la diferencia clave con la Etapa 1. No calculamos la pérdida sobre las preguntas del usuario ni los tokens de imagen — solo sobre lo que el modelo debe generar. ¿Por qué? Porque las preguntas del usuario son entradas dadas, no objetivos. Retropropagar a través de ellas desperdiciaría señal de gradiente en reconstruir texto que el modelo no produjo y no necesita predecir. Al restringir la pérdida solo a los tokens del asistente, cada actualización de gradiente mejora directamente la calidad de las respuestas del modelo.
$\mathbf{h}_v$ : abreviatura del conjunto completo de tokens visuales proyectados $\mathbf{h}_v^1, \ldots, \mathbf{h}_v^{N_v}$ (los mismos tokens proyectados de la Etapa 1, pero ahora la capa de proyección continúa actualizándose junto con el LLM).
$x_1, \ldots, x_{t-1}$ : la conversación completa hasta el momento — prompt del sistema, tokens visuales, pregunta del usuario y cualquier turno previo de diálogo. En una conversación de múltiples turnos, este contexto crece con cada turno, para que el modelo pueda referirse a intercambios anteriores al generar su respuesta actual.
Esta es exactamente la misma receta de ajuste por instrucciones usada para LLMs solo de texto (como el paso de Llama a Llama-Chat), extendida para incluir contexto visual. El modelo aprende a seguir instrucciones que involucran imágenes: "Describe lo que está pasando en esta foto", "¿Qué texto aparece en el cartel?", "Compara los dos objetos en la imagen", y así sucesivamente.
¿Por qué dos etapas en lugar de entrenar todo de extremo a extremo desde el inicio? La Etapa 1 resuelve un problema más simple (generación de descripciones) con pesos del LLM congelados, para que la capa de proyección pueda aprender el mapeo básico de visión a lenguaje sin perturbar las capacidades pre-entrenadas del LLM. La Etapa 2 entonces ajusta el modelo completo en la tarea más difícil (seguir instrucciones diversas) ahora que la capa de proyección ya proporciona tokens visuales razonables. Entrenar todo de extremo a extremo desde cero tiende a funcionar peor, porque el LLM recibe tokens visuales sin sentido al inicio del entrenamiento y puede aprender a ignorarlos — una forma de pereza modal donde el modelo de lenguaje recurre a sus priors solo de texto y trata la entrada visual como ruido. La receta de dos etapas evita esto asegurando que los tokens visuales ya sean informativos antes de que el LLM comience a adaptarse a ellos.
Generación de Datos de Instrucción Visual
Los datos de entrenamiento para la Etapa 2 son críticos — las capacidades conversacionales del modelo están limitadas por la calidad y diversidad de sus datos de instrucción. Un modelo entrenado con pares de preguntas y respuestas cortos y factuales producirá respuestas cortas y factuales; un modelo entrenado con razonamiento rico y de múltiples pasos aprenderá a razonar. La idea clave de LLaVA fue usar GPT-4 (solo texto, en ese momento) para generar estos datos sintéticamente.
El pipeline funciona de la siguiente manera:
- Paso 1: Comenzar con imágenes de COCO y sus descripciones escritas por humanos más anotaciones de cajas delimitadoras. Cada imagen viene con una descripción en lenguaje natural y coordenadas de los objetos presentes en la escena.
- Paso 2: Alimentar la descripción y las coordenadas de las cajas delimitadoras (como texto) a GPT-4. El modelo nunca ve la imagen real — solo recibe una descripción textual de lo que contiene la imagen y dónde se ubican los objetos.
- Paso 3: Pedir a GPT-4 que genere pares diversos de preguntas y respuestas sobre la imagen: descripciones detalladas, razonamiento de múltiples pasos, comparaciones visuales, preguntas de razonamiento espacial ("¿El gato está a la izquierda o a la derecha del portátil?") e interpretaciones creativas.
Esto produce 158K ejemplos de seguimiento de instrucciones multimodales — suficientes para transformar el modelo de un simple generador de descripciones en un asistente visual que puede manejar preguntas abiertas. El enfoque es ingenioso porque aprovecha las fuertes capacidades de seguimiento de instrucciones y la generación diversa de lenguaje de GPT-4 sin que GPT-4 vea la imagen real. Funciona enteramente a partir de descripciones textuales del contenido de la imagen, lo que significa que el pipeline puede ejecutarse a escala sin necesidad de acceso a un modelo con capacidad de visión.
Evaluación: ¿Qué Tan Buenos Son los Asistentes Visuales?
Después del ajuste por instrucciones, necesitamos medir qué tan bien se desempeña el modelo como asistente visual. Varios benchmarks estándar evalúan diferentes aspectos de la comprensión multimodal:
- VQAv2: respuesta abierta a preguntas visuales sobre imágenes naturales (por ejemplo, "¿De qué color es el autobús?", "¿Cuántas personas hay en la foto?"). Evalúa la comprensión visual básica y el anclaje — ¿puede el modelo percibir y reportar correctamente hechos simples sobre lo que hay en la imagen?
- GQA: preguntas composicionales que requieren razonamiento de múltiples pasos sobre relaciones espaciales (por ejemplo, "¿La mujer que lleva gafas está de pie a la izquierda del hombre?"). El modelo debe analizar estructuras lingüísticas complejas y anclar cada parte en la imagen.
- TextVQA: preguntas sobre texto que aparece en imágenes (por ejemplo, leer carteles, etiquetas, documentos). Evalúa capacidades tipo OCR — ¿puede el modelo no solo reconocer objetos sino también leer e interpretar texto escrito dentro de la escena visual?
- POPE: sondea la alucinación de objetos — al modelo se le pregunta si un objeto específico está en la imagen ("¿Hay un perro en la imagen?"). Un modelo que frecuentemente dice "sí" a objetos inexistentes obtiene una puntuación baja. Esto evalúa directamente el problema de alucinación central de los VLMs: ¿el modelo reporta lo que realmente ve, o alucina objetos que no están presentes?
- MMBench / MM-Vet: benchmarks completos que cubren múltiples habilidades de razonamiento visual — comprensión espacial, reconocimiento de atributos, razonamiento lógico y más — en un único conjunto de evaluación.
LLaVA-1.5 (Liu et al., 2023) — usando un codificador de visión ViT-L/14, una proyección MLP de dos capas y Vicuna-13B como LLM — logró resultados competitivos en estos benchmarks, a pesar de ser mucho más simple que alternativas como BLIP-2 o InstructBLIP que usan arquitecturas Q-Former con muchos más parámetros entrenables y procedimientos de entrenamiento más complejos. Este resultado ayudó a establecer la receta de "proyección simple + buenos datos de instrucción" como el enfoque por defecto para construir VLMs: la calidad de los datos de instrucción importa al menos tanto como la complejidad de la arquitectura.
De VLMs a VLAs
Ahora tenemos modelos que pueden ver y hablar — toman imágenes y texto como entrada y generan respuestas de texto. Pueden describir escenas, responder preguntas, leer texto en imágenes y seguir instrucciones multimodales. La siguiente pregunta natural es: ¿qué pasaría si el modelo también pudiera actuar ?
Los modelos de Visión-Lenguaje-Acción (VLAs), cubiertos en el siguiente track, extienden los VLMs añadiendo una tercera modalidad de salida: acciones motoras. En lugar de generar tokens de texto, el modelo genera tokens de acción que controlan un robot — mover el brazo a la izquierda, cerrar la pinza, rotar la muñeca. El codificador de visión y el backbone de lenguaje de un VLM se convierten en la base perceptual y de razonamiento, y se añade una cabeza de acción encima para mapear las representaciones internas del modelo a movimientos físicos.
El track de VLMs ha construido los componentes centrales que hacen esto posible:
- Pre-entrenamiento contrastivo (CLIP, SigLIP) para aprender un espacio compartido de embeddings de visión y lenguaje.
- Vision Transformers para convertir imágenes en secuencias de tokens que los transformers pueden procesar.
- Arquitecturas de fusión (proyección lineal, Q-Former, atención cruzada con compuerta) para conectar codificadores de visión a LLMs.
- Ajuste por instrucciones para enseñar a los modelos a seguir comandos multimodales — la misma capacidad que un robot necesita cuando recibe una instrucción en lenguaje natural como "recoge el bloque rojo".
El track de VLAs mostrará cómo estos componentes se reutilizan para control robótico — cómo un modelo entrenado para responder "¿Qué hay en esta imagen?" puede adaptarse para responder "¿Qué acción debo tomar dada esta imagen?"
Quiz
Pon a prueba tu comprensión del ajuste por instrucciones visuales — la receta de entrenamiento en dos etapas, la generación de datos de instrucción y la evaluación.
¿Por qué el entrenamiento de LLaVA tiene dos etapas en lugar de entrenar todo de extremo a extremo desde el inicio?
En la función de pérdida de la Etapa 2, ¿por qué se calcula la pérdida solo sobre los tokens de respuesta del asistente (el conjunto $\mathcal{A}$) en lugar de toda la secuencia?
¿Cómo generó LLaVA datos de instrucción visual sin un modelo con capacidad de visión?
¿Qué evalúa específicamente el benchmark POPE?