18 pontos por xguru 2024-03-22 | 3 comentários | Compartilhar no WhatsApp
  • O Sora é baseado em Diffusion Transformers (DiT) e Latent Diffusion, com o modelo e o conjunto de dados de treinamento ampliados em grande escala
  • O Sora mostra que vale a pena escalar modelos de vídeo e que uma ampliação adicional, semelhante à dos grandes modelos de linguagem (LLMs), será um dos principais motores para melhorar rapidamente o modelo
  • Empresas como Runway, Genmo e Pika estão construindo interfaces e fluxos de trabalho intuitivos para modelos de geração de vídeo como o Sora
  • Estima-se que o treinamento do Sora exija uma enorme quantidade de poder computacional, equivalente a 4.200~10.500 GPUs Nvidia H100 por 1 mês
  • No caso da inferência, estima-se que o Sora possa gerar até cerca de 5 minutos de vídeo por hora por GPU Nvidia H100. Em comparação com LLMs, a inferência de modelos baseados em difusão como o Sora é várias vezes mais cara
  • À medida que modelos como o Sora forem amplamente implantados, a computação de inferência passará a dominar a computação de treinamento, e o "ponto de equilíbrio" é estimado em 15,3 milhões~38,1 milhões de minutos de vídeo gerados; depois disso, mais computação será gasta em inferência do que no treinamento original. Em comparação, o volume de vídeo enviado por dia é de 17 milhões de minutos (TikTok) e 43 milhões de minutos (YouTube)
  • Considerando a proporção de vídeos gerados por IA no TikTok e no YouTube, a demanda máxima por GPUs Nvidia H100 para inferência é estimada em cerca de 720 mil unidades

Contexto

  • O Sora pertence à categoria dos modelos de difusão. Modelos de difusão são uma escolha popular para geração de imagens, com modelos conhecidos como DALL-E, da OpenAI, e Stable Diffusion, da Stability AI. Mais recentemente, empresas como Runway, Genmo e Pika vêm explorando a geração de vídeo, provavelmente também com uso de modelos de difusão.
  • Modelos de difusão são um tipo de modelo generativo de aprendizado de máquina que aprende a gerar dados, como imagens ou vídeos, revertendo gradualmente o processo de adicionar ruído aleatório aos dados. Esses modelos começam com padrões de ruído puro e, aos poucos, removem esse ruído, refinando os padrões até transformá-los em saídas compreensíveis e detalhadas.

Detalhes técnicos do Sora

  • A OpenAI divulgou um relatório técnico junto com o anúncio do Sora. Embora esse relatório tenha poucos detalhes, seu design parece ter sido fortemente influenciado pelo artigo de pesquisa "Scalable Diffusion Models with Transformers"

  • Os autores desse artigo propuseram o DiT, uma arquitetura baseada em Transformer para geração de imagens (DiT é a sigla de Diffusion Transformers)

  • O Sora parece expandir esse trabalho para a geração de vídeo. Ao combinar o relatório técnico do Sora com o artigo do DiT, é possível obter um retrato bastante preciso de como o modelo Sora funciona

  • O Sora tem três partes importantes:

    • Em vez de operar no espaço de pixels, ele realiza difusão no espaço latente (o chamado latent diffusion)
    • Usa a arquitetura Transformer
    • Parece utilizar um conjunto de dados muito grande
  • Latent Diffusion

    • Para entender o primeiro ponto, latent diffusion, considere a geração de imagens
      • É possível gerar cada pixel usando difusão, mas isso é muito ineficiente (por exemplo, uma imagem de 512x512 tem 262.144 pixels)
      • Em vez disso, é possível mapear os pixels para uma representação latente com algum fator de compressão, executar a difusão nesse espaço latente mais compacto e, por fim, decodificar de volta do latente para o espaço de pixels
      • Esse mapeamento melhora significativamente a complexidade computacional: em vez de executar o processo de difusão em 512x512 = 262.144 pixels, por exemplo, basta gerar 64x64 = 4.096 latentes
      • Essa ideia foi o avanço central do artigo "High-Resolution Image Synthesis with Latent Diffusion Models" e se tornou a base do Stable Diffusion.
    • Um exemplo desse mapeamento de pixels para representação latente é uma imagem retirada do relatório técnico do Sora.
    • Tanto o DiT quanto o Sora usam essa abordagem. No caso do Sora, há uma consideração adicional: vídeos têm uma dimensão temporal; eles são compostos por quadros, que são uma sequência temporal de imagens
    • No relatório técnico do Sora, a etapa de codificação que faz o mapeamento de pixels para o espaço latente parece ocorrer de forma espacial (ou seja, comprimindo a largura e a altura de cada quadro) e temporal (ou seja, comprimindo ao longo do tempo)
  • Transformer

    • No segundo ponto, tanto o DiT quanto o Sora usam uma arquitetura Transformer pura, em vez da arquitetura U-Net mais comum
    • Isso é importante porque os autores do artigo do DiT observaram que o uso de Transformers leva a um escalonamento previsível, ou seja, aplicar mais computação no treinamento (treinando o modelo por mais tempo, aumentando seu tamanho, ou ambos) melhora o desempenho
    • Esse comportamento de escalonamento é uma propriedade importante que pode ser quantificada pelas chamadas scaling laws, já estudadas anteriormente no contexto de grandes modelos de linguagem (LLMs) e de modelos autorregressivos em outras modalidades
    • A capacidade de aplicar escala para obter modelos melhores foi um dos principais motores do rápido progresso nos LLMs
    • Como a mesma propriedade também parece existir na geração de imagens e vídeos, é razoável esperar que a mesma receita de escalonamento funcione aqui também
  • Conjunto de dados

    • O último elemento central necessário para treinar o modelo é ter dados rotulados, e isso é visto como o ingrediente secreto mais importante para treinar modelos como o Sora
    • Para treinar um modelo de texto para vídeo como o Sora, é preciso ter pares de vídeo e sua descrição em texto
    • A OpenAI não fala muito sobre seu conjunto de dados, mas sugere que ele é muito grande: "Inspired by large language models that acquire general capabilities by training on internet-scale data."
    • A OpenAI também revelou um método para anexar rótulos textuais detalhados a imagens, usado na coleta do conjunto de dados do DALLE-3
    • A ideia geral é treinar um modelo captioner em um subconjunto rotulado do conjunto de dados e depois usar esse captioner para rotular automaticamente o restante
    • Parece que a mesma técnica foi aplicada ao conjunto de dados do Sora

Impacto

  • Acredita-se que o Sora terá alguns impactos importantes. A seguir, um breve olhar sobre eles
  • Início da viabilidade prática dos modelos de vídeo
    • A qualidade dos vídeos que o Sora consegue gerar é um avanço claro, não apenas no nível de detalhe, mas também em termos de consistência temporal (por exemplo, ao lidar corretamente com a persistência de objetos quando ficam temporariamente ocultos e ao gerar reflexos na água com precisão)
    • Agora acredita-se que a qualidade do vídeo já seja suficiente, em certos tipos de cena, para uso em aplicações reais
    • Por exemplo, o Sora pode em breve substituir parte do uso de footage de vídeo de stock
    • No entanto, ainda restam desafios:
      • Ainda não está claro o quão controlável é o modelo atual do Sora
      • Como o modelo gera pixels, editar os vídeos gerados é difícil e demorado
      • Também é necessário construir interfaces de usuário (UI) e fluxos de trabalho intuitivos para tornar esses modelos realmente úteis
      • Empresas como Runway, Genmo e Pika já estão trabalhando nesses problemas
  • Evolução rápida esperada para os modelos de vídeo
    • Uma das percepções centrais do artigo do DiT foi que a qualidade do modelo melhora diretamente com computação adicional, como discutido acima
    • Isso é semelhante às scaling laws observadas em LLMs
    • Portanto, à medida que esses modelos forem treinados com cada vez mais computação, é possível esperar novos avanços rápidos na qualidade dos modelos de geração de vídeo
    • O Sora mostra claramente que essa receita realmente funciona, e é provável que a OpenAI e outras empresas passem a se concentrar ainda mais nessa direção
  • Geração de dados sintéticos e aumento de dados
    • Em áreas como robótica e veículos autônomos, os dados são intrinsecamente escassos: a internet não está cheia de vídeos de robôs executando tarefas ou de carros dirigindo.
    • Em geral, esses problemas vêm sendo abordados por meio de treinamento em simulação, coleta de dados do mundo real em grande escala, ou uma combinação dos dois
    • No entanto, ambas as abordagens enfrentam o problema de que dados de simulação frequentemente não são realistas
    • Coletar dados do mundo real em grande escala é caro, e reunir dados suficientes sobre eventos raros é desafiador
    • Modelos como o Sora podem ser muito úteis aqui. Eles podem ser usados diretamente para gerar dados sintéticos completos
    • O Sora também pode ser usado para aumento de dados, transformando vídeos existentes para que pareçam diferentes
    • O segundo ponto descrito acima mostra o Sora transformando um vídeo de um carro vermelho correndo por uma trilha na floresta em uma paisagem de selva densa
    • Dá para imaginar o uso da mesma técnica para refazer a renderização de uma cena do dia para a noite ou para mudar as condições climáticas
  • Simulação e world models
    • Aprender os chamados world models é uma direção de pesquisa promissora
    • Se forem suficientemente precisos, esses world models podem ser usados para treinar agentes diretamente dentro deles ou para planejamento e exploração.
    • Modelos como o Sora parecem aprender implicitamente, diretamente a partir de dados de vídeo, uma simulação básica de como o mundo real funciona
      • Essas "simulações emergentes" ainda têm falhas no momento, mas continuam sendo interessantes: elas sugerem que talvez seja possível treinar esses world models a partir de vídeos em grande escala
      • Além disso, o Sora parece ser capaz de simular cenas muito complexas, como líquidos, reflexos de luz e movimento de tecidos e cabelos.
      • A OpenAI deixou isso claro ao dar ao relatório técnico o título "Video generation models as world simulators", indicando que considera esse o aspecto mais importante do modelo.
    • Muito recentemente, a DeepMind demonstrou um efeito semelhante com o modelo Genie, treinado apenas com vídeos de videogames: o modelo aprendeu a simular esses jogos (e a criar novos)
      • Nesse caso, o modelo aprendeu a condicionar ações sem observá-las diretamente
      • Em outras palavras, o objetivo é permitir aprendizado diretamente dentro dessas simulações.
    • Combinando os dois, é possível imaginar que modelos como Sora e Genie possam ser usados de forma muito útil para treinar, em grande escala, agentes incorporados para tarefas no mundo real (por exemplo, em robótica)
    • Mas há limitações: como esses modelos são treinados no espaço de pixels, eles acabam modelando todos os detalhes, como a forma como o vento move as folhas da grama, mesmo que isso possa não ter nenhuma relevância para a tarefa em execução
    • O espaço latente é comprimido, mas como ainda precisa poder ser remapeado para pixels, ele tem de manter muita informação; por isso, não está claro se o planejamento pode ser feito de forma eficiente nesse espaço latente

Estimativas de computação (Compute Estimates)

  • Na Factorial Funds, há preferência por analisar a quantidade de computação usada em treinamento e inferência. Isso é útil porque pode informar previsões sobre a quantidade de computação que será necessária no futuro
  • No entanto, como há pouquíssimos detalhes sobre o tamanho do modelo e o conjunto de dados usados para treinar o Sora, também é difícil estimar esses números
  • Portanto, as estimativas desta seção são muito incertas e devem ser consideradas com isso em mente
  • (Como são apenas estimativas, esta parte foi omitida)

3 comentários

 
soon0698 2024-03-23

Além do conteúdo, acrescento também algumas curiosidades que eu já conhecia pessoalmente.

  • O Diffusion Transformers (DiT) foi liderado por William Peebles, que na época era doutorando em Berkeley, e o artigo em questão foi rejeitado de forma categórica na CVPR, a mais prestigiosa conferência de visão computacional, com o parecer de “falta de novidade” (Lack of Novelty). Depois, foi publicado na ICCV, o autor se formou, entrou na OpenAI e logo em seguida passou a liderar o projeto Sora.
  • A arquitetura do DiT combina diffusion model + arquitetura Transformer. Na época, já era amplamente conhecido o desempenho superior da restauração de imagens em diffusion models usando a estrutura U-Net; a mudança aqui foi substituir isso por uma abordagem baseada em Vision Transformer e estrutura Patchify, em vez de CNN. Por isso, o foco principal do artigo é quase todo dedicado a demonstrar a "Scaling Law" por meio da adoção da arquitetura ViT, e o método proposto em si não ocupa nem uma página inteira do texto principal.
  • Diferentemente do interesse do grande público, pessoas da academia têm manifestado considerável preocupação com o fato de esse tipo de direção receber cada vez mais atenção e citações. Isso porque, se houver mais dados (bons), recursos computacionais massivos e, por fim, uma arquitetura cuja Scaling Law seja garantida, então parece que já não seriam mais necessários truques engenhosos nem novas invenções. Se simplesmente adicionar mais 100 GPUs sempre produzir resultados melhores do que técnicas inteligentes criadas com muito esforço por pesquisadores, isso dificilmente seria algo muito animador.
 
yangisu12 2024-03-22

Disseram que tanto o DiT quanto o Sora usam uma arquitetura de transformer vanilla em vez da arquitetura U-Net, que é mais usada normalmente. Qual é o papel da U-Net e do transformer em inteligência artificial? Estou muito confuso 😭

 
mhj5730 2024-03-22

São uns alienígenas mesmo, pqp.