logo

Dot CSV

Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀 Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀

Transcribed podcasts: 213
Time transcribed: 5d 22h 50m 3s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Imagínate un futuro cercano donde puedas dialogar de forma natural con la inteligencia artificial,
como haces ahora con chat GPT o con Bing Chat,
pero no solo utilizando texto, sino que puedas, por ejemplo, pasarle un audio, un vídeo, una imagen.
Es decir, poder pasarle a un futuro chatbot, pues una imagen,
y que la IA sepa visualizarla, interpretar cuál es su contenido y dialogar contigo sobre esta.
Esta es una funcionalidad que todavía nos falta en nuestros sistemas conversacionales actuales,
pero que de tenerla abriría una dimensión completamente nueva a la hora de interactuar con la tecnología.
Porque, por ejemplo, podrías pedirle que te describa lo que ves en una foto,
o que te cuente una historia basada en un vídeo,
que te recomiende una canción según el estado anímico que detecte en tu cara,
o que te enseñe algo nuevo a partir de una ilustración que acabas de encontrar.
Pues amigos, en realidad no estamos tan lejos de esto.
Mirad.
Vale, vamos a coger esta foto de aquí, por ejemplo, vamos a pedirle que nos la describa,
y en segundos nos dice, Sagrada Familia Cathedral in Barcelona, España.
Vamos a hacer una pregunta, vamos a preguntarle cómo está el tiempo.
How is the water like? Le damos a enviar.
Hace calor y está soleado en Barcelona, España.
Vamos a preguntarle si el edificio está terminado, se ven que hay grúas, no está finalizado todavía,
y la IA nos dice no, todavía está en construcción.
Wow, todavía en construcción, vamos a preguntarle cuándo comenzó.
Le damos y nos dice que la construcción empezó en 1882.
Toda esta conversación basado en una imagen.
Un poco de contexto.
Hasta hace no mucho el campo del deep learning era algo así.
Tú cogías una red neuronal y la entrenabas para una única tarea,
por ejemplo, clasificar si en la imagen hay un perrito caliente o no.
Y fíjate que en este caso la red neuronal solo aprendió a trabajar con imágenes,
a entender la relación de los píxeles, los patrones visuales,
a comprender su contenido y ya está.
Igual sucedía cuando trabajabas con una red que clasificaba documentos,
que solo aprendía a hacer su tarea usando texto.
Este concepto de trabajar únicamente con un tipo de datos es lo que se conoce como unimodalidad,
el uso de un único modo.
Por ejemplo, solo leer textos o solo escuchar audios o solo ver imágenes.
Las redes neuronales solo aprendían de un único tipo de dato,
algo que en 2021 empezó a cambiar radicalmente.
OpenAI saca clip y populariza la idea de multimodalidad,
es decir, la capacidad de combinar en un entrenamiento diferentes modos de información,
como por ejemplo, texto e imágenes.
Cuando OpenAI saca este paper y libera los modelos, abre la caja de Pandora de la multimodalidad.
Y no solo consigue entrenar a modelos de visión que son mucho más robustos ahora,
con un aprendizaje más sólido,
sino que además marca el camino hacia otras herramientas muy populares
que seguramente te suenen, donde el texto y las imágenes se combinan perfectamente.
Los generadores de imágenes a partir de texto.
Modelos como Stable Diffusion, Mid Journey, Dali 2,
que ya sabéis que son ejemplos exitosos,
de modelos que combinan muy bien de forma creativa la información tanto visual como textual,
el prompt.
Al mismo tiempo, todo esto estaba ocurriendo en paralelo
mientras estábamos viviendo la revolución de los enormes modelos del lenguaje,
con tecnologías como GPT-3.
Y claro, con esta idea de querer conectar visión y lenguaje natural,
en 2022 vimos una nueva tendencia a emerger,
los modelos de visión y lenguaje, o VLMs de Vision Language Models.
La idea, conceptualmente sencilla, es hacer un preentrenamiento a lo bestia,
como hacemos con GPT-3 para el texto,
pero en este caso usando imágenes y texto
para dejarle aprender tanto la información visual como la textual.
Y una vez lo tienes entrenado,
pues puedes usar la base de conocimiento de este enorme modelo
para aplicarlo a múltiples tareas que se te ocurran.
De esta forma, el año pasado vimos ejemplos como Blip,
que automáticamente te permitía subir una imagen
y que la inteligencia artificial te generara una descripción de ella.
Una IA que aprendía a ver el contenido de una imagen y ¡bum!
En segundos te la describía.
Visión conectada a texto.
Y bueno, no solo eso, también podías hacer otras tareas
como poder hacerle preguntas con lenguaje natural
sobre el contenido de dicha imagen.
Oye, en esta imagen, ¿de qué marca es el abrigo de esta persona?
Y ahí lo tenías.
Pero hay un problema.
Si ya de por sí entrenar a un sistema de deep learning de forma unimodal
para que entienda un único tipo de datos es algo computacionalmente muy costoso,
imaginad lo complejo que se vuelve el asunto
cuando queremos pasar al escenario multimodal.
Cuando queremos que la IA aprenda a entender
tanto texto como imágenes simultáneamente.
Es muy complicado.
Pensadlo.
Al final no es lo mismo aprender a leer y aprender a dibujar por separado
que tener que hacerlo todo a la vez.
Pues este problema, amigos, es el que resuelve el trabajo del que estamos hablando hoy.
Blip 2.
Sí, la segunda parte del trabajo anterior.
Un paper donde en vez de buscar un aprendizaje completo multimodal,
lo que se apuesta es por una idea diferente.
Ey, ¿por qué no utilizamos redes que ya estén entrenadas de forma unimodal,
que sepan analizar texto o que entiendan de imágenes?
Y con la información que genera cada una en su ámbito,
¿por qué no intentamos que la tarea sea la de aprender
cómo conectar dicho aprendizaje?
Aprender a relacionarlo.
Así podríamos coger lo aprendido por cada red y congelarlo,
es decir, que no varíe.
Y de lo único que nos tendríamos que preocupar
sería de encontrar esta conexión,
de alinear los patrones aprendidos por cada modelo.
Fíjate bien, esta idea tiene bastante sentido,
ya que volviendo al ejemplo de aprender habilidades,
sería como aprender a leer por un lado,
aprender a dibujar por el otro,
y luego hacer un cursillo que te conecte ambas ideas.
Es más sencillo.
De hecho, esta idea tiene una cosa muy positiva
y es que puedes coger al alumno más aventajado en cada caso.
Imagínate que quieres entrenar a un sistema que conecte lenguaje con visión,
pues puedes coger al modelo de lenguaje más potente,
a GPT-3 por ejemplo,
si tuvieras acceso al modelo,
y conectarlo con algún modelo de visión que sepas que rinde bien.
Haces esta conexión, lo entrenas y funcionará.
Ya tienes a GPT-3 entendiendo la información visual de imágenes.
Y todo esto con un coste computacional mucho más reducido.
Y si esta idea te parece interesante,
mucho más te lo van a parecer los resultados que se obtienen.
Por ejemplo,
tú un día estás viendo una película con tu gafas de realidad aumentada,
te estás aburriendo y ¡clac!
Sacas una foto y le preguntas a la IA,
oye, ¿qué sucede al final de esta película?
Aquí el modelo entenderá el contenido de la imagen,
verá el mar, el barco, a Leonardo DiCaprio
y por su aprendizaje sabrá que es Titanic.
Y también el modelo del lenguaje usando su cultura general
pues te podrá contar qué ocurre al final.
Oye, el Titanic se hunde.
A lo que tú podrás continuar haciendo más y más preguntas.
O por ejemplo, tienes hambre, estás en internet
y ves la siguiente imagen,
a lo que le preguntas a Bleep,
hey, ¿qué ingredientes necesito para hacer este plato?
La IA analizará la imagen y responderá.
Peperoni, mozzarella, queso.
Vale, ahora, ¿cuál es el primer paso?
Pues mira, coloca la masa de pizza en la bandeja del horno,
pon aceite y bla bla bla.
Otro ejemplo, yo te doy esta imagen
y escribo una conversación entre estos dos animales.
Oye perro, ¿puedo montarme en tu espalda?
Claro, ¿por qué no?
Es que estoy cansado de caminar por la nieve.
O incluso podemos hacer visión por computador a lo bestia.
Fijaos en esta imagen.
La primera vez que la vi entendí rápido lo mismo que la IA.
Sí, la foto es rara porque evidentemente la casa está al revés.
Pero mirad en la segunda pregunta.
¿Cómo podría salir alguien de ahí?
En este punto yo ya me quedé pensando en mis teorías
sin haberme fijado demasiado en la imagen.
Y claro, como bien dice la IA,
pues no es tan complicado porque hay un tobogán en el lateral de la casa
por donde la gente puede salir.
Y sinceramente yo no me había fijado.
Y aquí me sentí un poquito menos inteligente que la máquina,
lo cual empieza a ser algo bastante habitual.
Todos estos ejemplos que estáis viendo aquí
son reales, los tenéis incluidos en el paper original de Bleep2.
Y aunque son muy muy impresionantes,
no son del todo novedosos.
Ya el año pasado, en 2022,
DeepMind sacó un proyecto con resultados igualmente impresionantes.
Un trabajo llamado Flamingo.
Y es que con Flamingo también se podía conseguir
que la IA hablará sobre el contenido de una imagen.
Por ejemplo, esta es una de mis conversaciones favoritas
donde la IA parece llegar a entender incluso el humor de un meme.
Ey, qué es gracioso de este meme.
Dice la IA que el hámster está en el tobogán
y es gracioso porque el hámster es tan grande que no cabe.
Guau.
¿Crees que el hámster lo está disfrutando?
No, no lo creo.
¿Cómo crees que se siente el hámster?
Frustrado.
Oh...
Flamingo fue, y bueno, es un trabajo muy interesante.
Y el primero que me abrió los ojos ante esta posibilidad
de ver a modelos tipo chatbots hablando sobre imágenes.
Pero un año después llega Bleep2 y lo supera.
Y lo supera por tres motivos, cada cual más importante.
Primero, rinde mejor resolviendo tareas.
Por ejemplo, donde Flamingo conseguía acertar un 56% de preguntas,
este consigue un 65%.
Vale, es mejor.
Pero es que segundo, computacionalmente es más eficiente.
Y no por poco.
Donde Flamingo requería entrenar a 10.000 millones de parámetros,
Bleep2 solo necesita entrenar a 188 millones.
Es decir, 54 veces menos parámetros.
Algo que hace el entrenamiento mucho más ligero.
Y por último, tercera diferencia, y agarraos que sé que esto os gusta,
Bleep, a diferencia de Flamingo, es open source.
Los modelos preentrenados de Salesforce los podéis encontrar en la librería Labis.
Bleep2 lo podéis encontrar incluido en esta librería.
Que lo que busca es conectar el lenguaje, language, con la visión, vision.
De ahí viene el nombre de Labis.
Y como es habitual también en Hug & Face,
tenemos los modelos preentranados en la página de Salesforce.
Tenemos aquí varios modelos preentranados que ellos nos ofrecen.
Y es que al final aquí pensad que Bleep2, como hemos comentado,
actúa como una especie de conector entre diferentes modelos de lenguaje y de visión
que van a aprender a comunicarse.
Entonces, podemos conectar varios modelos de lenguaje diferentes
según su tamaño, según su potencia.
Y aquí estamos viendo que algunos de los conectores preentranados que nos ofrecen
están sobre modelos que son bastante conocidos.
Por ejemplo, Flanty5 XXL de Google sería la versión grande de este modelo.
Tenemos también el modelo OPT de Meta, que sabéis que es esta versión Open Source
de GPT-3 que ellos entrenaron,
aunque aquí estamos hablando de la versión reducida de 2,7 billions o 6,7 billions.
Es decir, aquí tenéis diferentes configuraciones
que se van a adaptar mejor o peor a vuestras necesidades.
Entre mayor sea el modelo, mejor va a funcionar,
pero más requisitos computacionales va a requerir.
De hecho, ya os digo, hay un Google Collab en el repositorio de GitHub de Salesforce,
pero como intentéis ejecutarlo, vais a ver que siempre va a dar error
con falta de memoria RAM.
Y eso es que estos modelos, pues al final,
siguen siendo muy grandes a la hora de operar.
Entonces, ir probando y buscad aquella configuración que más os guste.
Igualmente, si lo que queréis es jugar con Blip2 y ya está,
aquí en Hacking Face, dentro de los espacios que ellos configuran,
tenemos la demo que podemos probar.
Y cuando entréis, os encontraréis con esta interfaz de aquí,
donde podéis arrastrar una imagen o subirla desde vuestro ordenador
y directamente podemos hacer que el sistema nos haga una descripción de lo que estamos viendo.
Imaginad, por ejemplo, que yo no sé qué tipo de animal es este de aquí.
Quiero averiguarlo, le doy a que me lo describa.
Y la Inteligencia Artificial nos dice que es un probosis monkey
que está colgando de la rama de un árbol.
Es una muy buena descripción, habría que comprobar realmente si es este animal,
pero bueno, confiamos en que ha funcionado bien.
Una vez ha hecho esto, esta descripción, como digo, funciona bastante bien.
Luego tenemos la opción de hacer este diálogo,
que es quizás la novedad de este sistema Blip2.
Ya digo yo que esta parte cuesta más sacar buenos resultados.
Vale, lo primero que nos dice es que tenemos que fijarnos bien en el formato
a la hora, por ejemplo, de hacer preguntas,
pues tenemos que darle un formato para que el modelo del lenguaje
entienda que la actividad que estamos haciendo es justamente este,
este juego de preguntas-respuestas.
Esto se parece un poco a las versiones iniciales de GPT-3,
donde el juego con el prompt era muy importante, el depurarlo bien.
En este caso es igual, pero pensad que además estamos trabajando
con un modelo del lenguaje incluso más pequeño, bastante más pequeño,
con lo cual podríamos decir que más tonto.
Entonces, cuesta mucho más hacerlo, pero vamos a probar.
Vamos a preguntarle, por ejemplo, pongo pregunta, dos puntos, mi pregunta.
Le voy a preguntar que por qué está gritando.
Entonces tenemos la pregunta, ponemos respuesta, dos puntos.
Y entonces con esto vamos a ver si consigue entender
lo que le estamos preguntando y nos dice que bueno,
que está gritando porque tiene hambre.
Se acaba de inventar un poco esta narrativa.
Vamos a ver si podemos preguntarle algo más, por ejemplo,
dónde me podría encontrar con este animal.
Vamos a seguir profundizando en el conocimiento de este bicho.
Vamos a darle y en este caso nos responde que lo podemos encontrar
en Indonesia, que esto podría ser bueno ya un dato que se está inventando.
No pensemos que también estos modelos suelen alucinar mucha de la información
sobre todo en estos estados más primitivos, más pequeñitos,
pues suelen ser más propensos alucinar este tipo de detalles.
Pero ya veis cómo podemos hacer un poco este juego de pregunta,
respuesta y el modelo del lenguaje consigue alinear la información visual
con la información textual.
Voy a limpiar en este caso la imagen.
Vamos a hacer un ejemplo distinto, por ejemplo,
le voy a decir que escriba un diálogo de lo que el mono está gritando.
A ver qué pasa aquí esta prueba.
Pues no sé si va a ser demasiado compleja.
Bueno, mira, dice Person.
Aproposis monkeys screaming in a tree.
Person de Aproposis monkeys one of the most y se para ahí
porque parece que no sigue sampleando.
Bueno, en este caso, fijaros que no ha conseguido hacer la tarea
que le estábamos pidiendo, porque en este caso está metiendo
el diálogo de una persona y se está confundiendo.
Voy a probar con un ejemplo diferente haciendo alguno de estos diálogos
que he visto en el paper, por ejemplo, este de aquí.
Vamos a preguntarle que escriba un mensaje romántico que vaya con esta foto.
A ver qué pasa, a ver qué mensaje romántico puede salir de aquí.
Bueno, dice el mono.
El mono Aproposis es uno de los animales más menos entendidos del mundo, no?
No es romántico, es un mensaje para concienciar un poco
que hay que apoyar al mono Aproposis.
Luego aquí abajo tenéis algunos de los ejemplos que hemos visto del paper,
vale, con diferentes prompts que podéis probar.
Vale, por ejemplo, tenemos este de aquí.
Pues escribe un mensaje romántico que vaya con esta foto.
Si le damos a enviar, vemos que no genera.
Pues el amor es como un atardecer, es bonito e incluso es mejor
cuando lo compartes con alguien al que quieres.
No parece que es un mensaje que funciona bastante bien.
Es cierto que son ejemplos bastante impresionantes,
pero bueno, cuando yo lo pruebo con otras imágenes me encuentro
que cuesta bastante conseguir este rendimiento.
Entonces creo que hay mucho juego de prompt
y no todos los ejemplos van a funcionar bien.
Pero recordemos que aquí también se está evaluando
lo que se llama el Zero Shot Learning, que es un aprendizaje
donde no se le ha mostrado ningún ejemplo como tal durante el entrenamiento.
Es decir, es normal que estas habilidades tan interesantes
que vemos aquí fallen de primeras.
Si le damos aquí a ejecutar, vemos que nos está dando un poco
la descripción de la imagen, pero nada más.
Otra cosa bastante interesante que he visto es que si cogéis
una imagen donde haya texto, cuando la describe,
vemos que consigue entender qué texto está puesto ahí.
No es una especie de OCR donde vemos que dice
una pantalla de ordenador con las palabras.csv escrito en ellas.
Vamos a preguntarle qué texto está escrito en la imagen,
a ver si consigue detectar lo otro.
Solamente me saca el texto de.csv.
Voy a preguntarle, es laboratorio written on it y no lo detecta.
Solo está detectando el texto principal de la imagen.
Y por último, la prueba definitiva.
Quiero que me digáis qué veis vosotros en esta imagen de aquí.
¿La estáis viendo? Sí, la tenemos.
Perfecto, vamos a darle a que nos la describa
y nos dice que lo que está viendo es un campo de algodones
siendo cosechados por la noche.
¿Era esa la respuesta que ha dado?
Si estaba dando que esto era la imagen de un concierto,
quiero que la mires bien, porque efectivamente
aquí la IA no se ha equivocado y ha encontrado en este efecto óptico
que esta imagen realmente son tractores.
Estos son tractores aquí que están cegando.
Pues lo que parecen cabezas de personas en realidad son algodones.
Entonces, en este caso es bastante impresionante
ver cómo el modelo, la parte de la tarea que tiene que hacer muy bien,
que es la de identificar la descripción de las imágenes
que le demos como input, lo resuelve de forma sobresaliente.
Y con esto pues podéis poneros a jugar.
Podemos preguntar what is going to happen next?
Y no dice bueno que el algodón va a ser cosechado
o podemos pedirle que nos escriba un diálogo de lo que va a decir
el algodón en esta imagen.
No vamos a darle y dice I'm going to sleep now.
I'm going wow, vale.
Ok, me veo al algodón gritando.
Voy a dormir ahora, voy a dormir ahora.
Podría ser hasta una metáfora de la muerte.
No lo sé.
Bueno, esto blip dos lo tenía disponible aquí en la página de haguen face.
Podéis probarlo.
Ya ves que funciona en algunos casos muy bien en otros casos.
No también y lo tenía disponible también para programar
y construir sobre esta herramienta.
Tenéis la página web abajo en la cajita de descripción,
aunque seguramente ahora que estáis todos entrando en masa,
pues no estará funcionando.
Pero si tenéis oportunidad, probadla.
Como veis, este trabajo es muy interesante y lejos de ser perfecto.
De hecho, es muy imperfecto.
Ya sabes cómo funciona esto.
Hoy tenemos una tecnología que falla por todos lados,
que es muy prematura, que es algo muy conceptual
y en muy poco tiempo esto va iterando, iterando, iterando
hasta tener herramientas que todos podemos empezar a utilizar
con aplicaciones sorprendentes.
Y es que esto aplicaciones tiene múltiples.
Os cuento algunas.
Crear descripciones automáticas que sirvan como texto alternativo
para personas con problemas de visión,
donde además podemos ir más allá y estas personas
podrían hacer preguntas directas a las imágenes.
Herramientas educativas donde tú vas por la vida
con tu gafas de realidad aumentada, sacas una foto
y puedes consultar cualquier información de lo que estás viendo.
Si trabajamos con imágenes, también con vídeo,
podemos hacer descripciones de todo lo que está sucediendo dentro de un vídeo
y poder hacer búsquedas mucho más rápidas,
mucho más directas de aquello que has observado.
Otro ejemplo, que es una tarea muy interesante,
se puede hacer un control de contenido mucho más riguroso,
donde ciertos contenidos en internet podrían ser dañinos
cuando combinas la parte textual con la parte visual.
También para estos sistemas como Blip2 parecen funcionar muy bien.
Y vamos, esto es quedándonos en el contexto de lo que plantea Blip2,
pero si ampliamos el concepto de multimodalidad
y de conectar diferentes modelos que están acostumbrados
a trabajar con diferentes tipos de datos,
podríamos pensar en la conexión de texto con 3D o 3D con audio
o audio, vídeo y texto, es decir,
combinaciones de modelos que son muy potentes en su propia modalidad
y que conectados todos entre ellos y comunicándose,
podrían llegar a convertirse en modelos
que resuelvan tareas mucho más variadas, interesantes y potentes.
¿Y tú?
¿Qué construirías con esta herramienta?
Ya sabéis que la tenéis disponible,
podéis empezar a toquetearla dentro del código,
podéis construir herramientas interesantes con todo esto.
Quiero leeros abajo en la caja de comentarios para que la utilizaríais
y así pues entre todos nos inspiramos y notamos ideas
que todo esto es bastante interesante.
Chicos, chicas, hasta aquí el vídeo de hoy,
quería traeros esta información.
Esto lo estuve comentando, todo lo de Blip2
ya en uno de los pasados directos,
pero me parecía tan relevante que lo quería traer aquí
como un vídeo fundamental del canal.
Pero bueno, ya sabéis que en estos directos
estamos pasando por un montón de temas interesantes
que no da tiempo siempre de convertir en vídeos.
Ya sabéis que tenéis todos estos contenidos ahí.
Sin más, chicos, chicas,
nos vemos con más inteligencia artificial en un próximo vídeo aquí
en DCCV, que la cosa no para.