馃帣 Episodio 71. 驴C贸mo funciona Sora?

En el episodio de hoy de Un podcast ninja sobre Big Data os voy a contar c贸mo funciona Sora, un modelo de Inteligencia Artificial de OpenAI que genera videos a partir de textos.

驴Qu茅 es Sora de OpenAI?

A grandes rasgos Sora es un modelo generativo cuyo objetivo es generar v铆deos a partir de instrucciones de texto.

驴Cu谩ndo se podr谩 usar Sora?

Si os pregunt谩is cu谩ndo estar谩 disponible Sora o c贸mo probar Sora que sep谩is que va a tocar esperar.

OpenAI est谩 en las etapas finales de desarrollo de Sora y a煤n est谩 tomando medidas de seguridad esenciales antes de hacerla accesible al p煤blico.

La idea es evitar la desinformaci贸n, el contenido de odio y los sesgos por lo que en OpenAI est谩n comprometidos en asegurar que Sora sea lanzado de manera responsable.

Por tanto, la fecha de lanzamiento de Sora a煤n no ha sido anunciada oficialmente.

OpenAI ha confirmado que Sora sigue siendo un proyecto de investigaci贸n y, por el momento, no est谩 disponible para el p煤blico.

Los 煤nicos con acceso temprano a Sora, m谩s all谩 de los desarrolladores de OpenAI, son un grupo reducido de artistas visuales, dise帽adores y cineastas con el objetivo de recopilar feedback y optimizar el modelo para profesionales creativos. O

No hay lista de espera ni una fecha de lanzamiento estimada.

As铆 que par saber "驴cu谩ndo sale Sora?" o "驴c贸mo probar Sora?", manteneos informados a trav茅s de las actualizaciones de OpenAI.

Dataset de entrenamiento de Sora 馃摷

Para entrenar un modelo como Sora, que genere v铆deo a partir de instrucciones de texto, lo primero que necesitamos son muchos v铆deos con sus correspondientes descripciones.

Descripciones precisas y detalladas

Y hacen falta descripciones s煤per precisas.

Cuanto m谩s precisa y detallada es la descripci贸n del v铆deo en el conjunto de entrenamiento de Sora, m谩s capaz ser谩 el modelo de generar un v铆deo ajustado al prompt que le pase el usuario.

Lo que pasa es que no hay muchos v铆deos con descripciones hiper precisas y detalladas as铆 que, aqu铆 tenemos el segundo modelo de Machine Learning que hace falta.

Uno que genera descripciones detalladas y precisas.

Esto lo que hace b谩sicamente es aumentar la calidad de los datos de entrenamiento del modelo.

Mejores datos de entrenamiento resulta en un modelo mejor.

Esta es la regla n煤mero 1 del Machine Learning, as铆 en general.

As铆 que tenemos en el conjunto de entrenamiento v铆deos con sus correspondientes descripciones detalladas y precisas.

Codificaci贸n del v铆deo

Un v铆deo es una estructura de datos compleja.

Cada fotograma es una imagen de unas dimensiones determinadas.

Imaginad que es un v铆deo HD, en alta resoluci贸n, lo que significa que es una imagen de 1280 p铆xeles de ancho y 720 p铆xeles de alto, es decir, casi 1 mill贸n de p铆xeles.

Si adem谩s, el v铆deo es en color ser铆an adem谩s fotogramas con componentes de rojo, de verde y de azul que superpuestas resultan en el fotograma de color que vemos.

O sea, que tenemos casi 1 mill贸n de p铆xeles por cada componente de color lo que resulta en casi 3 millones de p铆xeles.

Por cada fotograma.

Esto es bastante cantidad de informaci贸n a mover  si queremos llegar a entrenar una red neuronal porque adem谩s necesitaremos del orden de decenas o centenas de miles de v铆deos en el dataset de entrenamiento.

As铆 que una parte fundamental es codificar los v铆deos y, en este caso, los transforman en parches espacio-temporales.

Estos parches espacio-temporales no son m谩s que una representaci贸n de la informaci贸n visual.

Las personas entendemos los v铆deos como una secuencia de im谩genes en el tiempo.

Bien.

Pues la idea es encontrar una representaci贸n de los v铆deos que pueda entender el modelo y que est茅 m谩s comprimida para que sea m谩s manejable a la hora de entrenar a Sora.

Reducci贸n de la dimensionalidad: Un ejemplo

Es como si vais un fin de semana a Paris y os quer茅is llevar un recuerdo de vuestra visita a la torre Eiffel.

No se os ocurrir铆a construir una maqueta en 3 dimensiones para mantener todos los detalles del momento ya que tardar铆ais un mont贸n y cuesta mucho esfuerzo.

Sac谩is una foto y segu铆s con vuestras vidas.

La foto no es en 3 dimensiones as铆 que perd茅is un poco de informaci贸n peeeero es lo suficientemente buena para recordar el momento y m谩s eficiente que una maqueta en 3D.

Pues esto es parecido.

Aqu铆 tenemos un nuevo modelo de Machine Learning, una red neuronal que transforma un v铆deo en una representaci贸n comprimida tanto temporal como espacialmente.

Igual para nosotros, simples humanos, esa representaci贸n no nos parece m谩s que n煤meros sin sentido peero ah铆 est谩 el v铆deo y ya se podr铆a utilizar para entrenar a Sora.

De estas representaciones comprimidas de los v铆deos se extraen parches espacio-temporales y esto s铆, es lo que se utiliza para entrenar a Sora junto a las descripciones ultradetalladas de antes.

Modelos de difusi贸n

Sora es un modelo de difusi贸n un poco especial.

Los modelos de difusi贸n son redes neuronales que se entrenan para predecir ruido.

Entrenamiento de un modelo de difusi贸n

Imaginad que tenemos un conjunto de im谩genes de entrenamiento.

A cada im谩gen le a帽adimos ruido.

Una vez que el modelo predice el ruido, le pasamos el ruido de verdad y a partir del error que ha cometido entre su predicci贸n y la realidad va ajustando sus coeficientes.

Entrenamiento de un modelo de difusi贸n

Este proceso de entrenamiento se va repitiendo con varias im谩genes del conjunto de entrenamiento y varios ruidos generados hasta que el modelo llega a predecir el ruido de una manera pues bastante precisa.

Vale.

Tenemos el modelo de difusi贸n entrenado.

Generaci贸n de im谩genes con modelos de disfusi贸n

Y entonces, lo usamos al rev茅s, le pasamos una imagen con s贸lo ruido.

El modelo no sabe que le hemos pasado s贸lo ruido ya que siempre le hemos pasado una imagen a la que hemos a帽adido ruido.

Pero predice el ruido igual.

Si de manera iterativa vamos substrayendo la predicci贸n del modelo de difusi贸n de nuestro ruido original acabamos teniendo una imagen nueva generada.

Generaci贸n de im谩genes mediante modelos de difusi贸n.

Es decir, generamos un ruido y se lo pasamos al modelo de difusi贸n.

El modelo de difusi贸n nos da una predicci贸n del ruido y se lo substraemos a nuestro ruido original.

El resultado se lo volvemos a pasar al modelo que nos da otra predicci贸n, volvemos a substraer esta predicci贸n y se lo volvemos a pasar.

Pues al final, as铆 es como se genera una imagen completamente nueva.

Con un pero que no os he contado, pero que os cuento ahora.

Tambi茅n hay que a帽adirle la descripci贸n de la imagen tanto en el entrenamiento como a la hora de usar el modelo de difusi贸n.

En el este segundo caso lo que a帽adir铆amos ser铆a la instrucci贸n de lo que queremos que genere, lo que viene siendo el prompt.

DifFusion transformers

Hist贸ricamente la arquitectura de la red neuronal en modelos de difusi贸n era una arquitectura llamada U-Net, que es un tipo de red neuronal convolucional.

En Sora en vez de esta arquitectura U-Net se utiliza la arquitectura de transformer.

Sora es un modelo de tipo diffusion transformer.

Transformers

La arquitectura transformer se dise帽贸 para utilizarse con secuencias de datos, en concreto para textos, que son secuencias de palabras.

De hecho es lo que ha supuesto el avance brutal de los modelos del lenguaje.

En el caso de Sora se utiliza para v铆deos que no dejan de ser secuencias de im谩genes. 

Funcionan con dos ideas clave:

Primero, la idea de que la red neuronal sea capaz de enfocarse en partes espec铆ficas de la entrada.

Por ejemplo, cuando un Transformer procesa un texto, no trata todas las palabras por igual.

Algunas palabras son m谩s importantes para entender el significado completo.

El Transformer asigna un "peso" o importancia a cada palabra de la oraci贸n. Es decir, que las palabras m谩s relevantes para el significado general reciben pesos m谩s altos.

Es como si el Transformer "subrayara" las partes m谩s importantes de la oraci贸n para no olvidarlas.  

Luego, el Transformer combina todas estas palabras ponderadas para formar una representaci贸n concentrada de la oraci贸n. Esta representaci贸n captura no solo las palabras en s铆 sino tambi茅n c贸mo se relacionan entre s铆 dentro de la oraci贸n.

Por otro lado, permite el procesamiento en paralelo.

En vez de procesar palabra por palabra, en el caso de textos, los Transformers pueden considerar todas las palabras de una vez lo que los hace mucho m谩s r谩pidos a la hora de aprender de grandes cantidades de datos secuenciales como textos o v铆deos.

Ventajas de la arquitectura tipo transformer

Lo guay de la arquitectura de transformer y que tambi茅n se ha comprobado con Sora, es que escala muy bien, es decir que los resultados mejoran mucho a medida que se aumenta la cantidad de c谩lculo durante el entrenamiento del modelo.

Cuanto m谩s se "entrena" un modelo con m谩s par谩metros, datasets de entrenamiento m谩s grandes y durante m谩s tiempo, mejor se vuelve en la generaci贸n de videos. 

Con Sora, OpenAI ha demostrado los resultados de escalar modelos de difusi贸n basados en una arquitectura de transformer.

Espero que el episodio de hoy os sea de provecho y que aprend谩is algo de valor. 

Si es as铆, no olvid茅is dejar una valoraci贸n de 5 estrellas del podcast en Apple podcasts, en Spotify, en Ivoox o donde quiera que escuch茅is el podcast. 

Recordad que si ten茅is cualquier duda o pregunta pod茅is contactar conmigo a trav茅s del formulario de contacto o podemos seguir la conversaci贸n en Twitter.

Muchas gracias por estar ah铆 y os espero en el pr贸ximo episodio de Un Podcast Ninja sobre Big Data.

Accede a todo el contenido premium

Ya no necesitas pagar cientos de euros por un Bootcamp para convertirte en ninja de los datos. Por solo 17鈧/mes (o menos 馃く), obt茅n acceso a todos los tutoriales y res煤menes de los libros m谩s top sobre Machine Learning y Ciencia de datos y aprende a tu ritmo.
隆Empieza ahora!
Copyright 漏 2024  路 Datos 馃シ 路 Todos los derechos reservados