Análisis técnico de la conversación en video en tiempo real de Doubao (豆包)
Importada@odus · 1 mar, 22:00
Resumen de la conversación
Modelos de video en tiempo real como Doubao (豆包) adoptan el modo de compresión espacio-temporal de la segunda opción, utilizando un agregador temporal para deduplicar y extraer características de múltiples fotogramas de video, comprimiendo la gran cantidad de tokens originales en pequeños paquetes de información concentrada, logrando así una conversación en tiempo real eficiente con baja latencia.
Conversación
¿Por qué Doubao puede mantener una conversación de video en tiempo real con personas? ¿No explotaría la cantidad de tokens? ¿Utiliza un modelo pequeño? ¿O extrae fotogramas clave?
Esta es una pregunta muy profesional y que va al grano. La razón por la que Doubao (y modelos similares como GPT-4o, Gemini Live) puede mantener conversaciones de video en tiempo real fluidas, sin que la enorme cantidad de datos de video provoque una explosión de Tokens o una alta latencia, se basa principalmente en varias estrategias clave de optimización dentro del "stack tecnológico de modelos multimodales grandes".
En pocas palabras, no está procesando el flujo de video en bruto, ni mirando cada fotograma.
A continuación, se desglosan los principios técnicos centrales detrás de esto:
- No procesa "video", sino "flujo de imágenes" (Extracción de fotogramas clave)
Tu suposición es correcta. La extracción de fotogramas clave (Frame Sampling) es el paso más básico y también el más importante.
-
Mecanismo: El video es esencialmente una secuencia continua de imágenes (generalmente 30 o 60 fotogramas por segundo, fps). La IA no necesita ver 60 imágenes por segundo para entender lo que estás haciendo.
-
Tasa de muestreo: El modelo generalmente muestrea a una frecuencia extremadamente baja. Por ejemplo, extrae solo 1 o 2 fotogramas por segundo, o extrae basándose en "cambios de movimiento" (no extrae cuando la imagen está estática, pero sí cuando hay cambios drásticos).
-
Efecto: Esto reduce la cantidad de datos procesados en un factor de 30 a 60 veces. Para la IA, es como ver una presentación de diapositivas en lugar de una película, pero es suficiente para comprender la escena.
- Compresión extrema de Tokens visuales (Codificación Visual)
Incluso si solo se ve 1 imagen por segundo, convertir una imagen 1080P directamente a Tokens sería enorme. Aquí es donde entra en juego el codificador visual (Visual Encoder, como variantes de ViT o VQ-VAE).
-
Procesamiento por parches (Patching): El modelo no procesa píxel por píxel, sino que divide la imagen en pequeños bloques (por ejemplo, parches de 16x16 píxeles).
-
Compresión de características: Estos parches, después de pasar por el codificador, se comprimen en vectores de alta dimensión. Una imagen de varios megabytes puede terminar representándose como solo 256 o 512 Tokens (o incluso menos, dependiendo de la tasa de compresión).
-
Conclusión: Incluso si tienes la cámara encendida charlando durante 1 minuto, para el modelo, podría ser solo agregar unos pocos miles de Tokens, no millones de puntos de datos.
- Ventana deslizante y gestión del contexto (Context Management)
Para evitar que los Tokens se acumulen indefinidamente con la duración de la conversación (lo que llevaría a una "explosión"), el sistema utiliza un mecanismo de ventana deslizante (Sliding Window) o descarte dinámico.
-
Memoria a corto plazo: El modelo generalmente solo se centra en la información visual "reciente". Por ejemplo, puede retener solo los Tokens visuales de los últimos 10-20 fotogramas en la memoria de video.
-
Descarte de datos antiguos: Una vez que mueves la cámara del "vaso de agua" a la "computadora", los Tokens visuales relacionados con el "vaso de agua" ya no son importantes después de unas pocas interacciones, y el sistema los descarta del contexto o los comprime en un breve resumen textual (Summary).
- Modelo multimodal nativo de extremo a extremo (Native Multimodal / Omni)
La tecnología anterior era como una "carrera de relevos":
Voz a texto -> Captura de pantalla -> Modelo visual reconoce la imagen -> Modelo de texto genera respuesta -> Texto a voz.
Este tipo de cadena es demasiado lenta. Los Doubao actuales (especialmente el modelo Doubao-Vision) y GPT-4o tienden a utilizar modelos multimodales nativos (Native Multimodal) o arquitecturas en cascada altamente optimizadas:
-
Comprensión nativa: El modelo está directamente "escuchando" el sonido y "viendo" los Tokens visuales. No necesita el paso intermedio de convertir a texto (o la conversión es extremadamente rápida).
-
Salida en streaming (Streaming): Al igual que tu cerebro ya está formulando una respuesta antes de que termines de hablar, el modelo realiza un precálculo (Prefill) mientras recibe el flujo de video, logrando así una latencia extremadamente baja.
- Sobre la especulación del "modelo pequeño" (MoE y Cuantización)
Preguntas si se utiliza un modelo pequeño. La respuesta es probablemente un "Modelo de Expertos Mixtos (MoE)" o un modelo destilado para tareas específicas.
-
MoE (Mixture of Experts): Es un modelo enorme, pero al procesar cada fotograma, solo activa una pequeña parte de sus parámetros (expertos). Por ejemplo, al ver un "gato", solo activa los parámetros de la parte "experta en animales". Esto mantiene tanto la inteligencia de un "modelo grande" como la velocidad de inferencia y el costo de un "modelo pequeño".
-
Cooperación lado del dispositivo + nube: Aunque el cálculo principal está en la nube (Volcengine de ByteDance), el teléfono también puede encargarse de algún preprocesamiento (como recorte de imagen, compresión, detección de voz humana), aliviando la presión sobre la nube.
Tabla resumen: ¿Cómo logra Doubao "ahorrar" recursos?
| Desafío | Solución | Efecto |
|---|---|---|
| Los datos de video son demasiado grandes | Muestreo de fotogramas clave (solo se ven 1-2 fps) | Reduce la cantidad de datos en más del 95% |
| Demasiados píxeles en la imagen | Codificador visual (ViT / Patching) | Comprime una imagen a unos cientos de Tokens |
| La conversación es demasiado larga | Ventana deslizante (descarta Tokens de fotogramas antiguos) | El uso de memoria de video se mantiene estable, no explota |
| Latencia demasiado alta | Transmisión en streaming y arquitectura MoE | El cálculo solo se activa cuando es necesario inferir |
Conclusión
La fluidez de Doubao no se debe a que sea un "dios", sino a que "sabe cómo priorizar". No está mirando cada uno de tus píxeles en todo momento, sino que, mediante una codificación visual de alta compresión y un muestreo disperso, logra la comprensión del video con la mínima potencia de cálculo posible, dentro del rango de "tiempo real" que tú puedes percibir.
¿Qué más puedo hacer por ti a continuación?
¿Te gustaría que explique más sobre cómo funcionan los Codificadores Visuales (como ViT) para comprimir imágenes, o cómo el MoE (Mixtura de Expertos) permite que los modelos grandes funcionen rápido?
¿Eso significa que la capacidad del modelo para comprender imágenes en video es mucho más débil que su capacidad para comprender imágenes cuando se le envía una imagen directamente en la conversación?
Tu comprensión es muy aguda y la conclusión es correcta en general.
En la arquitectura tecnológica actual, la capacidad de comprensión de imágenes en una videollamada en tiempo real es, de hecho, más débil en "captura de detalles" y "análisis profundo" que cuando se envía una imagen estática directamente.
Esto es principalmente una compensación de ingeniería (Trade-off) de "sacrificar precisión por velocidad y fluidez". Podemos comparar la diferencia entre ambos desde las siguientes dimensiones:
1. Resolución y nitidez (Diferencia de resolución)
-
Al enviar una imagen (modo de alta precisión): Cuando subes una foto a Doubao o GPT-4o, el sistema generalmente la procesa con una resolución más alta (por ejemplo, 1024x1024 o una versión comprimida de la original). El modelo puede "acercarse para ver", pudiendo reconocer letras pequeñas en documentos, detalles complejos de gráficos o texturas diminutas en la superficie de un objeto.
-
En video en tiempo real (modo de baja precisión/visualización rápida): Para garantizar el procesamiento de múltiples fotogramas por segundo sin retrasos, los fotogramas individuales en el flujo de video suelen ser altamente comprimidos y reducidos de resolución (Redimensionamiento).
-
Consecuencia: El modelo puede ver una imagen borrosa y de baja resolución (por ejemplo, 336x336 o 512x512).
-
Escenario típico: Si agitas un frasco de medicamento frente a la cámara, el modelo puede reconocer que "es un frasco blanco", pero no puede leer la letra pequeña de la lista de ingredientes; sin embargo, si le tomas una foto de alta definición y se la envías, podrá leer la lista de ingredientes.
2. Asignación de potencia computacional y tiempo de reflexión (Sistema 1 vs Sistema 2)
Tomando prestado el concepto de "Pensar rápido, pensar despacio" de la psicología:
-
Enviar imagen = Sistema 2 (Pensamiento lento): El modelo tiene tiempo suficiente (unos segundos) para realizar un razonamiento profundo de cada parche de la imagen. Puede invocar más parámetros para analizar las relaciones lógicas entre los objetos en la imagen.
-
Video en tiempo real = Sistema 1 (Pensamiento rápido): La videollamada requiere una respuesta de milisegundos. El modelo debe dar retroalimentación en muy poco tiempo, por lo que a menudo se encuentra en un modo de "reacción intuitiva". Tiende a identificar contornos generales, movimientos, colores y escenas, sin tener la "capacidad mental" para profundizar en los detalles.
3. Enfoque contextual (Mecanismo de atención)
-
Imagen estática: La atención del modelo se concentra completamente en esta imagen, que es la única fuente de información.
-
Flujo de video: La atención del modelo se distribuye en el "eje temporal". Necesita asignar potencia computacional para recordar "qué estabas haciendo hace un segundo" y "qué estás haciendo ahora". Para recordar la coherencia de la acción, debe sacrificar la atención a los detalles de un solo fotograma.
4. Ventaja única del modo video: Información temporal
Aunque se debilita en "detalles estáticos", el modo video tiene una capacidad que la imagen estática no tiene: comprender el cambio y la causalidad.
-
Ejemplo: Si envías una imagen estática de tu mano levantada, el modelo no sabe si vas a "golpear" o a "chocar las palmas".
-
Video: El modelo puede ver la trayectoria de tu movimiento, lo que le permite juzgar con precisión tu intención.
Una analogía ilustrativa
-
Enviar una imagen directamente: Es como si estuvieras en un museo, examinando detenidamente una pintura con una lupa. Puedes ver la pincelada del artista y la textura del lienzo.
-
Conversación de video en tiempo real: Es como si pasaras en bicicleta frente a esa pintura. Aún puedes ver que es una pintura, saber si es un paisaje o un retrato, si los colores son vibrantes, pero definitivamente no puedes ver cuántos botones tiene la persona en la pintura.
Resumen y sugerencias de uso
Por lo tanto, cuando uses Doubao u otra IA similar:
-
Si quieres analizar detalles (como: leer instrucciones, ver códigos de error complejos, examinar problemas de la piel, analizar capturas de pantalla complejas de Excel): Toma una foto o sube la imagen directamente.
-
Si quieres interactuar o mostrar el entorno (como: practicar inglés oral, mostrar la distribución de una habitación, dejar que la IA vea qué está haciendo tu gato, demostrar un paso de un procedimiento): Usa la videollamada en tiempo real.
¿Son los modelos de video y los modelos de diálogo modelos completamente diferentes?
Esta es una pregunta de arquitectura muy importante. La respuesta es: En el pasado eran modelos "completamente diferentes", pero la tendencia actual es que se están convirtiendo en "el mismo cerebro", es decir, los llamados "Modelos Multimodales Nativos" (Native Multimodal Models).
Para que entiendas esta evolución, podemos dividir el desarrollo de la arquitectura de IA en tres etapas. Productos como Doubao y GPT-4o se encuentran actualmente en una transición de la segunda a la tercera etapa.
Primera etapa: Era de la combinación (Pipeline / Cascade)
"Muchos pocos hacen un mucho"
En los primeros sistemas de IA, los modelos de video y los modelos de diálogo eran completamente independientes, incluso no se "conocían" entre sí.
-
Ojos (Modelo visual): Era una CNN (Red Neuronal Convolucional) especializada o una ViT temprana. Solo se encargaba de ver imágenes y luego convertía lo que veía en etiquetas de texto. Por ejemplo, al ver un video, generaba: "Un gato, en un sofá, saltando".
-
Cerebro (Modelo de diálogo): Era un LLM de texto puro (como GPT-3). Tomaba el texto anterior y generaba una respuesta: "Vaya, qué activo está".
-
Boca (Modelo de voz): Convertía el texto en sonido.
- Desventajas: Se perdía mucha información no textual. Por ejemplo, si la mirada del gato era muy penetrante o había cierta atmósfera en el fondo, si el modelo visual no convertía eso en texto, el modelo de diálogo nunca lo sabría. Es como si estuvieras con los ojos vendados, dependiendo completamente de que alguien te describa la imagen para conversar.
Segunda etapa: Era de la alineación (Alignment / Projection) — Actualmente la corriente principal
"Poner un nervio óptico al cerebro"
Esta es la arquitectura que utiliza la mayoría de los modelos multimodales actuales (incluyendo los primeros LLaVA, MiniGPT-4, etc.).
-
Lógica central: Todavía hay un "cerebro lingüístico" central (LLM), pero los ingenieros entrenaron un "traductor" (Proyector/Adaptador).
-
Cómo funciona:
-
El video/la imagen ya no se convierte en texto.
-
En cambio, a través de un codificador visual (Visual Encoder) se convierte en una serie de vectores numéricos (Tokens Visuales).
-
Paso clave: Estos vectores visuales se "traducen" a "vectores de lenguaje" que el cerebro lingüístico puede entender.
-
Procesamiento cerebral: Para el LLM, la imagen de video es como un fragmento de texto en un idioma extranjero. Mezcla los tokens de video y los tokens de texto para realizar el razonamiento.
- Conclusión: En esta etapa, la parte visual y la parte de diálogo comparten el mismo "cerebro de razonamiento", pero los "ojos" visuales son externos.
Tercera etapa: Modalidad completa nativa (Native Omni) — La dirección de Doubao/GPT-4o
"Sinestésico nato"
Esta es la forma definitiva que puede lograr la "conversación de video en tiempo real" que mencionaste.
-
Lógica central: El modelo, desde el principio de su entrenamiento, creció viendo videos, escuchando audio y viendo texto.
-
¿Es el mismo modelo? Sí, es la misma red neuronal.
-
Principio: En este modelo, la entrada puede ser cualquier cosa (forma de onda de audio, píxeles de imagen, caracteres de texto). Una vez que ingresan al modelo, se convierten en una representación unificada. El modelo no necesita convertir primero el sonido en palabras; puede "escuchar" directamente la ira en el tono de voz; no necesita convertir primero la imagen en palabras; puede "ver" directamente la opresión de la imagen.
Resumen: ¿Son el mismo o no?
Volviendo a tu pregunta, podemos usar el "cerebro humano" como analogía:
-
Codificador visual (Visual Encoder) = Retina y nervio óptico humanos Esta parte está especializada en procesar imágenes y es diferente de la parte que procesa el lenguaje. Se encarga de convertir las señales de luz (píxeles) en señales nerviosas (Tokens).
-
Base del modelo de lenguaje grande (LLM Backbone) = Corteza cerebral humana Esta parte es universal. Tanto las señales del nervio óptico (ver video) como las del nervio auditivo (diálogo) finalmente piensan, razonan y toman decisiones en esta misma área.
Por lo tanto, la respuesta es: Son módulos diferentes en la "capa de percepción" (ojos y oídos), pero en la "capa de pensamiento" (cerebro) es exactamente el mismo modelo el que opera.
Precisamente porque comparten la "capa de pensamiento", Doubao puede, al verte sacar una flor (visual), combinarlo con lo que dijiste antes "Hoy es San Valentín" (contexto de texto), inferir "¿Se la vas a regalar a tu novia?" (razonamiento lógico). Si fueran modelos completamente separados, no podrían lograr esta integración profunda.
Entonces, ¿el procesamiento de los tokens de imagen es completamente diferente? ¿También se pueden adquirir múltiples habilidades en un solo entrenamiento?
¡Esta es una intuición excelente! Has tocado la magia más central de los modelos multimodales grandes: el "Alineamiento de Representaciones" (Representation Alignment).
La respuesta es: Sí, aunque las "entradas" de imágenes y texto se procesan de maneras completamente diferentes, una vez dentro del modelo, su esencia matemática se convierte en la misma cosa, por lo que pueden "aprenderse mutuamente" en un mismo proceso de entrenamiento.
Es como si, aunque la escritura del chino y del inglés es completamente diferente (una son caracteres cuadrados, la otra son letras), en tu cerebro, cuando ves "苹果" y "Apple", el concepto que surge en tu mente (esa fruta roja) es el mismo.
A continuación, te explico en detalle cómo se logra este proceso:
1. Entradas diferentes: el proceso de "traducción" que lleva al mismo fin
Como bien dices, al principio el procesamiento es radicalmente diferente:
-
Texto: Usa un Tokenizer (segmentador de texto).
-
Proceso:
"一只猫"-> buscar en diccionario ->[ID: 105, ID: 2003]->Vector A. -
Imagen: Usa un Visual Encoder (codificador visual).
-
Proceso:
图片像素-> dividir en parches (Patches) -> operaciones de convolución/Transformer ->Vector B.
Punto clave: Aunque provienen de fuentes distintas, ambos se convierten en "vectores de alta dimensión" (Embedding Vectors), es decir, una larga serie de números (por ejemplo, [0.1, -0.5, 0.9, ...]).
Una vez convertidos en vectores, para el cerebro Transformer que viene después, no le importa si ese vector originalmente era un píxel o una palabra. Simplemente calcula.
2. Proceso de entrenamiento: la magia de los ejercicios de rellenar (Unified Training)
¿Cómo se adquieren ambas capacidades en un solo entrenamiento? El secreto está en que los datos de entrenamiento son "mezclados de texto e imagen", y la tarea de entrenamiento es unificada: "predecir el siguiente Token".
Imagina que el modelo está leyendo un cómic ilustrado, o navegando por una página web:
-
Secuencia de entrada:
[图片Token_1] [图片Token_2] ... [图片Token_256]+[文字Token: 这]+[文字Token: 是]+[文字Token: 什]+[文字Token: 么] -
Objetivo de entrenamiento: El modelo debe predecir que el siguiente carácter es
[猫].
Para responder correctamente, el modelo se ve obligado a hacer algo:
"Debo buscar pistas en los
[图片Token]anteriores. Si entiendo que esos vectores de imagen representan las características de un 'gato', podré predecir la palabra 'gato'; si no lo entiendo, fallaré y el error (Loss) será grande."
A través de billones de iteraciones de este entrenamiento (descenso de gradiente), el modelo aprende a establecer conexiones:
- Vector de características del "gato" en la imagen ≈ Vector semántico de "gato" en el texto.
3. El mismo espacio: rompiendo la barrera dimensional (Joint Embedding Space)
Después de este entrenamiento, el cerebro del modelo forma un "espacio semántico unificado".
-
En este espacio, el vector de imagen que representa un "objeto redondo" y el vector de texto que representa la palabra "Ball" están geométricamente muy cerca.
-
Esto explica cómo se logra la "videollamada": cuando le das una imagen de video, el modelo en realidad está leyendo un montón de vectores que, en su cerebro, activan automáticamente los conceptos textuales relacionados.
Resumen
Aunque el "proceso frontal" (segmentación, codificación) de los Tokens de imagen es completamente diferente al del texto, ambos se mapean al mismo "espacio matemático".
Una analogía:
-
Texto es el dólar.
-
Imagen es el yen.
-
Modelo es un banco internacional. Aunque el dólar y el yen se ven completamente diferentes (procesamiento de entrada diferente), el banco los convierte a ambos en oro (vectores). En la bóveda del banco (interior del modelo), solo hay oro, no hay dólares ni yenes.
Por lo tanto, a través de un entrenamiento mixto a gran escala, el modelo no solo aprende a ganar dólares (escribir), ni solo a ganar yenes (reconocer imágenes), sino que también aprende el tipo de cambio (comprensión texto-imagen).
Me refiero a que cuando un modelo grande procesa imágenes y cuando procesa videos, el procesamiento de los tokens de imagen es muy diferente, ¿verdad? ¿Por qué puede obtener una capacidad general?
¡Esta es una perspectiva técnica muy aguda y profunda! Has captado uno de los puntos más sutiles de los Modelos Multimodales Grandes (LMM):
Dado que el procesamiento de una sola imagen es de "alta resolución, con énfasis en detalles espaciales", mientras que el procesamiento de fotogramas de video es de "baja resolución, con énfasis en el flujo temporal", las características de los datos de entrada son tan diferentes. ¿Cómo puede un mismo modelo ser universal?
La respuesta radica en una característica central de la arquitectura moderna Vision Transformer (ViT): la independencia de resolución (Resolution Agnostic), y la "insensibilidad" del LLM a las secuencias de tokens.
Podemos desglosar este principio en tres niveles para entenderlo:
1. Capa visual: la propiedad de "banda elástica" del ViT (Patching e Interpolación)
Este es el punto técnico más crucial. Podrías pensar que el modelo, como una red totalmente conectada tradicional, requiere un tamaño de entrada fijo (por ejemplo, 224×224). Pero el ViT actual no funciona así.
-
Lógica de parcheo (Patching): Cuando el ViT procesa una imagen, la divide en pequeños cuadrados (parches) de 14×14 o 16×16 píxeles.
-
Ya sea imagen grande o pequeña:
-
Procesar imagen de alta definición (1024px): Genera 64×64 = 4096 parches.
-
Procesar fotograma de video de baja resolución (336px): Genera 24×24 = 576 parches.
-
Interpolación de codificación posicional (Positional Embedding Interpolation): Durante el entrenamiento, el modelo suele tener una resolución estándar. Cuando la entrada se agranda o se reduce, el modelo interpola automáticamente (estira o comprime) la "codificación posicional".
-
Analogía: Es como el ojo humano. Cuando te acercas a leer un libro (imagen de alta definición), ves un campo de visión pequeño pero con muchos detalles; cuando te alejas para ver toda la pared (fotograma de video), ves un campo de visión grande pero con pocos detalles. Tu retina no se reemplaza, solo cambia la forma de enfocar. El modelo usa el mismo conjunto de parámetros (pesos), solo que procesa un número diferente de parches.
2. Capa de lenguaje: la ley de conservación total (Compensación espacio-temporal)
Para el modelo de lenguaje grande (LLM) posterior, no sabe si el codificador visual anterior vio una imagen de alta definición u 8 imágenes de baja definición. Solo ve un montón de tokens.
Aquí hay un ingenioso equilibrio de cómputo de "intercambiar espacio por tiempo":
-
Escenario A: Leer una imagen en detalle
-
Entrada: 1 imagen de 1024×1024.
-
Composición de tokens: Todos asignados a detalles espaciales.
-
Lo que ve el LLM:
[细节1] [细节2] ... [细节1000](1000 tokens en total). -
Capacidad: Puede ver texto y objetos pequeños con claridad.
-
Escenario B: Ver un video
-
Entrada: 8 fotogramas de 336×336 (1 fotograma por segundo).
-
Composición de tokens: Los detalles espaciales se reducen, pero se añade la dimensión temporal.
-
Lo que ve el LLM:
[第1秒大概轮廓] ... [第2秒大概轮廓] ... [第8秒大概轮廓](1000 tokens en total). -
Capacidad: No puede ver texto con claridad, pero puede ver la continuidad del movimiento.
Conclusión: Para el LLM, la carga computacional (cantidad total de tokens) en ambos casos puede ser la misma. El modelo no "cambia de cerebro" para el video, solo que el énfasis de la información transportada por la secuencia de tokens de entrada es diferente (uno es información espacial profunda, el otro es información temporal amplia).
3. Capa semántica: robustez de las características (Invarianza de características)
¿Por qué esto permite obtener una "capacidad universal"? Porque las características semánticas centrales son resistentes a la compresión.
-
Un gato sigue siendo un gato: Un gato, ya sea en una foto 4K o en un video de 360P, tiene características centrales (orejas puntiagudas, bigotes, pelaje) cuya representación vectorial de alta dimensión después del procesamiento con convoluciones o parches es muy similar.
-
Entrenamiento de alineación: Durante la fase de preentrenamiento, el modelo utiliza una gran cantidad de datos:
-
Pares de imagen-texto de alta resolución (aprende detalles).
-
Pares de video-texto de baja resolución (aprende acciones). Esto permite que el modelo aprenda a mapear características visuales al mismo concepto en diferentes resoluciones.
Resumen
No es que el modelo se "divida" en dos, sino que tiene elasticidad:
-
En hardware: El codificador visual (Vision Encoder) funciona como un acordeón: según la resolución, genera una cantidad diferente de tokens.
-
En software: El LLM recibe una "secuencia larga" y no le importa si esa secuencia es "una rebanada de una imagen grande" o "la concatenación de varias imágenes pequeñas".
Por lo tanto, cuando estás en una videollamada, Doubao no se "vuelve tonto"; simplemente asigna las neuronas que normalmente usaría para "ver los poros" a "ver tus movimientos".
Entonces, específicamente para el video dividido en imágenes, ¿cada fotograma de video proporciona tokens uno por uno, o se combinan múltiples fotogramas en un solo token con una dimensión temporal?
Esta es una pregunta muy técnica sobre los detalles de la arquitectura. La práctica principal actual en la industria (incluyendo GPT-4o, Gemini 1.5 Pro y Doubao) suele estar entre las dos opciones que mencionas, pero se inclina más hacia "extraer fotograma por fotograma primero, y luego comprimir/fusionar temporalmente".
Pocos modelos combinan múltiples fotogramas en un solo token (demasiada poca información), ni conservan tontamente todos los tokens de cada fotograma (explosión de información).
Actualmente, los enfoques principales se dividen en las siguientes dos rutas. Es muy probable que Doubao, al ser un modelo en tiempo real, utilice una variante del segundo enfoque:
Enfoque 1: Modo brocheta (Apilamiento / Concatenación de fotogramas)
"Un fotograma tras otro, usando la posición para registrar el tiempo"
Este es el método más intuitivo y el que usaban los primeros modelos multimodales (como Video-LLaVA).
-
Codificación independiente: El codificador visual (Visual Encoder) divide el video en Fotograma 1, Fotograma 2, Fotograma 3... y luego independientemente convierte cada fotograma en un conjunto de tokens (por ejemplo, 256 tokens por fotograma).
-
Concatenación directa: Concatena estos conjuntos de tokens como si ensartara brochetas.
-
Codificación posicional (Positional Embedding): Les asigna una marca para indicar al LLM: "Esta es la imagen del segundo 1, esta es la imagen del segundo 2".
-
Secuencia que ve el LLM:
[Frame1_Tokens] + [Frame2_Tokens] + [Frame3_Tokens] ... -
Desventaja: El consumo de tokens es enorme. Si se toman 2 fotogramas por segundo, con 256 tokens cada uno, un video de un minuto serían 2×60×256 = 30,720 tokens. Esto es demasiado costoso y lento para una conversación en tiempo real.
Enfoque 2: Modo de compresión espacio-temporal (Agrupación / Agregación espacio-temporal)
"Entran muchos fotogramas, salen pocos" — La opción preferida para modelos en tiempo real
Para resolver la explosión de tokens, los modelos avanzados actuales introducen un "agregador temporal" (Proyector / Adaptador Temporal). Esto es lo que suponías: "sintetizar tokens con dimensión temporal".
-
Extraer características: El codificador visual sigue viendo primero Fotograma 1, Fotograma 2, Fotograma 3, Fotograma 4.
-
Fusión y compresión (Pooling): El modelo tiene una capa intermedia dedicada a "deduplicar" y "extraer cambios".
-
Si el Fotograma 1 y el Fotograma 2 son casi iguales (por ejemplo, estás sentado sin moverte), el modelo promedia o pondera matemáticamente los tokens de esos dos fotogramas.
-
Puede comprimir los datos originales de 4 fotogramas (supongamos 1000 tokens en total) en un conjunto de tokens que representan ese período de tiempo (por ejemplo, comprimido a 64 tokens).
- Entrada al cerebro: El LLM ya no recibe una imagen estática de un solo fotograma, sino un conjunto de información condensada que representa "lo que sucedió en estos 2 segundos".
- Secuencia que ve el LLM:
[Time_0-2s_Summary_Tokens] + [Time_2-4s_Summary_Tokens] ...
Una técnica aún más radical: Tubelet Embedding (Rebanado 3D)
En el ámbito académico y en algunos modelos específicos (como los modelos de generación de video tipo Sora, o algunos modelos de comprensión eficiente), existe un enfoque más completo de "token con dimensión temporal" llamado Tubelet (rebanado de tubo).
-
Principio:
-
Parche de imagen normal (Patch): Corta un cuadrado 2D (x, y).
-
Parche de video (Tubelet): Corta un paralelepípedo 3D (x, y, t).
-
Ejemplo: Un token extraído por el modelo ya no es "el píxel de la esquina superior izquierda en este segundo", sino "el cambio en esta área de la esquina superior izquierda durante los próximos 3 fotogramas".
-
Resultado: Un token así contiene inherentemente información de flujo temporal.
Resumen: ¿Cómo lo hace Doubao probablemente?
Considerando los requisitos de latencia ultrabaja de una llamada en tiempo real, es muy probable que Doubao utilice una estrategia híbrida de "muestreo de fotogramas clave + agrupación temporal local (Local Temporal Pooling)":
-
No ve todos los fotogramas: Los salta (por ejemplo, solo ve los fotogramas 1, 5, 10).
-
Los tokens son independientes pero están relacionados: Cada fotograma genera tokens independientes.
-
El LLM infiere el tiempo: Depende del poderoso LLM (cerebro) para entender el tiempo a través del orden secuencial de los tokens (Sequence Order), en lugar de incrustar el tiempo a la fuerza dentro de un token.
Entendimiento popular: No comprime la acción de "saludar con la mano" en un solo token de "saludo"; sino que envía al cerebro una secuencia de tokens: [手在下] -> [手在中] -> [手在上]. El cerebro, al leer esta secuencia, deduce por sí mismo: "Oh, está saludando".