- A OpenAI explora com o Sora se modelos de geração de vídeo podem ir além da simples síntese de imagens e evoluir para a simulação do mundo físico e digital
- O projeto central coloca vídeos e imagens em um espaço latente comprimido no tempo e no espaço, dividindo-o em patches espaço-temporais para treinamento como se fossem tokens de Transformer
- O Sora não recorta para um tamanho fixo; ele aprende preservando comprimento, resolução e proporção variáveis, tratando no mesmo modelo vídeos widescreen, vídeos verticais e imagens de alta resolução
- Aplica ao vídeo a técnica de recaptioning do DALL·E 3 e usa GPT para expandir prompts curtos em legendas detalhadas, elevando a fidelidade ao texto e a qualidade visual
- Já consegue em parte consistência 3D, persistência de objetos e simulação de mundos digitais como Minecraft, mas ainda tem limitações em interações físicas que exigem mudança de estado, como vidro quebrando ou comida sendo consumida
O problema que o Sora aborda e o escopo do relatório
- A OpenAI investiga o treinamento de modelos generativos em grande escala com dados de vídeo
- O Sora é um modelo de difusão condicionado por texto que treina conjuntamente vídeos e imagens de diferentes durações, resoluções e proporções
- O maior modelo, o Sora, consegue gerar vídeos de alta fidelidade com até 1 minuto de duração
- Este relatório técnico foca em dois pontos
- como transformar dados visuais diversos em uma representação unificada adequada para o treinamento de modelos generativos em grande escala
- uma avaliação qualitativa das capacidades e limitações do Sora
- Não inclui detalhes da arquitetura do modelo nem detalhes de implementação
- Pesquisas anteriores em geração de vídeo usaram várias abordagens, como redes neurais recorrentes, GANs, Transformers autorregressivos e modelos de difusão, mas muitas vezes se concentraram em categorias estreitas de dados, vídeos curtos e vídeos de tamanho fixo
- O Sora foi projetado como um modelo geral de dados visuais que gera vídeos e imagens em diferentes durações, proporções e resoluções
Como os dados visuais são unificados em patches
- Assim como grandes modelos de linguagem unificam código, matemática e linguagem natural por meio de tokens de texto, o Sora usa patches para dados visuais
- Os vídeos são primeiro comprimidos em um espaço latente de baixa dimensão e depois decompostos em patches espaço-temporais
- A representação baseada em patches escala bem e funciona de forma eficiente para treinar vários tipos de vídeo e imagem
Compressão de vídeo e patches latentes espaço-temporais
- O Sora não trabalha diretamente com o vídeo original no espaço de pixels; ele treina e gera em uma representação latente comprimida no tempo e no espaço
- Um modelo decodificador separado mapeia a representação latente gerada de volta para o espaço de pixels
- A sequência de patches espaço-temporais extraída do vídeo comprimido de entrada funciona como os tokens de um Transformer
- Imagens podem ser tratadas como vídeos de um único frame, então o mesmo método também se aplica a elas
- Na inferência, patches inicializados aleatoriamente são posicionados em uma grade do tamanho desejado para controlar o tamanho do vídeo gerado
Expansão do Diffusion Transformer para geração de vídeo
- O Sora é um modelo de difusão treinado para receber patches com ruído e informações condicionais, como um prompt de texto, e prever os patches limpos originais
- Ao mesmo tempo, o Sora é um Diffusion Transformer
- Transformers já mostraram propriedades de escalabilidade em várias áreas, como modelagem de linguagem, visão computacional e geração de imagens, e no Sora também escalam de forma eficaz como modelo de vídeo
- Com a mesma seed e a mesma entrada, à medida que o treinamento avança e o volume de computação aumenta, a qualidade das amostras melhora de forma clara
- Os exemplos comparativos são compostos por base compute, 4x compute e 32x compute
Vantagens de treinar no tamanho original
- Abordagens tradicionais de geração de imagem e vídeo costumam redimensionar, recortar e aparar para tamanhos padrão, como 4 segundos ou 256x256
- O Sora obtém várias vantagens ao treinar os dados em seu tamanho original
-
Flexibilidade de sampling
- O Sora pode gerar vídeos widescreen em 1920x1080p, vídeos verticais em 1080x1920 e vários formatos intermediários
- É possível gerar diretamente conteúdo na proporção nativa adequada a diferentes dispositivos
- Com o mesmo modelo, dá para prototipar rapidamente em tamanhos menores e depois gerar na resolução completa
-
Melhoria de enquadramento e composição
- Treinar na proporção original melhora a composição e o enquadramento
- Um modelo treinado com todos os vídeos recortados para quadrado às vezes produz vídeos em que o objeto aparece apenas parcialmente
- O Sora gera vídeos com enquadramento melhor do que modelos baseados em recorte quadrado
Entendimento de linguagem e processamento de legendas
- Para treinar um sistema de geração de vídeo a partir de texto, é preciso uma grande quantidade de vídeos com legendas textuais correspondentes
- A OpenAI aplica ao vídeo a técnica de recaptioning introduzida no DALL·E 3
- Primeiro, treina-se um modelo que produz legendas extremamente detalhadas; em seguida, ele é usado para gerar legendas textuais para todo o conjunto de vídeos de treinamento
- Treinar com legendas detalhadas de vídeo melhora a fidelidade ao texto e a qualidade geral do vídeo
- De forma semelhante ao DALL·E 3, o GPT é usado para transformar prompts curtos do usuário em legendas longas e detalhadas, que então são passadas ao modelo de vídeo
- Esse método ajuda o Sora a gerar vídeos de alta qualidade que seguem o prompt do usuário com mais precisão
Geração e edição usando imagens e vídeos como entrada
- O Sora pode receber como prompt não apenas texto, mas também imagens ou vídeos existentes
- Esse recurso é usado em tarefas como geração de vídeos perfeitamente repetíveis, animação de imagens estáticas e extensão temporal de vídeos para frente e para trás
-
Animação de imagens do DALL·E
- O Sora pode gerar vídeos a partir de uma imagem e de um prompt
- Os exemplos são compostos por geração de vídeo com base em imagens do DALL·E 2 e do DALL·E 3
-
Extensão de vídeos gerados
- O Sora pode estender um vídeo para frente ou para trás no tempo
- Três vídeos estendidos para o futuro temporal a partir de pontos diferentes dentro de um mesmo vídeo gerado começam em trechos distintos, mas convergem para o mesmo final
- Do mesmo modo, é possível estender um vídeo para frente e para trás para criar um loop infinito sem cortes
-
Edição e conexão de vídeo para vídeo
- A OpenAI aplica ao Sora o SDEdit, um dos métodos de edição de imagem e vídeo baseados em modelos de difusão
- Essa técnica permite ao Sora transformar em zero-shot o estilo e o ambiente de um vídeo de entrada
- Ao interpolar gradualmente entre dois vídeos de entrada, é possível criar transições suaves até entre vídeos com temas e composições de cena completamente diferentes
Capacidade de geração de imagens
- O Sora também pode gerar imagens
- As imagens são geradas posicionando patches de Gaussian noise em uma grade espacial com duração temporal de um frame
- O tamanho das imagens geradas é variável e pode chegar a resolução máxima de 2048x2048
- Os prompts de exemplo incluem close de uma pessoa no outono, um recife de coral, arte digital de um filhote de tigre sob uma macieira e uma vila montanhosa coberta de neve com aurora
Capacidades de simulação que surgem com o aumento de escala
- Modelos de vídeo treinados em grande escala exibem capacidades emergentes de simular alguns aspectos de pessoas, animais e ambientes
- Essas características são tratadas como fenômenos que surgem com o aumento de escala, sem vieses indutivos explícitos sobre 3D ou objetos
-
Consistência 3D
- O Sora consegue gerar vídeos com movimento dinâmico de câmera
- Quando a câmera se desloca ou gira, pessoas e elementos da cena se movem de maneira consistente no espaço tridimensional
-
Consistência de longo prazo e persistência de objetos
- Manter consistência temporal em amostras longas é um desafio importante para sistemas de geração de vídeo
- O Sora nem sempre consegue, mas às vezes modela de forma eficaz dependências de curto e longo alcance
- Em alguns casos, ele mantém pessoas, animais e objetos mesmo quando ficam ocultos ou saem do enquadramento
- Pode criar vários planos do mesmo personagem dentro de uma única amostra e preservar sua aparência ao longo de todo o vídeo
-
Interação com o mundo
- Às vezes o Sora simula ações que afetam o estado do mundo de maneiras simples
- Os exemplos incluem pinceladas deixadas por um pintor na tela que permanecem ao longo do tempo e uma pessoa mordendo um hambúrguer, deixando a marca da mordida
-
Simulação de mundos digitais
- O Sora também pode simular processos artificiais, como videogames
- No exemplo de Minecraft, ele consegue controlar o jogador com uma política básica enquanto renderiza o mundo e sua dinâmica com alta fidelidade
- Só com um prompt de legenda mencionando “Minecraft”, essa capacidade pode ser induzida em zero-shot
Limitações atuais e conclusão
- Como simulador, o Sora ainda tem várias limitações
- Ele não modela com precisão a física de muitas interações básicas, como o ato de um vidro quebrar
- Também nem sempre acerta em interações como comer alimentos, nas quais o estado do objeto precisa mudar corretamente
- Mais exemplos de falhas, como perda de consistência em amostras longas ou aparecimento repentino de objetos, são mostrados na página do Sora
- As capacidades atuais indicam que a expansão contínua dos modelos de vídeo pode ser um caminho para desenvolver simuladores competentes do mundo físico e digital, bem como dos objetos, animais e pessoas que existem nele
1 comentários
Opiniões do Hacker News
Acho que estão deixando passar o que essa tecnologia torna possível. Ela consegue criar sequências plausíveis de vídeo com leis físicas realistas e, se ficar rápida o bastante para funcionar em tempo real, isso trará uma grande mudança.
Conecte isso a um robô com um feed de câmera em tempo real e faça com que ele gere continuamente várias cenas futuras possíveis da imagem recebida: você terá um robô autônomo que cria um modelo em tempo real do mundo ao redor e prevê o futuro. Se acrescentarmos correção de erro com base em quão bem cada previsão corresponde ao resultado real, acho que poderemos chegar realmente perto de AGI.
A saída pode ser conectada à geração de texto ou ao controle dos próprios movimentos, e também é possível imaginar um sistema que prevê os resultados das ações que ele pode tomar e então escolhe a melhor. Para esse tipo de uso, a imagem nem precisa ser perfeitamente realista, livre de erros ou em alta resolução. Vale pensar em quão realista é a nossa própria imaginação do mundo.
Por exemplo, um robô doméstico de limpeza vê uma imagem da sala, gera uma imagem da sala já limpa, depois imagina interpolando um vídeo de si mesmo limpando o cômodo, age tanto quanto possível de acordo com esse vídeo e então volta a gerar uma sequência de cenas e agir. Se necessário, isso pode ser repetido várias vezes por segundo.
Um sistema assim que vale ver é o V-Jepa: https://ai.meta.com/blog/v-jepa-yann-lecun-ai-model-video-jo...
Quando se fazem experimentos de aprendizagem por reforço, a expectativa de que “é só ligar e ela vai funcionar bem e encontrar um monte de soluções incríveis” é sempre empolgante, mas na prática, embora isso possa acontecer, geralmente não acontece. Muitas vezes vemos sinais de aprendizado, mas não resultados extraordinários.
O motivo de eu continuar acompanhando se surgirá uma IA forte em videogames como Civilization é que quero ver se ela consegue resolver problemas de sistemas complexos e, ao mesmo tempo, ser realista o bastante para que os desenvolvedores do jogo a implementem de forma prática. Uma equipe de especialistas poderia resolver Civilization como projeto de pesquisa, mas isso está longe da praticidade. Antes de uma IA dentro do jogo prever a melhor jogada, fico em dúvida se um modelo de vídeo conseguiria prever a melhor jogada apenas assistindo a vídeos de pessoas jogando Civilization.
O objetivo final da robótica é, na verdade, projetar o futuro no espaço de mundo 3D, e, dependendo de quão complexo seja o modelo de mundo 3D, um modelo de projeção 3D funcional poderia ser muito menor.
Só que os dados correspondentes a isso simplesmente não existem na internet com a mesma facilidade.
Quando se está há muito tempo na área de IA, vê-se várias supostas rupturas que levariam à AGI, de DeepBlue a redes neurais convolucionais, aprendizagem por reforço profunda e os atuais grandes modelos de linguagem. Em cada caso, talvez não fosse a ruptura que as pessoas imaginavam, ou talvez AGI exija muito mais do que uma única ruptura de engenharia.
Se você acha que essa ideia é viável, basta testá-la em um ambiente simples. Crie um pequeno mundo em grade ou uma simplificação de um jogo baseado em texto como Nethack [2], implemente em um ambiente controlado e veja quão bem funciona. Dá até para escrever um artigo.
[1] https://openreview.net/pdf?id=BZ5a1r-kVsf
[2] É melhor não começar pelo Nethack em si. É difícil demais para a “IA”.
Isso porque eles teriam vantagens como comprimento de contexto maior que o dos humanos, modalidades sensoriais adicionais como infravermelho ou eletrorecepção, expertise muito mais ampla e largura de banda enorme.
Um futuro sucessor do Sora + um provável sucessor do GPT-4 = ASI, na minha visão.
Outro comentário que escrevi sobre isso: https://news.ycombinator.com/item?id=39391971
Gosto do fato de esta página não mostrar só os melhores resultados, mas também alguns casos de falha
Por exemplo, o surfista acaba surfando no ar no final: https://cdn.openai.com/tmp/s/prompting_7.mp4
Também há uma cena em que o vidro que deveria quebrar não quebra, e só o líquido escorre de um jeito estranho: https://cdn.openai.com/tmp/s/discussion_0.mp4
O jeito como esta pessoa anda também é estranho: https://cdn.openai.com/tmp/s/a-woman-wearing-a-green-dress-a...
Também não sei de onde saiu este mapa: https://cdn.openai.com/tmp/s/a-woman-wearing-purple-overalls...
Ao ver a parte que diz que “interações como comer comida nem sempre produzem mudanças corretas no estado dos objetos”, parece que foi por isso que não mostraram o Will Smith comendo espaguete
A frase “o escalonamento de modelos de vídeo é um caminho promissor para o desenvolvimento de simuladores de alto desempenho dos mundos físico e digital” é interessante para a robótica, mas uma aplicação mais próxima pode ser preencher lacunas em cenas de Gaussian splatting
Para criar um walkthrough 3D de um espaço, são necessárias centenas ou milhares de fotos cobrindo todos os ângulos possíveis sem interrupções, e mesmo assim surgem partes faltando. Um modelo desse nível provavelmente conseguiria reconstruir de forma plausível cantos ocultos, detalhes próximos e partes que ficariam como buracos ou borrões em uma reconstrução padrão
Talvez seja possível obter uma cena 3D suave e realista, navegável de qualquer ângulo, usando apenas 5 a 10 fotos de um lugar, e também remover pessoas ou objetos indesejados da cena. Essa reconstrução extrapolada não coincidirá perfeitamente com a realidade em todos os detalhes, mas ainda assim permitirá muitas aplicações
O AlphaGo e o AlphaZero alcançaram desempenho sobre-humano porque havia um simulador perfeito de Go. No mundo real em que vivemos, não existe esse simulador. Modelos de linguagem grandes puros até aprendem em alguma medida uma representação grosseira e abstrata do mundo percebido pelos humanos, mas o Sora é uma tentativa de criar esse tipo de simulador com deep learning
A frase central é: “nossos resultados sugerem que escalar modelos de geração de vídeo é um caminho promissor para criar simuladores de uso geral do mundo físico”
Se um simulador assim ficar bom o suficiente, poderemos obter, do lado do software, capacidades robóticas gerais e sobre-humanas. Ainda não está claro se essa abordagem é realmente alcançável na prática
O motivo de ser sobre-humano é que comprimentos de contexto maiores que a nossa memória de trabalho são uma vantagem óbvia, e a capacidade de simular com mais densidade modalidades sensoriais alternativas ou detalhes com os quais a maioria dos humanos não está familiarizada também pode ser uma vantagem
Mas o rumo da IA é pular as etapas intermediárias e operar diretamente sobre dados de pixels. É uma abordagem que espera que a compreensão de geometria 3D, perspectiva e física surja naturalmente dos dados de treinamento
Acho que o Ylecun já disse várias vezes que vídeo é melhor para treinar modelos grandes, porque vídeos têm maior densidade de informação
O resultado é realmente impressionante. O fato de conseguir gerar vídeos de alta qualidade assim e estender o passado e o futuro de um vídeo mostra o quanto o modelo “entende” do mundo real, de interações entre objetos, de composição 3D etc.
A geração de imagens já exige saber muita coisa sobre o mundo, mas acho que a geração de vídeo representa uma diferença muito maior, porque o modelo precisa conhecer 3D, movimento de objetos e interações
É uma loucura pensar que a cena de alguém desenhando foi inteiramente gerada em vídeo
Tenho vontade de testar, mas nem consigo imaginar o quanto vai custar. Ele é treinado em resolução total e consegue gerar vídeos de até 1 minuto
Como a geração de vídeo era muito ruim, eu achava que ainda levaria alguns anos para chegar a esse nível, mas parece mais um caso de basta adicionar mais dados e computação. O Transformer parece provar mais uma vez que consegue aprender e se sair bem em qualquer coisa
O post principal também tem muita repercussão, mas esta página é realmente avassaladora. Os resultados são impactantes
Os exemplos de robôs são bastante decepcionantes, mas pessoas e figurantes de fundo, em sua maioria, são muito bem gerados, num nível muito melhor que a maioria dos modelos de difusão de imagens estáticas. Eu também não esperava que esse tipo de modelo ficasse bom tão rápido em manter a mesma pessoa enquanto ela interage com objetos
É surpreendente que esse modelo gere vídeos com tanta consistência 3D mesmo sem conhecimento prévio 3D explícito. A ponto de ser possível treinar, diretamente a partir desse vídeo, uma representação 3D parecida com NeRF: https://twitter.com/BenMildenhall/status/1758224827788468722
O mais surpreendente é que ele faz o modelo inpaintar uma esfera cromada no centro da imagem, criando no reflexo o que existe atrás da câmera. O modelo interpreta o contexto e imagina algo plausível para todo o ambiente
Em outros exemplos, estradas, objetos e pessoas surgem ou desaparecem de repente, pedras viram pessoas, e um cavalo subitamente ganha uma segunda cabeça e depois vira um cavalo separado com apenas duas pernas
À primeira vista é impressionante, mas, quando se presta atenção, está mais perto de um sonho do que de realismo. É como evocar uma imagem a partir de outra, sem consistência temporal, espacial e causal de longo prazo. É difícil dizer que seja muito mais impressionante do que o Google DeepDream de 10 anos atrás
[1] https://dreamfusion3d.github.io/
É uma ideia interessante. Assim como os grandes modelos de linguagem são simples “previsores de texto”, mas precisam aprender um modelo da linguagem e do mundo para prever corretamente textos coerentes, é natural que previsores de vídeo também precisem aprender um modelo de mundo que faça sentido
Fico curioso para saber quantas ordens de grandeza ainda precisam avançar para se tornarem igualmente úteis
Se esse tipo de capacidade for permitido, talvez em breve possa derrubar toda a indústria pornográfica, provavelmente em modelos premium ou superiores. Não os sites, mas sim os trabalhadores do sexo, que muitas vezes são explorados
Qualquer pessoa poderia descrever suas preferências e visualizá-las instantaneamente, sem que seres humanos reais precisem sofrer para criar esse tipo de vídeo. Sei que, especialmente nos EUA, é um tema sensível e difícil de discutir, mas o mercado é enorme e, se bem feito, talvez possa ajudar a humanidade
Criar um fluxo infinito de estímulos viciantes é uma das coisas mais distantes de ajudar a humanidade
Se você quer fazer algo bom nessa área, é melhor pesquisar formas de limitar o consumo