This graph shows how many times the word ______ has been mentioned throughout the history of the program.
2022 será recordado como el año de Stable Diffusion, de Dali2, de increíbles
modelos generadores de texto como Palm o generadores de código como Alpha Code.
Y sin embargo, charlando el mes pasado con Andrés Torrubia, él me comentaba que lo
más interesante que había visto este año era una inteligencia artificial que venía
del laboratorio OpenAI, una IA llamada Whisper.
¿Qué es para ti de lo que ha salido este año lo más impresionante?
Pues curiosamente, fíjate, curiosamente
hasta ahora Whisper, yo creo. ¿Sabes por qué?
Curioso, ¿eh?
Por lo que me impresiona Whisper es que Whisper funciona.
Es como para mí Whisper, si fuera el coche
autónomo, sería el primer self driving del dictado.
Es el primero que se parece a una persona.
Bueno, pero para que entiendas tú primero qué es esto de Whisper, te voy a pedir que
hagas el siguiente ejercicio, te voy a reproducir un audio en inglés y tu
tarea es transcribir cada una de las palabras que estés escuchando.
¿Estás listo?
3, 2, 1.
This is the Micro Machine Man presenting the most miniature motorcade of micro machines.
Each one has dramatic details, terrific trims, precision paint jobs,
plus incredible micro machine pocket play sets.
There's a police station, fire station, restaurant, service station and more.
Perfect pocket portables to take any place.
And there are many miniature play sets to play with and each one comes with its own
special edition micro machine vehicle and fun, fantastic features that miraculously move.
¿Has entendido algo?
Ya, yo yo yo tampoco.
Pues a oídos de esta inteligencia artificial,
esta es la transcripción perfecta que ha conseguido.
¿Y qué tal tu coreano?
Bueno, pues para Whisper tampoco es problema y también puede transcribir
este audio en perfecto inglés.
Y bueno, también me entienda a mí.
Esto que está viendo en pantalla ahora es el speech to text que consigue Whisper
cuando le paso la pista de audio que estás escuchando.
Fíjate bien, no solo consigue una transcripción casi perfecta,
entendiendo incluso palabras concretas como Whisper o speech to text,
sino que también es capaz de generar puntos, comas y otros signos de puntuación
que a otros muchos modelos comerciales de reconocimiento del habla,
pues se le suele atragantar.
Y esto es muy interesante.
Bueno, no esto, sino Whisper.
Whisper en general tiene muchas cosas interesantes.
Y la primera cosa interesante es el contexto en el que esta herramienta aparece.
Tras un año de increíbles logros por parte del laboratorio de inteligencia
artificial de OpenAI, de repente de la nada surge una iniciativa
colaborativa como Stability.ai, que en septiembre toma por bandera el hacer
Open Source, muchas de las tecnologías que OpenAI por su parte,
pues ha decidido guardarse para sí y compartir solo bajos servicios de pago.
Para mí, esto tampoco es un problema, puesto que al final OpenAI como empresa
pues tiene que pagar sus facturas y al menos nos está dando una forma de acceder
a estas potentes inteligencias artificiales.
Aprende Google.
Pero claro, llega un muchachito nuevo a la ciudad y empieza a regalar caramelos
a los niños y de repente el chico popular pues empieza a haber desplazado.
Y en ese preciso momento llega a OpenAI
de la nada y nos regala a Whisper para beneficio de todos.
Porque sí, amigos, esto es Open Source.
Que sé que os encanta escuchar estas palabras.
Al final del vídeo voy a enseñar un
mini tutorial para que veáis qué sencillo es utilizar esta herramienta.
Y también os voy a compartir un notebook para que sea súper sencillo para vosotros.
Y esto es lo que hace Whisper una herramienta
súper interesante, pero no es la única cosa.
Y aquí es donde viene una de las cosas que más ha llamado mi atención.
Y es que Whisper no es un complejo sistema
que hayan diseñado para procesar audio como nunca antes había hecho o un sistema
súper complejo con un montón de módulos de procesamiento.
No Whisper es esto de aquí, una red neuronal de tipo Transformer de las de 2017.
No tiene ningún cambio, ninguna novedad.
Es una arquitectura que ya bueno, pues todos nosotros conocemos.
Entonces, si esto es así, por qué no existía ya una tecnología como Whisper?
Pues la clave que hace a Whisper
algo tan potente está en los datos y en cómo han estructurado su entrenamiento.
Para entrenarlo, OpenAI ha utilizado ni más ni menos que 680 mil horas de audio
con su correspondiente texto, una brutalidad.
Y es que si hacéis el cálculo 680 mil horas y empezar a reproducirlas ahora,
acabarías de escucharla dentro de 77 años.
Te podrías asegurar que en algún momento en el cielo verías surcar al cometa Halley.
Pero es que además, una cosa muy interesante es que estos audios vienen
en múltiples idiomas, permitiéndonos poder entrenar a un modelo que es
multilinguaje, que puede entendernos si hablamos en español, en inglés, en coreano.
Da igual, pero la cosa no se queda solo ahí.
Y es que Whisper, además de ser un sistema
multilinguaje, también es un sistema multitarea.
Esta es una tendencia que, como ya vimos en el vídeo sobre gato, en el mundo del
deep learning cada vez es más frecuente.
No entrenar a la inteligencia artificial
para una única tarea, sino entrenarla para varias diferentes, haciendo así que su
aprendizaje sea mucho más sólido y robusto.
Como hemos visto, Whisper puede tomar
audios en inglés y transcribirlos al inglés o audio en coreano y transcribirlo al coreano.
Pero el mismo modelo también puede
identificar qué lenguaje se está hablando o actuar como un detector de voz para
clasificar cuando en un trozo de audio se está escuchando no a una persona o
también la tarea que más interesante me parece de todas, que tú le puedas hablar
a Whisper en cualquier idioma y que él te lo transcriba automáticamente al inglés.
Y en este caso no sabría deciros por qué,
pero para mí esta me parece una funcionalidad fascinante.
Parece que tampoco nos ofrece nada nuevo.
Al final tú puedes coger el texto que
genera cualquier transcriptor de texto en tu idioma y pasarlo por un traductor.
Pero en este caso me parece fascinante el ver cómo algo tan sencillo como un único
modelo de deep learning te permite poder hablarle en cualquier idioma y que te
genere el texto en inglés sin tener que combinar ningún tipo de herramientas.
Es súper sencillo y lo de los datos que hemos comentado antes también es súper
interesante, porque mi primera intuición aquí es que OpenAI pues en la búsqueda de
un dataset masivo de estas 680.000 horas de audio que tuviera una transcripción de
texto para poder hacer este aprendizaje supervisado,
pues posiblemente había acudido a una de las mayores fuentes que podemos
encontrar en Internet, que es YouTube. Al final ya sabéis que todos los vídeos de
YouTube tienen generados subtítulos automáticamente.
Pues no, justamente en esto OpenAI hace
mucho hincapié en su paper para explicarnos que han hecho un proceso de
filtrado para eliminar del dataset cualquier aparición de texto generado por
sistemas automáticos de reconocimiento del habla.
¿Por qué? Pues justamente para evitar
que Whisper aprendiera también aquellos defectos, aquellos vicios que los otros
sistemas automáticos también pudieran tener.
Dicho esto, ahora que estamos hablando de Whisper y de YouTube, hay una teoría que
quiero contaros que me parece muy interesante, no es nada que esté
confirmado, pero que podría explicar la razón de existir de esta herramienta y
que podría tener cierta relación con un futuro GPT-4.
Esta es una idea que escuché en el canal del doctor Alan Thompson y que dice que en
un futuro próximo donde GPT-4 pues empezara a entrenar, Whisper podría ofrecer al
sistema una enorme fuente de datos con la que sistemas anteriores no habían contado.
Pensemos que un sistema como GPT-3 se ha entrenado con un montón de artículos de
Wikipedia, de libros, de foros, de conversaciones de Internet,
pero nunca ha podido acceder a toda esa fuente hablada que puede estar en bases de
datos como YouTube.
Una herramienta como Whisper podría ser
utilizada para barrer por completo a YouTube, transcribir muchos de sus audios y
obtener de bloquear una nueva fuente de datos que antes no habría sido posible
utilizar para entrenar a un futuro modelo del lenguaje.
Este es el enorme valor que tiene una
herramienta como Whisper y que creo que hace tan interesante esta tecnología.
No, no resuelve una tarea que sea espectacular como generar imágenes o generar
vídeo, pero resuelve una tarea muy útil y casi la resuelve hasta la perfección.
Ojo, digo casi no, no es perfecta.
A veces algunas palabras se equivoca evidentemente y no cubre todos los
lenguajes que existen en el planeta Tierra y bueno, por buscar alguna limitación
frente a otras herramientas comerciales, pues tampoco funciona en tiempo real.
Todavía procesar el audio, dependiendo de la longitud, pues te puede llevar unos
cuantos segundos, a veces algún minuto, pero es una herramienta sólida, es madura,
es útil y además open source, permitiendo que ahora cualquiera puede
acceder a una herramienta profesional de transcripción y traducción de texto.
Mejor que cualquier alternativa gratis que a que también vosotros queréis acceder
a esta herramienta. Bueno, venga va, os preparo un tutorial
facilito para que todos podáis utilizarlo.
Vamos a hacerlo en Google Collab.
Pero antes y aprovechando que estamos
hablando de programación, de desarrollo, de innovación,
dejadme que os recuerde que quedan muy poquitos días para que se celebre el
Samsung Dev Day, que es el evento tecnológico que celebra cada año la
comunidad de Samsung Dev Spain, que es la comunidad oficial de Samsung
para desarrolladores españoles.
Este será un evento gratuito que no os podéis perder.
Si estáis en Madrid, podéis asistir presencialmente el día 16 de noviembre
en el claustro de los Jerónimos del Museo del Prato.
Y si no, pues podéis conectaros online a través de su streaming.
Pero eso sí, hay que registrarse.
Yo tuve la suerte el año pasado de poder
participar con una ponencia sobre generación de código con inteligencia
artificial y la experiencia fue genial.
Así que ya lo veis, será un evento cargado de charlas geniales, hablando de
tecnología, de innovación, de aplicaciones y además va a estar presentado por mi
Dudev, que seguramente muchos de vosotros le conozcáis, así que no os lo podéis
perder. Voy a dejar abajo en la cajita de
la descripción un enlace a la página web de Samsung de Vespain, donde vais a
encontrar toda la información respecto a la agenda donde registraros y un montón
de recursos más. Nos vemos el 16 de noviembre.
Pues vamos a ver cómo podemos utilizar
Whisper nosotros en nuestro propio código.
Para esto vamos a utilizar Google Collab.
Ya sabéis que Google aquí nos está
cediendo una máquina virtual gratuita que podemos utilizar y vamos a verificar
siempre que tengamos activado el tipo de entorno con aceleración por hardware GPU.
Vale, vamos a darle aquí GPU, vamos a la guardar y ahora el primer paso será
instalar a Whisper. Para ello vamos a usar estos dos comandos de aquí.
Instalar esto lo podéis encontrar en el propio repositorio de
GitHub de Whisper o puede dejar abajo en la cajita de descripción
estos comandos, le damos a ejecutar y dejamos que se instale.
Una vez instalado, vamos a subir algún audio que queramos transcribir.
Yo en este caso voy a probar con la canción de Rosalía de Chicken Teriyaki.
Vamos a colocarla para acá, la arrastramos y ahora el siguiente paso.
Pues vamos a coger aquí y vamos a poner el comando necesario para poder ejecutarlo.
Vamos a darle aquí a Song.mp3, se llama el archivo que hemos subido.
Vale, Song.mp3.
La tarea va a ser transcribir el tamaño del modelo.
Hay diferentes tamaños según si quieres más velocidad a la hora de hacer la
inferencia o si quieres más precisión en los resultados.
Yo por lo general trabajo con el modelo
Medium, que es el que me da buenos resultados.
Hay modelos mayores, hay modelos menores, probad y en este caso,
pues simplemente donde vamos a colocar el archivo de salida.
Ejecutamos y ya está, ya está, no hay que hacer nada más.
Ya estamos utilizando Whisper.
La primera vez tardará un poco porque tiene que descargar el modelo,
pero a partir de este momento podéis utilizar este sistema para transcribir
cualquier audio que queráis. Mola.
Vale, vemos que en este caso ha detectado que el idioma es español.
Ha hecho la inferencia automática porque no le hemos dicho que vamos a transcribir
del español, lo podéis hacer si queréis.
Y cuando ya está ejecutada esta celda, pues podemos venirnos para acá.
Vemos que se ha generado la carpeta audio
transcription y aquí tenemos la las diferentes opciones.
Podemos abrir el son punto TXT y aquí le abrimos el archivo.
Vemos que tenemos toda la canción perfectamente transcrita,
que en este caso, siendo la Rosalía, pues tiene más mérito.
Si en vez de querer hacer la transcripción,
quisierais hacer la traducción, es decir, convertir vuestra voz,
vuestro audio al inglés, pues lo único que tenéis que hacer es
cambiar aquí la tarea por Translate y en este caso Whisper trabajará para
traducir aquello que ha transcrito este caso.
Si os dais cuenta, el comando que hemos utilizado ha sido el de consola,
pero a lo mejor queréis utilizar Whisper dentro de vuestro código.
Entonces también tenéis la opción de trabajar con la propia librería de Whisper.
Es simplemente esta línea de código de aquí.
Lo importamos.
Cargamos el modelo que queramos aquí, pues yo cargaría el modelo medium,
que es el que, como digo, funciona mejor para mi caso y con el modelo cargado.
Luego aquí llamamos a model punto transcribe.
Vamos a poner aquí son punto mp3, le damos a ejecutar y en cuestión de unos segundos
pues ya tendremos de nuevo nuestra transcripción y aquí lo tenemos.
La rosalía rosa sin tarjeta.
Se la mando a tu gata.
Te la tengo con roleta.
No hizo falta serenata o eso.
Igualmente, para hacer la vida más fácil, he preparado un notebook que podéis
utilizar, está abajo en la cajita de descripción, donde tenéis ya todo el
código listo para empezar a trabajar.
Simplemente tenéis que entrar, comprobar que está la GPU activada.
Le damos a este botón de aquí para instalar todo lo necesario.
Aquí elegimos la tarea que queremos hacer,
pues si es transcribir a cualquier idioma o traducir al inglés y le damos a
ejecutar. En este caso, la celda está preparada para que en el momento en el
que empieces a ejecutarla, está grabando ahora mismo tu micrófono, es decir,
ahora mismo estaríamos generando un archivo de audio que luego vamos a
utilizar para transcribir con Whisper.
Esto es por si queréis hacer una transcripción en tiempo real de cualquier
clase o cualquier cosa que necesitéis.
Vamos a darle a parar.
Le damos a este botón y en un momento tenemos el resultado de lo que hemos
dicho. Igualmente, luego abajo os añado los dos comandos necesarios para poder
transcribir o traducir el audio que vosotros subáis.
Por último, también tenéis que saber que si queréis algo más sencillo,
pues hay páginas webs donde podéis probar este sistema,
pues subiendo vuestros propios audios o grabando desde el micrófono.
Y esto sería 2022 se está quedando la verdad que un año espectacular en cuanto
al número de juguetes neuronales que están llegando a nuestras manos para
construir un montón de herramientas y para poder toquetearlos.
Ahora os toca a vosotros.
¿Qué podéis hacer con esto?
Podéis construir un montón de cosas super interesantes.
Podéis conectar, por ejemplo, whisper con
stable diffusion para que a Viva Vos tú le puedas pedir que te genere un cuadro.
O podéis, por ejemplo, coger todas vuestras clases en la universidad o todas
las reuniones de trabajo, transcribirlas, crear un enorme banco de
transcripciones y luego con la API de GPT 3 hacer un chatbot que te permita
consultar, hacer preguntas y respuestas sobre toda esa fuente de información.
Por ejemplo, algo que yo quiero hacer es
coger todos los vídeos de mi canal de YouTube y transcribirlo, generar subtítulos
de buena calidad tanto en español como en inglés y poder hacer estadísticas y
consultas de cuántas veces he dicho, por ejemplo, la palabra machine learning.
Hay un montón de aplicaciones que podéis
empezar a construir, que podéis empezar a crear combinando todas estas tecnologías.
También hay un perro ladrando de fondo que me está molestando bastante.
Bueno, lo que decía que podéis crear un montón de cosas y hay mucho por hacer.
Desde aquí, desde este canal vamos a seguir haciendo experimentos con esta
tecnología, voy a seguir trayendo nuevas herramientas, así que si no lo has hecho
todavía, suscríbete, dale a la campanita para que te lleguen siempre
a las notificaciones de que hay vídeo nuevo y si quieres apoyar todo este
contenido, ya sabéis que podéis hacerlo a través de Patreon abajo en la cajita
de descripción. Tenéis un par de vídeos por aquí que son súper interesantes.
No sé cuáles son, pero son súper interesantes.
Echadle un ojo y nos vemos con más inteligencia artificial.
Chicos, chicas, en el próximo vídeo.