Cómo funciona el modelo Sora de OpenAI
(factorialfunds.com)- Sora se basa en Diffusion Transformers (DiT) y latent diffusion, y amplía tanto el modelo como el dataset de entrenamiento a gran escala
- Sora muestra que vale la pena escalar los modelos de video, y que un escalado adicional similar al de los modelos de lenguaje grandes (LLM) será un motor clave para mejorar rápidamente el modelo
- Empresas como Runway, Genmo y Pika están construyendo interfaces y flujos de trabajo intuitivos para modelos de generación de video como Sora
- Se estima que el entrenamiento de Sora requirió una enorme cantidad de poder de cómputo, equivalente a entre 4,200 y 10,500 GPU Nvidia H100 durante 1 mes
- En inferencia, se estima que Sora puede generar hasta unos 5 minutos de video por hora por cada GPU Nvidia H100. En comparación con los LLM, la inferencia de modelos basados en difusión como Sora es varias veces más costosa
- A medida que modelos como Sora se desplieguen ampliamente, el cómputo de inferencia dominará al de entrenamiento, y se estima que el "punto de equilibrio" llegará cuando se generen entre 15.3 y 38.1 millones de minutos de video; después de eso, la inferencia consumirá más cómputo que el entrenamiento original. En comparación, cada día se suben 17 millones de minutos de video a TikTok y 43 millones de minutos a YouTube
- Considerando la proporción de video generado por IA en TikTok y YouTube, se estima que la demanda máxima de GPU Nvidia H100 para inferencia sería de unas 720 mil unidades
Contexto
- Sora pertenece a la familia de modelos de difusión. Los modelos de difusión son una opción popular para generación de imágenes, con modelos conocidos como DALL-E de OpenAI o Stable Diffusion de Stability AI. Más recientemente, empresas como Runway, Genmo y Pika han estado explorando la generación de video, probablemente usando modelos de difusión.
- Los modelos de difusión son un tipo de modelo generativo de machine learning que aprende a generar datos como imágenes o video revirtiendo gradualmente un proceso de agregar ruido aleatorio a los datos. Estos modelos comienzan con un patrón de ruido puro y eliminan ese ruido poco a poco, refinando patrones hasta convertirlos en salidas comprensibles y detalladas.
Detalles técnicos de Sora
-
OpenAI publicó un reporte técnico junto con el anuncio de Sora. Aunque le faltan detalles, su diseño parece estar fuertemente influenciado por el paper de investigación "Scalable Diffusion Models with Transformers"
-
Los autores de ese paper propusieron DiT, una arquitectura basada en Transformers para generación de imágenes (DiT es la sigla de Diffusion Transformers)
-
Sora parece extender este trabajo hacia la generación de video. Al combinar el reporte técnico de Sora con el paper de DiT, se puede obtener una imagen bastante precisa de cómo funciona el modelo Sora
-
Sora tiene tres partes importantes:
- No opera en el espacio de píxeles, sino que realiza difusión en un espacio latente (lo que se conoce como latent diffusion)
- Usa una arquitectura Transformer
- Parece utilizar un dataset muy grande
-
Latent diffusion
- Para entender el primer punto, latent diffusion, pensemos en la generación de imágenes
- Se podría generar cada píxel usando difusión, pero eso es muy ineficiente (por ejemplo, una imagen de 512x512 tiene 262,144 píxeles)
- En su lugar, se pueden mapear los píxeles a una representación latente con cierto grado de compresión, hacer la difusión en ese espacio latente más compacto y al final decodificar de nuevo del latente al espacio de píxeles
- Este mapeo mejora considerablemente la complejidad computacional: en vez de ejecutar el proceso de difusión sobre 512x512 = 262,144 píxeles, por ejemplo solo habría que generar 64x64 = 4,096 latentes
- Esta idea fue el avance central del paper "High-Resolution Image Synthesis with Latent Diffusion Models", y es la base de Stable Diffusion.
- El ejemplo del mapeo de píxeles a representación latente es una imagen tomada del reporte técnico de Sora.
- Tanto DiT como Sora aprovechan este enfoque. En el caso de Sora, hay una consideración adicional: el video tiene una dimensión temporal, ya que está compuesto por cuadros que son una secuencia temporal de imágenes
- En el reporte técnico de Sora, la etapa de codificación que mapea de píxeles a espacio latente parece ocurrir tanto espacialmente (es decir, comprimiendo el ancho y alto de cada cuadro) como temporalmente (es decir, comprimiendo a lo largo del tiempo)
- Para entender el primer punto, latent diffusion, pensemos en la generación de imágenes
-
Transformers
- Como segundo punto, tanto DiT como Sora usan una arquitectura Transformer vanilla en lugar de la arquitectura U-Net, que es la más común
- Esto es importante porque los autores del paper de DiT observaron que el uso de Transformers produce un escalado predecible, lo que significa que al aplicar más cómputo de entrenamiento (entrenar el modelo por más tiempo, hacerlo más grande o ambas cosas), el rendimiento mejora
- Este comportamiento de escalado es una propiedad importante que puede cuantificarse mediante las llamadas scaling laws, y ya se había estudiado antes en el contexto de los modelos de lenguaje grandes (LLM) y de modelos autorregresivos en otras modalidades
- La capacidad de escalar para obtener mejores modelos ha sido uno de los principales motores del rápido progreso en LLM
- Como la misma propiedad también existe en generación de imágenes y video, se puede esperar que aquí también funcione la misma receta de escalado
-
Dataset
- El último elemento clave necesario para entrenar el modelo son los datos etiquetados, y se considera el ingrediente secreto más importante para entrenar modelos como Sora
- Para entrenar un modelo de texto a video como Sora, se necesitan pares de videos y sus descripciones en texto
- OpenAI no dice mucho sobre su dataset, pero da a entender que es muy grande: "Nos inspiramos en los modelos de lenguaje grandes que adquieren capacidades generales a través del entrenamiento sobre datos a escala de internet."
- OpenAI también reveló un método para adjuntar etiquetas de texto detalladas a imágenes, que fue usado para recolectar el dataset de DALLE-3
- La idea general es entrenar un modelo generador de captions sobre un subconjunto etiquetado del dataset, y luego usar ese modelo para etiquetar automáticamente el resto
- Parece que la misma técnica se aplicó también al dataset de Sora
Impacto
- Se cree que Sora tendrá varios impactos importantes. A continuación, un vistazo breve a ellos
- Inicio de la utilidad práctica de los modelos de video
- La calidad del video que Sora puede generar representa un avance claro, no solo en nivel de detalle sino también en consistencia temporal (por ejemplo, puede manejar correctamente la permanencia de objetos cuando quedan ocultos temporalmente y generar reflejos en el agua con precisión)
- Ahora se cree que la calidad del video ya es suficiente, en cierto tipo de escenas, para usarse en aplicaciones reales
- Por ejemplo, Sora pronto podría reemplazar algunos usos de stock video footage
- Sin embargo, aún quedan desafíos:
- No está claro qué tan controlable es el modelo Sora actual
- Como el modelo produce píxeles, editar el video generado es difícil y requiere mucho tiempo
- También será necesario construir interfaces de usuario (UI) y flujos de trabajo intuitivos para que estos modelos resulten útiles
- Empresas como Runway, Genmo y Pika ya están trabajando en estos problemas
- Se espera un rápido avance de los modelos de video
- Una de las ideas centrales del paper de DiT fue que la calidad del modelo mejora directamente con cómputo adicional, como se comentó antes
- Esto es similar a las scaling laws observadas en los LLM
- Por lo tanto, se puede esperar un rápido progreso adicional en la calidad de los modelos de generación de video a medida que se entrenen con cada vez más cómputo
- Sora muestra con claridad que esta receta realmente funciona, y se espera que OpenAI y otras compañías se enfoquen aún más en esta dirección
- Generación de datos sintéticos y aumento de datos
- En áreas como robótica y vehículos autónomos, los datos son inherentemente escasos: en internet no abundan videos de robots realizando tareas o de vehículos conduciendo.
- En general, estos problemas se han abordado entrenando en simulación o recolectando datos del mundo real a gran escala (o con una combinación de ambos enfoques)
- Sin embargo, ambos enfoques enfrentan el problema de que los datos de simulación suelen ser poco realistas
- Recolectar datos del mundo real a gran escala es costoso, y obtener suficientes datos sobre eventos raros es un reto
- Modelos como Sora podrían ser muy útiles aquí. Se cree que podrían usarse para generar directamente datos sintéticos completos
- Sora también podría usarse para aumento de datos, transformando videos existentes para que se vean distintos
- El segundo punto descrito arriba muestra a Sora transformando un video de un auto rojo circulando por un camino en el bosque en una escena de jungla exuberante
- Con la misma técnica, se puede imaginar volver a renderizar una escena de día a noche o cambiar las condiciones del clima
- Simulación y world models
- Aprender los llamados world models es una dirección de investigación prometedora
- Si son lo suficientemente precisos, estos world models podrían usarse para entrenar agentes directamente dentro de ellos o para planificación y exploración.
- Modelos como Sora parecen aprender implícitamente una simulación básica de cómo funciona el mundo real directamente a partir de datos de video
- Estas "simulaciones emergentes" tienen defectos por ahora, pero aun así son interesantes: sugieren que quizás sea posible entrenar estos world models a gran escala a partir de video
- Además, Sora parece ser capaz de simular escenas muy complejas, como líquidos, reflejos de luz y el movimiento de telas y cabello.
- OpenAI dejó claro que considera esto como el aspecto más importante del modelo al titular su reporte técnico "Video generation models as world simulators".
- Muy recientemente, DeepMind demostró un efecto similar con su modelo Genie, entrenándolo solo con video de videojuegos: el modelo aprende a simular esos juegos (y a crear otros nuevos)
- En este caso, el modelo aprende a condicionarse en acciones sin observarlas directamente
- En otras palabras, el objetivo es hacer posible el aprendizaje directamente dentro de estas simulaciones.
- Combinando ambos, se considera que modelos como Sora y Genie podrían resultar muy útiles para entrenar a gran escala agentes incorporados en tareas del mundo real (por ejemplo, en robótica)
- Pero hay limitaciones: como estos modelos se entrenan en el espacio de píxeles, terminan modelando todos los detalles, como la forma en que el viento mueve una hoja de pasto, aunque eso quizá no tenga ninguna relevancia para la tarea en cuestión
- El espacio latente está comprimido, pero como debe poder volver a mapearse a píxeles, tiene que conservar mucha información; por eso no está claro si la planificación puede hacerse eficientemente en ese espacio latente
Estimaciones de cómputo (Compute Estimates)
- En Factorial Funds prefieren analizar la cantidad de cómputo usada en entrenamiento e inferencia. Esto es útil porque puede ayudar a proyectar cuánto cómputo será necesario en el futuro
- Sin embargo, como casi no hay detalles sobre el tamaño del modelo y el dataset usados para entrenar Sora, también es difícil estimar estas cifras
- Por lo tanto, las estimaciones de esta sección son muy inciertas, y conviene tenerlo presente como referencia
- (Como solo son estimaciones, esta parte se omite)
3 comentarios
Además del contenido, agrego personalmente algunos TMI que ya conocía.
Dicen que tanto DiT como Sora usan una arquitectura de transformador vanilla en lugar de la arquitectura U-Net que se usa comúnmente, pero ¿qué papel cumplen U-Net y los transformadores en la inteligencia artificial? Estoy muy confundido, lloro.
Parecen alienígenas, caray.