[Tradução] Road to Sora: pesquisas introdutórias para entender o Sora da OpenAI (feat. Oxen.AI)
(discuss.pytorch.kr)- A Oxen.AI, que cria ferramentas de datasets de IA de alta qualidade, mantém o ArXiv Dives, onde toda sexta-feira lê artigos de IA e compartilha insights.
- Este texto compartilha, com permissão, uma tradução do artigo Road to Sora, apresentado no ArXiv Dives no início de março.
- O Road to Sora traduzido desta vez tem como objetivo apresentar os conhecimentos necessários para entender o modelo Sora com base no documento técnico do Sora, o modelo de geração de imagens divulgado pela OpenAI.
Road to Sora: pesquisas para entender o Sora da OpenAI / "Road to Sora" Paper Reading List
by Greg Schoeninger, Mar 5, 2024
Este texto faz parte de um esforço para organizar a lista de leitura do nosso clube de artigos de sexta-feira, o ArXiv Dives. Como ainda não foi publicado um artigo oficial sobre o Sora, o objetivo é seguir as pistas deixadas no relatório técnico do Sora da OpenAI. Nas próximas semanas, planejamos revisar alguns artigos fundamentais no nosso clube de artigos de sexta-feira para ajudar a formar uma visão mais clara do que está acontecendo por trás das cortinas do 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.
O que é o Sora? / What is Sora?
O Sora é um modelo que causou grande impacto no campo da IA generativa, com capacidade de gerar vídeos em alta fidelidade a partir de prompts em linguagem natural. Se você ainda não viu um exemplo do Sora, confira abaixo um vídeo gerado de uma tartaruga nadando em um recife 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.
Embora a OpenAI não tenha publicado um artigo de pesquisa oficial sobre os detalhes técnicos do modelo em si, ela divulgou um relatório técnico que cobre alguns detalhes de alto nível das técnicas utilizadas e alguns resultados qualitativos.
> 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
Visão geral da arquitetura do Sora / Sora Architecture Overview
Depois de ler os artigos abaixo, a arquitetura do Sora deve começar a fazer sentido. O relatório técnico oferece uma visão bem panorâmica, e espero que cada artigo aprofunde aspectos diferentes e ajude a compor o quadro completo. Há uma boa revisão de literatura chamada "Sora: A Review on Background, Technology, Limitations, and Opportunities of Large Vision Models" que apresenta um diagrama de alto nível de uma arquitetura obtida por engenharia reversa.
> 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.
A equipe da OpenAI afirma que o Sora é um "Diffusion Transformer", que combina muitos dos conceitos listados nos artigos acima, mas aplicados a patches latentes espaço-temporais gerados a partir de vídeo.
> 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.
Trata-se de uma combinação do estilo de patches usado no artigo do Vision Transformer (ViT) com espaços latentes semelhantes aos do artigo de Latent Diffusion, mas unida no estilo do Diffusion Transformer. Não há apenas patches na largura e na altura da imagem; isso também se estende à dimensão temporal do vídeo.
> 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.
É difícil dizer exatamente como eles coletaram os dados de treinamento para tudo isso, mas parece ter sido uma combinação das técnicas do artigo do Dall-E 3 com o uso do GPT-4 para elaborar descrições textuais detalhadas de cada imagem, que depois são transformadas em vídeos. Os dados de treinamento provavelmente são o principal ingrediente secreto aqui, por isso são o ponto com menos detalhes no relatório 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
Tecnologias de geração de vídeo como o Sora têm muitos casos de uso e aplicações interessantes. Seja em cinema, educação, games, saúde ou robótica, não há dúvida de que gerar vídeos realistas a partir de prompts em linguagem natural vai transformar vários setores.
> 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.
A observação no rodapé deste diagrama também faz sentido para nós na Oxen.ai. Para quem não conhece a Oxen.ai, estamos criando ferramentas open source para ajudar na colaboração e avaliação dos dados que entram e saem de modelos de machine learning. Acreditamos que muitas pessoas precisam ter visibilidade sobre esses dados, e que isso deve ser um esforço colaborativo. A IA está impactando muitos campos e setores diferentes, e quanto mais olhos estiverem sobre os dados que treinam e avaliam esses modelos, melhor.
> 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.
Veja mais aqui: https://oxen.ai
> Check us out here: https://oxen.ai
Lista de leitura de artigos / Paper Reading List
A seção de referências do relatório técnico publicado pela OpenAI traz muitos artigos com link, mas é um pouco difícil saber quais ler primeiro ou quais são conhecimentos de base importantes. Nós filtramos esse material e selecionamos os artigos que consideramos mais impactantes e interessantes, organizando-os 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.
Artigos de base / Background Papers
A qualidade de imagens e vídeos gerados vem melhorando de forma constante desde 2015. Os avanços que mais chamaram a atenção do público em geral começaram em 2022, com Midjourney, Stable Diffusion e Dall-E. Esta seção inclui alguns artigos fundamentais e arquiteturas de modelo que são citados repetidamente na literatura. Embora nem todos os artigos estejam diretamente ligados à arquitetura do Sora, todos eles são um contexto importante para entender como o estado da arte evoluiu ao longo do tempo.
> 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.
Já abordamos muitos dos artigos abaixo em ArXiv Dives anteriores, então, se quiser se atualizar, confira todo o conteúdo no blog da Oxen.ai.
https://www.oxen.ai/community/arxiv-dives
U-Net
O artigo "U-Net: Redes Convolucionais para Segmentação de Imagens Biomédicas (U-Net: Convolutional Networks for Biomedical Image Segmentation)" é um ótimo exemplo de um trabalho usado para uma tarefa em um domínio específico (neste caso, imagens biomédicas) que acabou sendo aplicado a muitos casos de uso diferentes. O ponto mais notável é que ele serve como base para vários modelos de difusão, como o Stable Diffusion, facilitando o aprendizado para prever e mitigar ruído em cada etapa. Embora não seja usado diretamente na arquitetura do Sora, é um conhecimento de base importante para o estado da arte anterior.
"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 linguagem / Language Transformers
O artigo "Atenção é Tudo de que Você Precisa (Attention Is All You Need)" é outro trabalho que provou seu valor em uma tarefa de tradução automática, mas acabou se tornando um artigo seminal para toda a pesquisa em processamento de linguagem natural. Hoje, os transformers são a base de muitas aplicações de LLM, como o ChatGPT. Os transformers acabaram se mostrando extensíveis a várias modalidades e são usados como um componente da arquitetura do 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 / Vision Transformer (ViT)
O artigo "Uma Imagem Vale 16x16 Palavras: Transformers para Reconhecimento de Imagens em Escala (An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale)" foi um dos primeiros a aplicar transformers ao reconhecimento de imagens, provando que eles podem superar ResNets e outras redes neurais convolucionais quando treinados em conjuntos de dados grandes o suficiente. Este trabalho pega a arquitetura do artigo "Attention Is All You Need" e a faz funcionar para tarefas de visão computacional. Em vez de usar tokens de texto como entrada, o ViT usa patches de imagem 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 difusão latente / Latent Diffusion Models
"Síntese de Imagens em Alta Resolução com Modelos de Difusão Latente (High-Resolution Image Synthesis with Latent Diffusion Models)" é a técnica por trás de muitos modelos de geração de imagens, como o Stable Diffusion. Ela mostra como é possível reformular a geração de imagens como uma sequência de autoencoders de remoção de ruído a partir de uma representação latente. Esses modelos usam a arquitetura U-Net mencionada acima como espinha dorsal do processo generativo. Esses modelos podem gerar imagens fotorrealistas a partir de qualquer 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
"Aprendendo modelos visuais transferíveis a partir de supervisão por linguagem natural (Learning Transferable Visual Models From Natural Language Supervision)" também é conhecido como Contrastive Language-Image Pre-training (CLIP) e é uma técnica para incorporar dados de texto e dados de imagem no mesmo espaço latente. Essa técnica ajuda a conectar a compreensão de linguagem e a compreensão visual dos modelos generativos, garantindo alta similaridade de cosseno entre pares de representações de texto e imagem.
"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
De acordo com o relatório técnico do Sora, ele reduz a dimensionalidade do vídeo bruto com um Vector Quantized Variational Auto Encoder (VQ-VAE). Modelos VAE são conhecidos como um método poderoso de pré-treinamento não supervisionado para aprender representações 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
O relatório técnico do Sora explica como ele aceita vídeos com qualquer proporção de tela e como isso permite treinar com um conjunto de dados muito maior. Quanto mais dados puderem ser fornecidos ao modelo sem precisar recortá-los, melhores serão os resultados. Este artigo usa a mesma técnica para imagens, e o Sora a estende para vídeo.
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
Artigos da área de geração de vídeo / Video Generation Papers
Eles citam alguns artigos sobre geração de vídeo que inspiraram o Sora e levam os modelos generativos acima a outro nível ao aplicá-los a vídeo.
ViViT: A Video Vision Transformer
Este artigo detalha como dividir vídeos em "tokens espaço-temporais (Spatio-Temporal Token)", necessários para tarefas de vídeo. O foco do artigo é classificação de vídeo, mas a mesma tokenização também pode ser aplicada à geração de vídeo.
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 é um sistema de geração de vídeo condicionado por texto, baseado em uma cascata de modelos de difusão para vídeo. Ele usa convoluções na direção temporal e técnicas de super-resolution para gerar vídeos de alta qualidade 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 artigo pega os modelos de difusão latente dos artigos de geração de imagem acima e introduz uma dimensão temporal no espaço latente. Aqui, o espaço latente é alinhado para aplicar algumas técnicas interessantes na dimensão temporal, mas ainda não alcança a consistência temporal do 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 artigo apresenta o W.A.L.T, uma abordagem baseada em Transformer para geração fotorrealista de vídeos via modelagem por difusão. Pelo que sei, essa parece ser a técnica mais próxima do Sora entre as referências, e foi publicada em dezembro de 2023 pelas equipes da Google, Stanford e 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
Artigos da área de compreensão visão-linguagem / Vision-Language Understanding
Para gerar vídeos a partir de prompts de texto, é preciso reunir grandes conjuntos de dados. Como é inviável que pessoas rotulem manualmente essa quantidade de vídeos, parece que são usadas técnicas de dados sintéticos semelhantes às descritas no artigo do 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
Treinar sistemas de geração de texto para vídeo exige uma grande quantidade de vídeos com legendas de texto correspondentes. Eles aplicam aos vídeos a técnica de re-captioning introduzida no DALL·E 3. Assim como no DALL·E 3, também aproveitam modelos GPT para transformar prompts curtos dos usuários em legendas longas e detalhadas, que são então enviadas ao modelo de vídeo.
> 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 o modelo consiga seguir as instruções do usuário, é bastante provável que tenha sido feito um ajuste fino baseado em instruções, semelhante ao do artigo do Llava. Esse artigo também mostra algumas técnicas de dados sintéticos para criar um grande conjunto de dados de instruções, que podem ser interessantes em combinação com os métodos do DALL-E mencionados acima.
> 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
Artigos como Make-A-Video e Tune-A-Video mostraram como o prompt engineering aproveita a capacidade de compreensão de linguagem natural do modelo para decodificar instruções complexas e transformá-las em narrativas de vídeo coesas, vívidas e de alta qualidade. Por exemplo, é possível pegar um prompt simples do usuário e expandi-lo com adjetivos e verbos para desenvolver melhor a cena.
> 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
Conclusão / Conclusion
Esperamos que este texto sirva como um ponto de partida para conhecer todos os componentes importantes que podem compor um sistema como o Sora! Se você achar que deixamos algo passar, sinta-se à vontade para nos avisar por e-mail em 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.
Os artigos apresentados aqui estão longe de ser leituras leves. É por isso que, às sextas-feiras, analisamos um artigo por vez, com calma, explicando os temas de forma simples para que qualquer pessoa possa entender. Acreditamos que qualquer um pode contribuir para a construção de sistemas de IA e que, quanto mais você entende os fundamentos, mais padrões consegue identificar e melhores produtos consegue criar.
> 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.
Participe dessa jornada de aprendizado inscrevendo-se no ArXiv Dives ou simplesmente entrando na comunidade do Oxen.ai no Discord.
> 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
⚠️Publicidade⚠️: Este artigo organizado pelo :pytorch:PyTorch Korean User Group:kr: foi útil para você? Se inscrever-se como membro, enviaremos os principais artigos por e-mail:love_letter:! (O padrão é Weekly, mas também é possível mudar para Daily.)
1 comentários
Sora da OpenAI: