[Traduction] Road to Sora : présentation des recherches préalables pour comprendre Sora d’OpenAI (feat. Oxen.AI)
(discuss.pytorch.kr)- Oxen.AI, qui crée des outils de datasets IA de haute qualité, anime chaque vendredi ArXiv Dives, une session de lecture d’articles IA et de partage d’insights.
- Cet article est un partage de la traduction, avec autorisation, du billet Road to Sora, présenté début mars dans ArXiv Dives.
- Le Road to Sora traduit ici a pour objectif d’explorer les connaissances nécessaires pour comprendre le modèle Sora, en s’appuyant sur le document technique de Sora, le modèle de génération d’images publié par OpenAI.
Road to Sora : recherches pour comprendre Sora d’OpenAI / "Road to Sora" Paper Reading List
par Greg Schoeninger, 5 mars 2024
Ce billet s’inscrit dans l’effort de constituer une liste de lecture pour notre club de lecture du vendredi, ArXiv Dives. Comme aucun article officiel sur Sora n’a encore été publié, l’objectif est de suivre les pistes laissées par le rapport technique de Sora d’OpenAI. Au cours des prochaines semaines, nous prévoyons d’examiner quelques articles fondamentaux pendant notre club de lecture du vendredi afin de mieux comprendre ce qui se passe derrière le rideau 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’est-ce que Sora ? / What is Sora?
Sora est un modèle qui a eu un fort retentissement dans le domaine de l’IA générative grâce à sa capacité à produire des vidéos de haute fidélité à partir de prompts en langage naturel. Si vous n’avez pas encore vu d’exemple de Sora, regardez ci-dessous cette vidéo générée d’une tortue nageant dans un récif corallien.
> 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.
Bien que l’équipe d’OpenAI n’ait pas publié d’article de recherche officiel sur les détails techniques du modèle lui-même, elle a rendu public un document technique qui couvre certains aspects à haut niveau des techniques utilisées ainsi que quelques résultats qualitatifs.
> 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
Vue d’ensemble de l’architecture de Sora / Sora Architecture Overview
Après avoir lu les articles ci-dessous, l’architecture de Sora devrait commencer à devenir plus claire. Le document technique adopte une vue très générale, et l’espoir est que chaque article permette de zoomer sur différents aspects pour reconstituer l’ensemble. Il existe une excellente revue de littérature intitulée "Sora: A Review on Background, Technology, Limitations, and Opportunities of Large Vision Models", qui propose un diagramme à haut niveau d’une architecture rétroconçue.
> 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.
L’équipe d’OpenAI explique que Sora est un « Diffusion Transformer » qui combine nombre des concepts listés dans les articles ci-dessus, mais appliqués à des patches spatio-temporels latents générés à partir de la vidéo.
> 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.
Il s’agit d’une combinaison entre le style de patches utilisé dans l’article sur le Vision Transformer (ViT) et des espaces latents similaires à ceux de l’article sur la Latent Diffusion, le tout assemblé dans le style du Diffusion Transformer. Il n’y a pas seulement des patches sur la largeur et la hauteur de l’image, mais aussi une extension à la dimension temporelle de la vidéo.
> 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.
Il est difficile de dire exactement comment ils ont collecté les données d’entraînement pour tout cela, mais il semble qu’il s’agisse d’une combinaison des techniques présentées dans l’article sur Dall-E 3, ainsi que de l’utilisation de GPT-4 pour enrichir les descriptions textuelles détaillées de chaque image, ensuite transformées en vidéos. Les données d’entraînement constituent probablement ici l’ingrédient secret principal, ce qui explique pourquoi le rapport technique donne si peu de détails à leur sujet.
> 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.
Cas d’usage / Use Cases
Les technologies de génération vidéo comme Sora offrent de nombreux cas d’usage et applications intéressants. Que ce soit dans le cinéma, l’éducation, le jeu vidéo, la santé ou la robotique, il ne fait guère de doute que la génération de vidéos réalistes à partir de prompts en langage naturel va bouleverser de nombreux secteurs.
> 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 note en bas de ce diagramme résonne aussi avec ce que nous faisons chez Oxen.ai. Si vous ne connaissez pas encore Oxen.ai, nous développons des outils open source pour vous aider à collaborer autour des données qui entrent dans les modèles de machine learning et qui en sortent, ainsi qu’à les évaluer. Nous pensons que beaucoup de personnes ont besoin de visibilité sur ces données, et que cela doit relever d’un effort collaboratif. L’IA touche un grand nombre de domaines et d’industries, et plus les données qui servent à entraîner et à évaluer ces modèles sont examinées, meilleurs seront les résultats.
> 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.
Vous pouvez nous découvrir ici : https://oxen.ai
> Check us out here: https://oxen.ai
Liste d’articles / Paper Reading List
La section des références du rapport technique publié par OpenAI contient de nombreux liens vers des articles, mais il est assez difficile de savoir lesquels lire en premier ou lesquels constituent les connaissances de base les plus importantes. Nous les avons passés en revue et avons sélectionné ceux qui nous semblent les plus marquants et les plus intéressants, en les organisant par catégorie.
> 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.
Articles de contexte / Background Papers
La qualité des images et des vidéos générées s’améliore de façon constante depuis 2015. Les avancées les plus marquantes qui ont attiré l’attention du grand public ont commencé en 2022 avec Midjourney, Stable Diffusion et Dall-E. Cette section rassemble quelques articles fondamentaux et architectures de modèles cités encore et encore dans la littérature. Même si tous ces articles ne sont pas directement liés à l’architecture de Sora, ils apportent tous un contexte important pour comprendre comment l’état de l’art a progressé au fil du temps.
> 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.
Une grande partie des articles ci-dessous a déjà été traitée dans nos précédents ArXiv Dives ; si vous souhaitez vous mettre à jour, consultez l’ensemble des contenus sur le blog d’Oxen.ai.
https://www.oxen.ai/community/arxiv-dives
U-Net
L’article « U-Net: Convolutional Networks for Biomedical Image Segmentation » est un excellent exemple d’un article utilisé pour une tâche dans un domaine spécifique — ici l’imagerie biomédicale — puis appliqué à de nombreux cas d’usage différents. Le point le plus notable est qu’il sert de colonne vertébrale à de nombreux modèles de diffusion, comme Stable Diffusion, afin de faciliter l’apprentissage de la prédiction et de l’atténuation du bruit à chaque étape. Bien qu’il ne soit pas utilisé directement dans l’architecture de Sora, il constitue un bagage de connaissances important pour comprendre les précédents états de l’art.
> "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
Transformers de langage / Language Transformers
L’article « Attention Is All You Need » est un autre article qui a d’abord fait ses preuves sur une tâche de traduction automatique, avant de devenir une référence majeure pour toute la recherche en traitement automatique du langage naturel. Les transformers sont désormais la base de nombreuses applications de LLM comme ChatGPT. Ils se sont révélés extensibles à de nombreuses modalités et sont utilisés comme composant de l’architecture 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
Vision Transformer (ViT)
L’article « An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale » a été l’un des premiers à appliquer les transformers à la reconnaissance d’images, en montrant qu’ils peuvent surpasser ResNet et d’autres réseaux neuronaux convolutifs lorsqu’ils sont entraînés sur des jeux de données suffisamment grands. Cet article reprend l’architecture présentée dans « Attention Is All You Need » et l’adapte aux tâches de vision par ordinateur. Au lieu d’utiliser des tokens textuels en entrée, ViT utilise des patches d’image de 16x16.
> "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
Modèles de diffusion latente / Latent Diffusion Models
« High-Resolution Image Synthesis with Latent Diffusion Models » est la technique à la base de nombreux modèles de génération d’images comme Stable Diffusion. Il montre comment reformuler la génération d’images comme une séquence d’auto-encodeurs de débruitage à partir d’une représentation latente. Ces modèles utilisent l’architecture U-Net mentionnée plus haut comme colonne vertébrale du processus génératif. Ils peuvent générer des images photoréalistes à partir de n’importe quelle entrée textuelle.
> "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
« Learning Transferable Visual Models From Natural Language Supervision » est également connu sous le nom de Contrastive Language-Image Pre-training (CLIP), une technique qui consiste à intégrer les données textuelles et les données d’image dans le même espace latent. Cette technique aide à relier la compréhension du langage et la compréhension visuelle des modèles génératifs en s’assurant que la similarité cosinus entre les paires texte-image est élevée.
"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
Selon le document technique de Sora, la dimension de la vidéo brute est réduite à l’aide d’un Vector Quantized Variational Auto Encoder (VQ-VAE). Les modèles VAE sont connus comme une méthode puissante de pré-entraînement non supervisé pour apprendre des représentations 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
Le document technique de Sora explique comment le système accepte des vidéos de n’importe quel format d’image, et comment cela lui permet d’être entraîné sur un ensemble de données bien plus vaste. Plus ils peuvent fournir de données au modèle sans avoir à les recadrer, meilleurs sont les résultats obtenus. Cet article applique la même technique aux images, tandis que Sora l’étend à la vidéo.
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
Articles du domaine de la génération vidéo / Video Generation Papers
Ils citent plusieurs articles sur la génération vidéo qui ont inspiré Sora et portent les modèles génératifs ci-dessus à un niveau supérieur en les appliquant à la vidéo.
ViViT: A Video Vision Transformer
Cet article détaille la manière de découper une vidéo en « spatio-temporal tokens » nécessaires aux tâches vidéo. L’article se concentre sur la classification vidéo, mais la même méthode de tokenisation peut aussi être appliquée à la génération de vidéos.
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 est un système de génération vidéo conditionné par le texte, basé sur une cascade de modèles de diffusion vidéo. Il utilise des convolutions dans la dimension temporelle ainsi que des techniques de super resolution pour générer des vidéos haute qualité à partir de texte.
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
Cet article reprend les modèles de diffusion latente des articles sur la génération d’images mentionnés plus haut et introduit une dimension temporelle dans l’espace latent. Il applique plusieurs techniques intéressantes dans cette dimension temporelle en alignant les espaces latents, mais n’atteint pas encore la cohérence temporelle 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
Cet article présente W.A.L.T, une approche basée sur les transformers pour la génération de vidéos photoréalistes par modélisation de diffusion. À ma connaissance, c’est la technique la plus proche de Sora dans la liste des références, et elle a été publiée en décembre 2023 par les équipes de Google, Stanford et 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
Articles sur la compréhension vision-langage / Vision-Language Understanding
Pour générer des vidéos à partir de prompts textuels, il faut collecter d’importants jeux de données. Comme il n’est pas envisageable que des humains étiquettent un si grand nombre de vidéos, il semble qu’ils utilisent des techniques de données synthétiques similaires à celles décrites dans l’article sur 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
L’entraînement de systèmes de génération texte-vers-vidéo nécessite une grande quantité de vidéos accompagnées de leurs légendes textuelles correspondantes. Ils appliquent aux vidéos la technique de re-captioning présentée dans DALL·E 3. Comme avec DALL·E 3, ils utilisent aussi GPT pour transformer de courts prompts utilisateur en légendes longues et détaillées, ensuite envoyées au modèle vidéo.
> 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
Pour que le modèle puisse suivre les instructions des utilisateurs, il est très probable qu’un instruction fine-tuning similaire à celui de l’article Llava ait été réalisé. Cet article montre aussi plusieurs techniques de données synthétiques pour créer à grande échelle un jeu de données d’instructions, potentiellement intéressant en combinaison avec les méthodes de DALL·E ci-dessus.
> 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
Des articles comme Make-A-Video et Tune-A-Video ont montré comment le prompt engineering exploite la capacité du modèle à comprendre le langage naturel pour décoder des consignes complexes et les restituer sous forme de récits vidéo cohérents, vivants et de haute qualité. Par exemple, en prenant un simple prompt utilisateur et en l’enrichissant avec des adjectifs et des verbes afin de mieux étoffer la scène.
> 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
Conclusion / Conclusion
Nous espérons que cela vous donnera un point de départ pour comprendre tous les composants importants susceptibles d’entrer dans la composition d’un système comme Sora ! Si vous pensez que nous avons oublié quelque chose, n’hésitez pas à nous écrire à 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.
Les articles présentés ici sont loin d’être des lectures légères. C’est pourquoi, le vendredi, nous prenons un article à la fois, ralentissons le rythme et expliquons les sujets simplement pour que tout le monde puisse les comprendre. Nous pensons que chacun peut contribuer à la construction de systèmes d’IA, et que plus on comprend les fondamentaux, plus on repère de schémas et meilleurs sont les produits que l’on peut créer.
> 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.
Rejoignez-nous dans ce parcours d’apprentissage, soit en vous inscrivant à ArXiv Dives, soit simplement en rejoignant la communauté Discord d’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
Texte original
https://www.oxen.ai/blog/road-to-sora-reading-list
⚠️Publicité⚠️ : ce billet compilé par la communauté coréenne d’utilisateurs de PyTorch vous a-t-il été utile ? Inscrivez-vous pour recevoir les principaux articles par e-mail :love_letter: ! (Le réglage par défaut est Weekly, mais vous pouvez aussi le passer en Daily.)
1 commentaires
Sora d'OpenAI :