Phase 12 - Lesson 18
Comprensión de Video Largo en Contexto de Millones de Tokens
Un video 4K de 1 hora a 24 FPS, segmentado (patched) e incrustado (embedded), produce alrededor de 60 millones de tokens. Un episodio de podcast de 2 horas transcrito tiene 30,000 tokens. Una película de largometraje en Blu-ray completa, incluso comprimida con un pooling agresivo, equivale a cientos de miles de tokens. Gemini 1.5 de Google (marzo de 2024) inauguró esta era con un contexto de 10 millones de tokens, realizando una recuperación confiable del tipo "aguja en un pajar" (needle-in-a-haystack) en videos de una hora de duración. LWM (Liu et al., febrero de 2024) mostró la ruta de escalado de Ring Attention. LongVILA y Video-XL escalaron aún más la ingesta. VideoAgent reemplazó el contexto bruto por la recuperación basada en agentes (agentic retrieval). Cada enfoque representa una compensación diferente entre cómputo, recall y complejidad de ingeniería. Esta lección los analiza lado a lado.
Type: Build Languages: Python (stdlib, needle-in-haystack simulator + agentic-retrieval router) Prerequisites: Phase 12 · 17 (video temporal tokens) Time: ~180 minutos
Objetivos de Aprendizaje
- Calcular el conteo total de tokens visuales para videos de formato largo con diferentes tasas de FPS y pooling.
- Explicar las tres rutas de escalado: contexto bruto (Gemini 1.5), Ring Attention (LWM) y compresión de tokens (LongVILA / Video-XL).
- Comparar VLMs de video de contexto bruto frente a VLMs de video con recuperación basada en agentes (VideoAgent) en cuanto a precisión y latencia.
- Diseñar una prueba de "aguja en un pajar" para un video de 30 minutos y medir el recall en un minuto específico.
El Problema
Un solo fotograma (frame) de parches con dimensiones típicas de Qwen2.5-VL a resolución nativa de 384 equivale a ~729 tokens. Con un pooling de 3x3, eso da 81 tokens por fotograma. Un clip de 30 minutos a 1 FPS = 1800 fotogramas = 145,800 tokens. Viable para VLMs abiertos de 2025, al límite. A 2 FPS, son 291,600 tokens; solo los contextos más grandes lo permiten.
Una película de 2 horas a 1 FPS equivale a 583k tokens. Fuera del alcance de la mayoría de los modelos abiertos de 2026; requiere Gemini 2.5 Pro o aplicar un pooling más agresivo.
Surgieron tres rutas de escalado.
El Concepto
Ruta 1: Contexto bruto (Gemini 1.5, Claude Opus)
Consiste en usar fuerza bruta de hardware. Escalar el contexto a millones de tokens y procesar todo en una sola pasada de propagación hacia adelante (forward pass).
Gemini 1.5 Pro se lanzó con 1M de tokens; Gemini 1.5 Ultra llegó a 10M; Gemini 2.5 Pro en 2026 procesa horas de video de manera confiable. El artículo científico (arXiv:2403.05530) documenta una recuperación del tipo "aguja en un pajar" con una precisión del 99.7% en contextos de hasta ~9.5M de tokens.
Ingeniería: una implementación personalizada de atención con jerarquía de memoria (local + global + dispersa) combinada con enrutamiento de expertos MoE (Mixture of Experts) para mayor eficiencia en contextos largos. No se ha publicado en detalle. No es de código abierto.
Ruta 2: Ring attention (LWM, LongVILA)
Ring Attention distribuye secuencias largas entre múltiples dispositivos en "anillo" (ring), donde cada dispositivo contiene una porción (chunk). La atención a lo largo de toda la sequência se calcula haciendo que cada dispositivo envíe su fragmento al siguiente en un patrón de anillo, computando atención parcial y agregando los resultados.
LWM (Liu et al., 2024) entrenó un modelo con contexto de 1M de tokens usando esta técnica. El cómputo necesario para el entrenamiento escala linealmente con el contexto, no de forma cuadrática; el impacto cuadrático en el cálculo de atención se amortiza entre los dispositivos del anillo.
LongVILA (arXiv:2408.10188) adaptó este patrón a VLMs. Videos de 1400 fotogramas a 192 tokens por fotograma = contexto de 268k, entrenado con Ring Attention utilizando paralelismo de 8 vías.
Ruta 3: Compresión de tokens (Video-XL, LongVA)
Más económico que el contexto bruto: comprime de manera agresiva antes de que el LLM reciba la secuencia.
Video-XL (arXiv:2409.14485) utiliza un token de resumen visual: cada clip de N fotogramas genera un único token de "resumen" que aplica atención sobre los N fotogramas. Durante la inferencia, el LLM ve un solo token de resumen por clip, reduciendo drásticamente el contexto.
LongVA extiende el contexto de LLM de 200k a 2M mediante una técnica de "transferencia de contexto largo". Se entrena en texto de contexto largo y se transfiere al video de contexto largo a través de una representación compartida.
La compresión de tokens sacrifica la recuperación precisa en marcas de tiempo específicas a cambio de escalabilidad. El modelo comprende a nivel general lo que ocurrió, pero a veces omite fotogramas exactos.
Ruta 4: Recuperación basada en agentes (VideoAgent)
Consiste en no entregar el video completo al LLM. En su lugar, el video se trata como una base de datos y se utiliza un LLM para realizar consultas en ella.
VideoAgent (arXiv:2403.10517):
- El LLM lee la pregunta.
- El LLM solicita a una herramienta de recuperación los clips relevantes ("muéstrame fragmentos con un gato").
- La herramienta devuelve las marcas de tiempo (timestamps) de los clips correspondientes.
- El LLM lee esos clips a través de un VLM.
- El LLM formula la respuesta o realiza preguntas de seguimiento.
Este es el patrón de "LLM como agente" aplicado a videos largos. Ofrece una inferencia más barata (solo se codifican los clips relevantes) pero una ingeniería más compleja (la calidad de la recuperación se convierte en el cuello de botella).
Benchmarks de aguja en un pajar (Needle-in-a-haystack)
La prueba estándar de contexto largo: se inserta un marcador visual o de texto único en un punto aleatorio del video y luego se realiza una consulta que requiere recordarlo.
Métrica: Recall@k a lo largo de la duración del video y la posición del marcador.
Gemini 2.5 Pro supera el 99% de recall en videos de hasta 90 minutos. Los modelos abiertos de 72B (Qwen2.5-VL-72B, InternVL3-78B) alcanzan un ~85-90% a los 30 minutos y se degradan pasados los 60 minutos.
VideoAgent puede igualar o superar a los modelos de contexto bruto en videos de más de 2 horas debido a que la recuperación localiza la "aguja" si la herramienta es de buena calidad.
Qué ruta elegir
Para un clip de 15 minutos buscando la precisión del estado del arte: un modelo abierto de 72B + contexto nativo suele funcionar. Se recomienda Qwen2.5-VL-72B.
Para contenidos de 30 minutos a 1 hora: LongVILA o Video-XL en opciones abiertas; Gemini 2.5 Pro para soluciones cerradas. El estándar de calidad requerido es determinante: la máxima precisión exige la opción cerrada.
Para contenido de más de 2 horas: VideoAgent o patrones de recuperación similares. Alternativamente, resumir en fragmentos más pequeños y proporcionar resúmenes jerárquicos.
Patrón de producción para 2026
En la práctica, los pipelines de producción para video largo son híbridos:
- Se ejecuta un muestreo dinámico de FPS + un pooling agresivo en todo el video (obteniendo una representación global de 100k tokens).
- Se envía a un VLM de 72B para generar un resumen global.
- Si el usuario hace preguntas detalladas, se ejecuta una recuperación basada en agentes utilizando el resumen como índice.
Esto combina el contexto bruto para la comprensión global con la recuperación para el detalle local.
Úsalo
code/main.py:
- Calcula presupuestos de tokens para videos de 1 minuto a 3 horas con diferentes tasas de FPS y pooling.
- Simula una prueba de aguja en un pajar (needle-in-a-haystack): inyecta un marcador en una marca de tiempo aleatoria, realiza una pregunta y evalúa el recall.
- Incluye un simulador de enrutador con recuperación basada en agentes que selecciona clips específicos para alimentar a un VLM downstream.
Ejecuta la tabla de presupuesto y observa la diferencia de escala.
Entrégalo
Esta lección produce outputs/skill-long-video-strategy-planner.md. Dada la duración de un video y la complejidad de la consulta, selecciona entre contexto bruto, compresión y recuperación basada en agentes, además de calcular las expectativas de latencia y calidad.
Ejercicios
Una conferencia de 45 minutos a 1 FPS, con 81 tokens por fotograma. ¿Total de tokens? ¿En qué contextos de modelo se puede procesar?
Diseña una prueba de aguja en un pajar: ¿en qué minuto inyectarías el marcador y cuál sería el formato exacto de la consulta?
Compara Qwen2.5-VL-72B en contexto bruto (contexto de 80k) con VideoAgent (Claude 3.5 + recuperación) en un video de 1 hora. ¿Cuál gana en recall? ¿Cuál gana en latencia?
El costo de memoria de Ring Attention escala linealmente con la longitud de la secuencia y linealmente con la cantidad de dispositivos. Explica por qué y qué falla si eliminas la fase de rotación en anillo.
Lee la Sección 5 del artículo de Gemini 1.5 sobre la aguja en un pajar. ¿Qué descubrió el artículo sobre el recall en el límite entre 1M y 10M de tokens?
Términos Clave
| Término | Lo que la gente dice | Lo que realmente significa |
|---|---|---|
| Brute context | "Solo más tokens" | Escalar el contexto del LLM a millones de tokens; procesar todo en una sola pasada |
| Ring attention | "Paralelismo estilo LWM" | Patrón de atención distribuido donde cada dispositivo almacena y rota una sección de la secuencia |
| Token compression | "Tokens de resumen" | Reducir la cantidad de tokens por clip mediante un compresor entrenado antes de pasarlos al LLM |
| Needle-in-haystack | "Prueba NIH" | Insertar un marcador único en una posición aleatoria y pedir al modelo recuperarlo en la prueba |
| Agentic retrieval | "LLM como planeador de consulta" | El LLM solicita fragmentos relevantes a una herramienta de recuperación, los analiza con un VLM y elabora la respuesta |
| VideoAgent | "Patrón de recuperación para video" | Diseño clásico de recuperación basada en agentes: pregunta -> herramienta -> clip -> respuesta |