[Traducción] Road to Sora: introducción a investigaciones previas para entender Sora de OpenAI (feat. Oxen.AI)
(discuss.pytorch.kr)- Oxen.AI, que crea herramientas para datasets de IA de alta calidad, organiza todos los viernes ArXiv Dives, donde leen artículos de IA y comparten insights.
- Este artículo comparte, con permiso, una traducción de Road to Sora, presentada en ArXiv Dives a comienzos de marzo.
- La traducción de Road to Sora tiene como objetivo revisar los conocimientos necesarios para entender el modelo Sora, basándose en el documento técnico de Sora, el modelo de generación de imágenes publicado por OpenAI.
Road to Sora: investigaciones para entender Sora de OpenAI / "Road to Sora" Paper Reading List
por Greg Schoeninger, 5 de marzo de 2024
Este texto forma parte de un esfuerzo por organizar una lista de lectura para nuestro club de papers de los viernes llamado ArXiv Dives. Como todavía no se ha publicado un paper oficial sobre Sora, el objetivo es seguir las pistas del informe técnico de OpenAI sobre Sora. Durante las próximas semanas planeamos revisar algunos de los papers fundamentales en nuestro club de los viernes, para ayudar a dibujar una imagen más clara de lo que ocurre detrás del telón de Sora.
> This post is an effort to put together a reading list for our Friday paper club called ArXiv Dives. Since there has not been an official paper released yet for Sora, the goal is follow the bread crumbs from OpenAI's technical report on Sora. We plan on going over a few of the fundamental papers in the coming weeks during our Friday paper club, to help paint a better picture of what is going on behind the curtain of Sora.
¿Qué es Sora? / What is Sora?
Sora es un modelo que ha causado un gran impacto en el campo de la IA generativa, gracias a su capacidad de generar videos de alta fidelidad a partir de prompts en lenguaje natural. Si todavía no has visto un ejemplo de Sora, mira a continuación el video de una tortuga nadando en un arrecife de coral.
> Sora has taken the Generative AI space by storm with it's ability to generate high fidelity videos from natural language prompts. If you haven't seen an example yet, here's a generated video of a turtle swimming in a coral reef for your enjoyment.
Aunque el equipo de OpenAI no ha publicado un paper de investigación oficial con los detalles técnicos del modelo en sí, sí compartió un informe técnico que cubre algunos detalles de alto nivel sobre las técnicas que utilizaron y algunos resultados cualitativos.
> While the team at OpenAI has not released an official research paper on the technical details of the model itself, they did release a technical report that covers some high level details of the techniques they used and some qualitative results.
https://openai.com/research/video-generation-models-as-world-simulators
Resumen de la arquitectura de Sora / Sora Architecture Overview
Después de leer los papers de abajo, la arquitectura de Sora debería empezar a tener más sentido. El informe técnico ofrece una vista muy general, y espero que cada paper permita profundizar en distintos aspectos y completar el panorama. Primero, hay un excelente paper de revisión titulado "Sora: A Review on Background, Technology, Limitations, and Opportunities of Large Vision Models", que presenta un diagrama de alto nivel de una arquitectura obtenida por ingeniería inversa.
> After reading the papers below, the architecture here should start to make sense. The technical report is a 10,000 foot view and my hope is that each paper will zoom into different aspects and paint the full picture. There is a nice literature review called "Sora: A Review on Background, Technology, Limitations, and Opportunities of Large Vision Models" that gives a high level diagram of a reverse engineered architecture.
El equipo de OpenAI explica que Sora es un "Diffusion Transformer" que combina muchos de los conceptos enumerados en los papers anteriores, pero aplicados a parches espaciotemporales latentes generados a partir de video.
> The team at OpenAI states that Sora is a "Diffusion Transformer" which combines many of the concepts listed in the papers above, but applied applied to latent spacetime patches generated from video.
Se trata de una combinación del estilo de parches utilizado en el paper de Vision Transformer (ViT), con espacios latentes similares a los del paper de Latent Diffusion, pero integrados con el enfoque de Diffusion Transformer. No solo hay parches a lo largo del ancho y la altura de la imagen, sino que también se extienden a la dimensión temporal del video.
> This is a combination of the style of patches used in the Vision Transformer (ViT) paper, with latent spaces similar to the Latent Diffusion Paper, but combined in the style of the Diffusion Transformer. They not only have patches in width and height of the image but extend it to the time dimension of video.
Es difícil decir exactamente cómo recopilaron los datos de entrenamiento para todo esto, pero parece que no solo combinaron las técnicas del artículo de DALL-E 3, sino que también usaron GPT-4 para ampliar las descripciones textuales detalladas de cada imagen y luego convertirlas en video. Es muy probable que los datos de entrenamiento sean la principal salsa secreta aquí, por lo que es donde menos detalles se explican en el informe técnico.
> It's hard to say how exactly they collected the training data for all of this, but it seems like a combination of the techniques in the Dalle-3 paper as well as using GPT-4 to elaborate on textual descriptions of images, that they then turn into videos. Training data is likely the main secret sauce here, hence has the least level of detail in the technical report.
Casos de uso / Use Cases
Las tecnologías de generación de video como Sora tienen muchos casos de uso y aplicaciones interesantes. Ya sea en cine, educación, videojuegos, salud o robótica, no cabe duda de que generar videos realistas a partir de prompts en lenguaje natural va a sacudir múltiples industrias.
> There are many interesting use cases and applications for video generation technologies like Sora. Whether it be movies, education, gaming, healthcare or robotics, there is no doubt generating realistic videos from natural language prompts is going to shake up multiple industries.
La nota al pie de este diagrama también aplica para Oxen.ai. Para quienes no conozcan bien Oxen.ai, estamos construyendo herramientas de código abierto para ayudar a colaborar y evaluar los datos que entran y salen de los modelos de machine learning. Creemos que muchas personas necesitan visibilidad sobre estos datos y que esto debe ser un esfuerzo colaborativo. La IA está impactando muchos campos e industrias distintos, y mientras más ojos haya sobre los datos que entrenan y evalúan estos modelos, mejor.
> The note at the bottom of this diagram rings true for us at Oxen.ai. If you are not familiar with Oxen.ai we are building open source tools to help you collaborate on and evaluate data the comes in and out of machine learning models. We believe that many people need visibility into this data, and that it should be a collaborative effort. AI is touching many different fields and industries and the more eyes on the data that trains and evaluates these models, the better.
Pueden verlo aquí: https://oxen.ai
> Check us out here: https://oxen.ai
Lista de artículos / Paper Reading List
En la sección de referencias del documento técnico publicado por OpenAI hay muchos artículos enlazados, pero es un poco difícil saber cuáles conviene leer primero o cuáles son conocimientos de base importantes. Revisamos ese material y seleccionamos los artículos que nos parecieron más influyentes e interesantes, organizándolos por tipo.
> There are many papers linked in the references section of the OpenAI technical report but it is a bit hard to know which ones to read first or are important background knowledge. We've sifted through them and selected what we think are the most impactful and interesting ones to read, and organized them by type.
Artículos de contexto / Background Papers
La calidad de las imágenes y los videos generados ha ido mejorando de forma constante desde 2015. Los avances más grandes que captaron la atención del público general comenzaron en 2022 con Midjourney, Stable Diffusion y DALL-E. Esta sección incluye algunos artículos fundacionales y arquitecturas de modelos que se citan una y otra vez en la literatura. Aunque no todos los artículos están directamente relacionados con la arquitectura de Sora, todos son contexto importante para entender cómo ha mejorado el estado del arte con el tiempo.
> The quality of generated images and video have been steadily increasing since 2015. The biggest gains that caught the general public's eyes began in 2022 with Midjourney, Stable Diffusion and Dalle. This section contains some foundational papers and model architectures that are referenced over and over again in the literature. While not all papers are directly involved in the Sora architecture, they are all important context for how the state of the art has improved over time.
Ya hemos cubierto buena parte de los siguientes artículos en ArXiv Dives anteriores, así que si quieren ponerse al día, revisen todo el contenido en el blog de Oxen.ai.
https://www.oxen.ai/community/arxiv-dives
U-Net
El artículo "U-Net: Redes convolucionales para la segmentación de imágenes biomédicas (U-Net: Convolutional Networks for Biomedical Image Segmentation)" es un buen ejemplo de un trabajo que se usó para una tarea en un dominio específico (en este caso, imágenes biomédicas) y que luego se aplicó a muchos casos de uso distintos. Lo más destacable es que sirve como columna vertebral de muchos modelos de difusión, como Stable Diffusion, para facilitar el aprendizaje de predecir y mitigar el ruido en cada paso. Aunque no se usa directamente en la arquitectura de Sora, es un antecedente importante para entender el estado del arte previo.
"U-Net: Convolutional Networks for Biomedical Image Segmentation" is a great example of a paper that was used for a task in one domain (Biomedical imaging) that got applied across many different use cases. Most notably is the backbone many diffusion models such as Stable Diffusion to facilitate learning to predict and mitigate noise at each step. While not directly used in the Sora architecture, important background knowledge for previous state of the art.
https://arxiv.org/abs/1505.04597
Transformadores de lenguaje / Language Transformers
El artículo "La atención es todo lo que necesitas (Attention Is All You Need)" es otro trabajo que demostró su valor en una tarea de traducción automática, pero que terminó convirtiéndose en un artículo fundamental para toda la investigación en procesamiento de lenguaje natural. Los transformers ahora son la base de muchas aplicaciones de LLM como ChatGPT. Al final, los transformers pueden extenderse a muchas modalidades y se usan como un componente de la arquitectura de Sora.
"Attention Is All You Need" is another paper that proved itself on a Machine Translation task, but ended up being a seminal paper for all of natural language processing research. Transformers are now the backbone of many LLM applications such as ChatGPT. Transformers end up being extensible to many modalities and are used as a component of the Sora architecture.
https://arxiv.org/abs/1706.03762
Transformador de visión / Vision Transformer (ViT)
El artículo "Una imagen vale 16x16 palabras: Transformers para reconocimiento de imágenes a gran escala (An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale)" fue uno de los primeros en aplicar transformers al reconocimiento de imágenes, y demostró que pueden superar a ResNet y a otras redes neuronales convolucionales si se entrenan con conjuntos de datos lo suficientemente grandes. Este trabajo toma la arquitectura del artículo "Attention Is All You Need" y la hace funcionar para tareas de visión por computadora. En lugar de usar tokens de texto como entrada, ViT usa parches de imagen de 16x16 como entrada.
"An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale" was one of the first papers to apply Transformers to image recognition, proving that they can outperform ResNets and other Convolutional Neural Networks if you train them on large enough datasets. This takes the architecture from the "Attention Is All You Need" paper and makes it work for computer vision tasks. Instead of the inputs being text tokens, ViT uses 16x16 image patches as input.
https://arxiv.org/abs/2010.11929
Modelos de difusión latente / Latent Diffusion Models
"Síntesis de imágenes de alta resolución con modelos de difusión latente (High-Resolution Image Synthesis with Latent Diffusion Models)" es la técnica detrás de muchos modelos de generación de imágenes, como Stable Diffusion. Muestra cómo se puede reformular la generación de imágenes como una secuencia de autoencoders de eliminación de ruido a partir de una representación latente. Estos modelos usan la arquitectura U-Net mencionada arriba como la columna vertebral del proceso generativo. Estos modelos pueden generar imágenes fotorrealistas a partir de cualquier entrada de texto.
"High-Resolution Image Synthesis with Latent Diffusion Models" is the technique behind many image generation models such as Stable Diffusion. They show how you can reformulate the image generation as a sequence of denoising auto-encoders from a latent representation. They use the U-Net architecture referenced above as the backbone of the generative process. These models can generate photo-realistic images given any text input.
https://arxiv.org/abs/2112.10752
CLIP
"Aprendizaje de modelos visuales transferibles a partir de supervisión con lenguaje natural (Learning Transferable Visual Models From Natural Language Supervision)" también se conoce como preentrenamiento contrastivo lenguaje-imagen (CLIP; Contrastive Language-Image Pre-training), y es una técnica para incorporar datos de texto e imagen en el mismo espacio latente. Esta tecnología ayuda a conectar la comprensión del lenguaje y la comprensión visual de los modelos generativos al verificar que la similitud coseno entre pares de texto e imagen sea alta.
"Learning Transferable Visual Models From Natural Language Supervision" often referred to as Contrastive Language-Image Pre-training (CLIP) is a technique for embedding text data and image data into the same latent space as each other. This technique helps connect the language understanding half of generative models to the visual understanding half by making sure that the cosine similarity between the text and image representations are high between text and image pairs.
https://arxiv.org/abs/2103.00020
VQ-VAE
Según el documento técnico de Sora, reducen la dimensionalidad del video original con un Vector Quantized Variational Auto Encoder (VQ-VAE). Los modelos VAE son conocidos como un potente método de preentrenamiento no supervisado para aprender representaciones latentes.
According to the technical report, they reduce the dimensionality of the raw video with a Vector Quantised Variational Auto Encoder (VQ-VAE). VAEs have been shown to be a powerful unsupervised pre-training method to learn latent representations.
https://arxiv.org/abs/1711.00937
Patch n' Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution
El documento técnico de Sora explica cómo reciben videos con cualquier relación de aspecto y cómo eso les permite entrenar con un conjunto de datos mucho más grande. Cuantos más datos puedan alimentar al modelo sin necesidad de recortarlos, mejores resultados obtienen. Este artículo usa la misma técnica para imágenes, pero Sora la extiende al video.
The Sora technical report talks about how they take in videos of any aspect ratio, and how this allows them to train on a much larger set of data. The more data they can feed the model without having to crop it, the better results they get. This paper uses the same technique but for images, and Sora extends it for video.
https://arxiv.org/abs/2307.06304
Artículos del campo de generación de video / Video Generation Papers
Hacen referencia a varios artículos sobre generación de video que inspiraron a Sora y llevan los modelos generativos anteriores al siguiente nivel al aplicarlos al video.
ViViT: A Video Vision Transformer
Este artículo explica en detalle cómo dividir el video en "tokens espaciotemporales" (spatio-temporal tokens) necesarios para tareas de video. Aunque el artículo se centra en la clasificación de video, el mismo método de tokenización también puede aplicarse a tareas de generación de video.
This paper goes into details about how you can chop the video into "spatio-temporal tokens" needed for video tasks. The paper focuses on video classification, but the same tokenization can be applied to generating video.
https://arxiv.org/abs/2103.15691
Imagen Video: High Definition Video Generation with Diffusion Models
Imagen es un sistema de generación de video condicionado por texto (text-conditional video generation system) basado en una cascada de modelos de difusión de video. Usa convoluciones en la dirección temporal y técnicas de super resolution para generar videos de alta calidad a partir de texto.
Imagen is a text-conditional video generation system based on a cascade of video diffusion models. They use convolutions in the temporal direction and super resolution to generate high quality videos from text.
https://arxiv.org/abs/2210.02303
Align your Latents: High-Resolution Video Synthesis with Latent Diffusion Models
Este artículo toma los modelos de difusión latente de los artículos de generación de imágenes mencionados arriba e introduce una dimensión temporal en el espacio latente. Aquí alinean el espacio latente para aplicar algunas técnicas interesantes en la dimensión temporal, pero todavía no alcanzan la consistencia temporal de Sora.
This paper takes the latent diffusion models from the image generation papers above and introduces a temporal dimension to the latent space. They apply some interesting techniques in the temporal dimension by aligning the latent spaces, but does not quite have the temporal consistency of Sora yet.
https://arxiv.org/abs/2304.08818
Photorealistic video generation with diffusion models
Este paper presenta W.A.L.T, un enfoque basado en transformers para la generación fotorrealista de video mediante modelado por difusión. Hasta donde sé, parece ser la técnica más cercana a Sora dentro de la lista de referencias, y fue publicada en diciembre de 2023 por los equipos de Google, Stanford y Georgia Tech.
> They introduce W.A.L.T, a transformer-based approach for photorealistic video generation via diffusion modeling. This feels like the closest technique to Sora in the reference list as far as I can tell, and was released in December of 2023 by the teams at Google, Stanford and Georgia Tech.
https://arxiv.org/abs/2312.06662
Papers del área de comprensión visión-lenguaje / Vision-Language Understanding
Para generar videos a partir de prompts de texto, es necesario recopilar grandes volúmenes de datasets. Como no es viable que personas etiqueten manualmente tantos videos, parece que se usan técnicas de datos sintéticos similares a las descritas en el paper de DALL-E 3.
> In order to Generate Videos from text prompts, they need to collect a large dataset. It is not feasible to have humans label that many videos, so it seems they use some synthetic data techniques similar to those described in the DALL·E 3 paper.
DALL·E 3
Entrenar sistemas de generación de texto a video requiere una gran cantidad de videos con sus captions de texto correspondientes. Aplican a los videos las técnicas de re-captioning introducidas en DALL-E 3. Al igual que en DALL·E 3, también aprovechan GPT para convertir prompts cortos de usuario en captions largos y detallados que se envían al modelo de video.
> Training text-to-video generation systems requires a large amount of videos with corresponding text captions. They apply the re-captioning technique introduced in DALL·E 3 to videos. Similar to DALL·E 3, they also leverage GPT to turn short user prompts into longer detailed captions that are sent to the video model.
Llava
Para que el modelo pueda seguir las instrucciones del usuario, es muy probable que hayan realizado un ajuste fino basado en instrucciones, similar al del paper de Llava. Este paper también muestra algunas técnicas de datos sintéticos para crear un gran dataset de instrucciones que podría ser interesante en combinación con los métodos de Dall-E mencionados arriba.
> In order for the model to be able to follow user instructions, they likely did some instruction fine-tuning similar to the Llava paper. This paper also shows some synthetic data techniques to create a large instruction dataset that could be interesting in combination with the Dalle methods above.
https://arxiv.org/abs/2304.08485
Make-A-Video & Tune-A-Video
Papers como Make-A-Video y Tune-A-Video han mostrado cómo la ingeniería de prompts aprovecha la capacidad de comprensión del lenguaje natural del modelo para descifrar instrucciones complejas y convertirlas en narrativas de video coherentes, vívidas y de alta calidad. Por ejemplo, tomar un prompt simple del usuario y ampliarlo con adjetivos y verbos para desarrollar mejor la escena.
> Papers like Make-A-Video and Tune-A-Video have shown how prompt engineering leverages model’s natural language understanding ability to decode complex instructions and render them into cohesive, lively, and high-quality video narratives. For example: taking a simple user prompt and extending it with adjectives and verbs to more fully flush out the scene.
https://arxiv.org/abs/2209.14792
https://arxiv.org/abs/2212.11565
Conclusión / Conclusion
¡Esperamos que esto te sirva como punto de partida para entender todos los componentes importantes que podrían conformar un sistema como Sora! Si crees que omitimos algo, no dudes en escribirnos por correo a hello@oxen.ai.
> We hope this gives you a jumping off point for all the important components that could make up a system like Sora! If you think we missed anything, feel free to email us at hello@oxen.ai.
Los papers presentados aquí de ningún modo son lecturas ligeras. Por eso, los viernes tomamos un paper a la vez, vamos con calma y explicamos los temas en lenguaje sencillo para que cualquiera pueda entenderlos. Creemos que cualquier persona puede contribuir a la construcción de sistemas de IA, y que cuanto más entiendas los fundamentos, más patrones detectarás y mejores productos podrás crear.
> It is by no means a light set of reading. This is why on Fridays we take one paper at a time, slow down, and break down the topics in plain speak so anyone can understand. We believe anyone can contribute to building AI systems, and the more you understand the fundamentals, the more patterns you will spot, and better products you will build.
Súmate a este camino de aprendizaje, ya sea registrándote en ArXiv Dives o simplemente uniéndote a la comunidad de Discord de Oxen.ai.
> Join us on a learning journey either by signing up for ArXiv Dives or simply joining the Oxen.ai Discord community.
https://discord.com/invite/s3tBEn7Ptg
Texto original
https://www.oxen.ai/blog/road-to-sora-reading-list
⚠️Publicidad⚠️: ¿Te resultó útil este artículo recopilado por :pytorch:PyTorch Korea User Group:kr:? Si te registras como miembro, te enviaremos los artículos principales por correo electrónico :love_letter: (por defecto es Weekly, pero también puedes cambiarlo a Daily).
1 comentarios
Sora de OpenAI: