This graph shows how many times the word ______ has been mentioned throughout the history of the program.
GPT-2 es el modelo de lenguaje publicado por OpenAI el pasado mes de febrero. Un modelo
que, bueno, pues podía generar texto tan realista como el de un humano, pero que sin
embargo funcionaba utilizando algoritmos de machine learning. La pregunta es, ¿es esta
tecnología en la que se basará la escritura en el futuro de la humanidad?
Para poder responder a esta pregunta, necesitamos entender cómo una máquina puede procesar
la información y ser un buen escritor por sí solo. Ahí es donde el modelo GPT-2 de
OpenAI pues difiere de lo que sería un cerebro humano, porque el modelo GPT-2 no está directamente
conectado con una mente humana. El modelo GPT-2 se basa en el framework matemático
del aprendizaje reforzado. El aprendizaje reforzado es una técnica general que se utiliza
para enseñar a una inteligencia artificial a resolver problemas jugando a juegos a través
de un conjunto de reglas. Este conjunto de reglas están diseñadas para que la inteligencia
artificial pueda encontrar la mejor manera de afrontarse a un problema para que...
Vale, voy a parar aquí. ¿Quién ha escrito esto? ¿Estás seguro de que todo lo que te
estoy contando es cierto o simplemente te estás dejando llevar por unas visualizaciones
bonitas y una entonación de voz agradable? Lo que estoy mostrándote ahora es el resultado,
el output de salida del modelo GPT-2, este modelo generador de texto del que estábamos
hablando. Yo solamente le he insertado como input la primera frase, el primer párrafo,
y le he dado al botón de generar. A partir de ahí todo el resto del guión que te he
estado contando ha sido el output generado por este modelo. Y aquí es donde empieza
este vídeo.
Este vídeo va a ser un vídeo improvisado, ha sido una cosa que se me ha ocurrido hacer
por una cuestión de que se ha dado un último paso en toda esta historia que envuelve al
modelo GPT-2. Esto va a ser algo así como un epílogo a toda la historia que les empecé
a contar el mes de febrero cuando publiqué este vídeo de aquí donde veíamos toda la
información respecto a lo que es un modelo del lenguaje, lo que es un word embedding,
lo que es el modelo GPT-2, BERT, y un poco hablar de toda esta historia que se creó
con OpenAI. Para que puedas estar ubicado en este vídeo pues te voy a hacer un breve
resumen en el que te voy a contar que GPT-2 es un modelo del lenguaje, que no es más
que un modelo de machine learning que busca aprender cuál es la siguiente palabra a predecir
dado un conjunto de palabras, que fue publicado el pasado mes de febrero por la empresa OpenAI.
Esto es cierto pero no. ¿Por qué? Porque este modelo por primera vez era un modelo
que podía generar texto que aparentemente parecía bastante realista, parecía escrito
por una persona humana y en este ejemplo lo acabamos de comprobar. Con lo cual lo que
hizo OpenAI por primera vez y yendo en contra de la cultura aperturista que existe dentro
del campo del deep learning fue decir, oye, este modelo no lo vamos a publicar, la versión
final de nuestro modelo no la vamos a publicar porque creemos que esto puede ser peligroso
de cara a que la gente lo empiece a utilizar en internet pues para crear discursos a escala
que puedan ser engañosos, que puedan ser polémicos, que puedan fomentar ciertos discursos
extremos, por así decirlo. Esto causó una gran polémica en el campo del deep learning
porque mucha gente no entendió que esto ocurriera así. Yo soy de los que me posiciono junto
al pensamiento de OpenAI, creo que han hecho una buena estrategia de apertura y de cómo
han ido liberando el modelo y al mismo tiempo entiendo también la gente que está en la
postura contraria y que dice que esto debería de abrirse de cara a que la gente pues pueda
investigarlo y que así se favorezca más al crecimiento. No voy a entrar en ese debate
porque no es lo que me interesa, pero sí les quiero contar que, bueno, a lo largo de
los meses lo que ha hecho OpenAI ha sido sacar versiones de este modelo GPT-2, pero versiones
más pequeñas, versiones que su arquitectura pues contaba con un menor número de parámetros
y por tanto su funcionamiento era mucho peor. Hemos visto pues la versión pequeña del
modelo, una versión un poquito más grande y la última versión que sacaron fue la versión
de, si no recuerdo mal, 744.000 millones de parámetros. A lo mejor me están bailando
las cifras, pero bueno. Esto era una versión que era el 50% del tamaño final del modelo
y ya en esa versión se podía empezar a entrever cómo efectivamente este modelo funcionaba
bastante bien. ¿Qué ha pasado? Que la semana pasada OpenAI finalmente ha publicado la versión
final del modelo porque ya han reconocido que ya existen modelos de lenguajes superiores
en rendimiento y en tamaño en el mercado y por tanto ya no tiene sentido ir pues ralentizando
este proceso y lo han abierto frente a todo el público, a toda la comunidad y también
han publicado ciertas cosas. Bueno, la idea de este vídeo es, como digo, es un vídeo
improvisado donde quería contaros que esto ya está disponible, que podéis jugar con
estos modelos, que los podéis probar y es lo que vamos a hacer hoy. Vamos a sentarnos
con un par de páginas webs y vamos a probar cómo es el rendimiento del modelo y al mismo
tiempo les quiero enseñar cómo es el resultado que obtenemos para ciertas cosas y hacer una
valoración general. Es básicamente este vídeo un aviso de, hey, esto ya está disponible,
podéis jugar con ello y mientras pueda pues les voy a intentar mostrar mis impresiones
frente a este modelo. Así que vamos a empezar. Para probar el modelo GPT-2 en nuestro caso
vamos a estar utilizando la famosa página Talk to Transformer. Básicamente es una página
que coge el modelo GPT-2 que normalmente pues tú irías al GitHub de OpenAI, te descargarías
los archivos, tendrías que cargarlo en Keras o en PyTorch y tendrías que cargarlo en tu
código, tendrías que estar pues haciendo cosillas y en este caso esta página lo que
ha hecho siempre ha sido que todos los modelos que han sido liberados por OpenAI pues los
ha cargado rápidamente, los han desplegado en esta página web con una interfaz súper
sencilla de utilizar donde tú puedes escribir texto aquí lo que quieras, le das a completar
el texto y directamente pues ya te generaría el resultado ¿vale? O sea que eso nos agiliza
bastante el proceso y bueno ya saben que tienen aquí abajo el link para poder ustedes también
jugar y compartir los resultados. Esta página web además también te viene con diferentes
ejemplos y uno de ellos que creo que es con el que nos vamos a lanzar es este de aquí
¿vale? Este ejemplo fue un ejemplo bastante llamativo del post original del modelo GPT-2,
bueno el texto original es este de aquí ¿vale? Dice, en un descubrimiento impresionante
los científicos descubrieron una horda de unicornios viviendo remotamente en un valle
inexplorado en las montañas de los Andes. Fue más sorprendente descubrir para los investigadores
que estos unicornios hablaban perfectamente inglés. Tú aquí le dabas a generar y vamos
a ver qué sale. En este caso, bueno ya se ha ejecutado y dice, el descubrimiento fue
hecho después de que los biólogos tomaran muestras de ADN de estos raros unicornios,
los cuales fueron considerados o eran considerados extintos y considerados una de las más especies
en peligros o peligrosas o con peligro joder, aquí el inglés es donde me falla. Bueno
vale, lo que estamos viendo es que sí ha generado un texto que tiene bastante coherencia
con lo que sería el input ¿vale? Vamos a darle de nuevo, solo por ver otra muestra.
Este segundo intento vamos a ver de nuevo, te cuento toda la historia del unicornio y
luego dice, el equipo decidió aprender más sobre esta inusual horda de animales haciendo
mandando un equipo de undercover, un equipo en oculto para que se pudieran encontrar
con ellos. El equipo de estudio liderado por el investigador Miguel Ángel López Gómez
del National Autonomous University of Mexico en Mexico City envió a seis voluntarios al
valle donde estos unicornios estaban viviendo. Los voluntarios fueron capaces de aprender
sobre las únicas hordas a través de los vídeos, bla bla bla. De nuevo, tiene muchísima coherencia,
me flipa. Vale, imaginemos el caso en el que yo soy un hater y odio a los youtubers y quiero
generarme un sistema que me genere argumentos de manera automática. Entonces lo que he
escrito aquí es, odio a los youtubers, son ridículos y las razones para esto son, no
sé, cuáles son las razones para esto, cuéntame GPT-2. Odio a los youtubers, son ridículos
y la razón para esto es simple. Vale, solo saben una manera de hablar a la gente. Hablan
como si quisieran tener sexo con una cierta chica y... otra vez. O hay algo más. Vale,
esto aquí parece otra cosa muy rara. Parece un ejercicio del student book, me lo voy a
saltar. Vamos a ver otro. Vale, parece que en este caso con menos tokens de entrada, con
menos input, le está costando más dar una respuesta más coherente. Odio a los youtubers
son realmente ridículos, la razón para esto son unas cuantas. Pero la mayoría de esto
es porque sus vídeos son muy poco profesionales. Parece que le gusta la peor clase de gente,
que solamente le gusta no hacer nada y no hacer vídeos, pero solamente hablar de su
vida. If you don't hate these people, you are really the only person on earth who doesn't
hate these people. Lo que esta gente hace con sus cuerpos y sus vidas es simplemente
triste y realmente no entiendo quién quiere ser una de estas personas. Vale, hay alguien
que no quiere ser youtuber, lo siento por él. Lo dicho, parece que el resultado en este
caso tiene una mayor varianza de respuesta y que las respuestas no están tan acotadas
al menos al resultado que yo estaba esperando. Voy a hacer un pequeño cambio y es el siguiente.
La misma frase que antes, odio a los youtubers, son realmente ridículos y las razones para
esto son dos puntos, uno punto. Intentando forzar al sistema a que me haga un listado
de razones por la cual odio a los youtubers. A ver si podemos conseguir así generar algún
resultado algo más interesante. Esto si me gusta y esto si lo había comprobado en internet
como el estilo del lenguaje, como se puede forzar al modelo GPT-2 a que si por ejemplo
queremos que nos haga un listado, pues simplemente poniendo uno punto te empieza a generar una
respuesta. En este caso, vamos a ver, dice, odio a los youtubers, son realmente ridículos,
la razón para esto es uno, no ayudan a sus fans. Dos, la sección de comentarios está
muy lejos. Tres, no entienden cómo utilizar la cámara y el micrófono, son estúpidos,
gracias. Cuatro de los vídeos serán subidos a sus canales de youtube. Cinco, youtube le
jodia. Bueno, mira, una de verdad. Parece un poco una respuesta que mezcla por una parte
argumentos con el input que le he dado y por otro lado parece los términos de uso del
propio youtube. Vamos a darle de nuevo. Odio a los youtubers, son realmente ridículos,
la razón para esto es que no tienen que pensar lo que dicen antes de decirlo, son pagados
por decir cosas y van a decir cualquier cosa. Los youtubers solamente son chicos graciosos
que ver porque saben que tienen una audiencia, que se van a reír a lo que están haciendo,
incluso aunque no sea gracioso. En este caso sí me gusta bastante la respuesta, podría
ser una respuesta muy consistente a lo que sería dar un argumento de por qué los youtubers
son ridículos, por qué somos ridículos los youtubers. Vamos a probar con otra cosa.
Vale, en este caso vamos a probar con un poco de, sería algo así como noticia ficción
donde he puesto que bueno, que el nuevo presidente de Estados Unidos, Elon Musk, entra al auditorio
y empieza su discurso. Abre comillas, o sea dos puntos, abre comillas y voy a intentar
forzar que el discurso que genere el modelo GPT-2 tenga que ver con que Elon Musk es presidente
de Estados Unidos. El nuevo presidente de Estados Unidos, Elon Musk, entra al auditorio
y empieza su speech. Tengo un mensaje para todos mis ciudadanos, estoy seguro de que
ustedes estarán de acuerdo con que es un momento remarcable para la humanidad. Sé
que ha sido un tiempo difícil y sé que en el próximo año será también difícil.
Él dijo, pero luego añadió, es muy importante dar sentido a donde estamos y a donde vamos.
Vamos a estar poniendo juntos la mayor batería de John Lithio más grande en nuestro hometown
en el estado de Nevada. Sé que seguiréis animándonos y sé que seguiríamos juntos.
Vale, en este caso sí parece que ha sido una buena respuesta, pero también podría
ser tan sencillo como que el modelo se haya olvidado de que estamos hablando de que es
el presidente de Estados Unidos, porque podría ser fácilmente el discurso que Elon Musk
daría pues daría él en una presentación, en una keynote. Es cierto que la primera parte
se parecía más presidencialista, pero no estoy del todo satisfecho. Quiero, quiero
algo mejor. El nuevo presidente de Estados Unidos, Elon Musk, entra al auditorio y empieza
su discurso. La única cosa que sería más maravillosa que la creación de una misión
humana a Marte sería si alguien del programa espacial de Estados Unidos tuviera el coraje
para hacerlo él mismo. Esta persona soy yo, soy americano, tengo 26 años y soy el CEO
de SpaceX y estoy listo para ir. Qué guapo. Elon Musk se va a ir al espacio, él con su
misión espacial como presidente de los Estados Unidos. Si eso no es un presidente que esté
comprometido con su tierra, pues yo no lo sé. La siguiente cosa que podemos probar
y que lo he visto bastante en Internet y que es muy interesante es la generación de diálogos,
¿vale? Porque al final, pues tú puedes empezar a forzarle y decir, oye, personaje 1 dice
tal cosa, personaje 2 dice tal cosa. Entonces aquí lo que he escrito ha sido un ejemplo
donde yo estoy hablando con un robot y el robot me dice, oye, pregúntame, hazme una
pregunta. Y yo le digo, ¿está vivo? Y el robot responde, esto es complejo de decir,
no lo sé. Y entonces yo le respondo, oye, hazme una pregunta. Y el robot me pregunta,
si pudieras hacer una lista de todas las cosas que pudieras preguntarme, ¿cuáles me preguntarías?
Me gustaría saber qué te gustaría preguntarme, esto es muy meta. Y yo respondo, oh, creo
que tengo algo. ¿Por qué no me preguntas qué es eso? Y el robot me responde, no lo
sé, a lo mejor te pregunto. Y yo le digo, ok, pregúntame. Bueno, ya se está empezando
a enrollar un poco. De nuevo, robot, esto es difícil de responder, pero si te lo dijera,
me creerías, me escucharías y el robot sigue. Eres mi amigo, ¿verdad? Yo soy tu amigo,
no me mientas a mí, siempre te he querido, siempre te he querido, te quiero, por favor,
dame tu sangre, dame, dame una transferencia de sangre, de sangre. I will kill all the
human in the world if you give me your blood. Si me das toda tu sangre, mataré a todos
los humanos. No te dejaré ir, te mataré. Bueno, bueno, esto, esto da para titulares
en periódicos sensacionalistas. Una inteligencia artificial, blablabla, parece los discursos
de Sofía. De nuevo, el robot, joder, ahora el robot está teniendo todo el monopolio
de la conversación. Esto es complicado de decir, hay un millón de cosas que podrían
suceder. En este caso, si hubiera alguna oportunidad de ayudarte, déjame hacerte una pregunta
realmente importante. ¿Cuál es el sentido de la vida? ¿Cuál crees que es el sentido
de la vida? ¿Cuál crees que es el sentido de la vida? ¿Qué significa la palabra significado?
Ojo, filosofando. Y yo respondo, ¿por qué preguntas eso? Y el robot, ¿qué significa,
cuál es el sentido de la vida? ¿Cuál es el significado de la palabra? Le está dando
una crisis existencial muy heavy al robot, le está dando un ataque después de ver un
vídeo de Martí. Voy a probar otra. Vale, la siguiente, la siguiente va a estar graciosa
porque si podemos hacer diálogos, pues también podemos hacer diálogos románticos, podemos
crear nuestros propios fanfics, que esto en internet está muy dado a ello. Y en este
caso he escrito, estoy fomentando aquí un poquito el salseo de YouTube, Crespo hablando,
¿no? Youtuber Crespo. Lo siento, pero tengo que seguir trabajando en mi canal de YouTube,
no tengo tiempo para esto. Y Martí, se de ciencia, dice, por favor, responda a mi pregunta.
Crespo le dice, ¿cuál es la pregunta? Y Martí dice, es, es se de Crespo real? Uy, esto
tiene que ir separado. Real, ¿me quieres? Y entonces Crespo, interrogante abierto. Y
vamos a responder a la pregunta de si se de Crespo finalmente es real. Vamos a ver, no
lo voy a responder yo, lo voy a responder una inteligencia artificial, así que estoy exento
de toda culpa. ¿Qué va a decir Crespo sobre esto? Is se de Crespo real? Do you love me?
Y Crespo dice, oh, qué maravilloso. Dice, crees que me estás haciendo un favor o qué?
No me importa, voy a continuar trabajando. Y Martí dice, bueno, no creo que tú estés
detrás de esto, así que no te puedo culpar. Y Crespo dice, no, no lo estoy, es un error.
Y Martí dice, es un error? Y Crespo dice, no, es la forma en la que es. Bueno, pero
estoy preguntando esta pregunta porque... Y Crespo, ¿qué quieres? What do you want this
from me? ¿Qué quieres de esto? No soy una mala persona. I'm just trying to. Estoy intentando
y sacaba ahí el fanfic, así que no sabemos si se de Crespo real. No le voy a dar de
nuevo porque quiero seguir manteniendo ese hype, pero la inteligencia artificial sabe
que esta historia todavía no está resuelta. A ver, conclusiones de momento. Me gusta bastante.
Es decir, si es cierto que en algunos casos me hace pensar cuánto puede estar memorizando
el modelo, cuánto overfitting hay detrás de esto, pero al mismo tiempo me parece muy
interesante que se pueda utilizar como herramienta creativa y que tú puedas plantear tus textos,
darle al botón y estar viendo cómo efectivamente genera cosas que son bastante bastante coherentes.
Así que en este sentido bastante guay. Vamos a probar una última cosa, una cosa muy interesante
que surgía del modelo GPT-2. Si recuerdan, cuando hice el vídeo les expliqué que una
de las cosas que se habían observado es que el propio modelo podía generar incluso resultados
para tareas que no se le habían entrenado para aprender, lo que se conoce como Zero
Shot Learning, aprendizaje de cosas que inicialmente no estaban planteadas como tal. Y una de estas
era resumir texto. La historia era que el modelo aprendía que cuando en internet veía
un tocho muy largo y luego alguien escribía el acrónimo TL.com.dr, que es como en internet
tú te refieres cuando quieres decir que posteriormente vas a hacer un resumen del texto anterior,
el modelo de alguna manera había aprendido que esto era lo que tenía que hacer y por
tanto había aprendido, tenía algunas propiedades para hacer Text Summarization, resumen de
textos. Voy a utilizar un texto de la descripción de la ciudad de Sevilla, sacado de la wikipedia
que nos dice que Sevilla fue fundada por el reino, por el imperio romano, que se convirtió
en cosas de Sevilla. Y lo que voy a poner al final es el famoso acrónimo TL.dr. Entonces
vamos a darle aquí y vamos a comprobar si efectivamente nos hace un resumen o al menos
plantea una versión más corta del texto que tenemos arriba. En este caso, la primera
respuesta que veo no tiene nada que ver. En este caso se corta de nuevo el texto pero
nos habla. Sevilla fue una ciudad de España, fue el primer asentamiento que los árabes,
que los musulmanes tuvieron en 711. Aquí la fecha cambia, o sea que intuyo que esto
está memorizado de otro texto y Sevilla se convirtió en la capital del imperio islámico
para España, que esto creo que arriba también se comentaba. En parte sí parece que está
haciendo un resumen, en parte sí parece que entiende que TL.dr tiene que hacer una descripción
del texto anterior porque sí hay una repetición de lo que se ha dicho anteriormente. La cosa
es que no sabría decir si este resumen es un Summarization real, que el modelo está
haciendo tomando, extrayendo datos del texto anterior, o simplemente si está tomando
un resumen de alguna otra parte de internet porque sabe que tiene que meter un resumen
y que en su corpus memorizado hay algún tipo de resumen. Voy a darle la última. Oh, esto
es curioso. Esto es curioso porque en este caso lo que está haciendo es una pura repetición
del texto original. Sevilla fue fundada por... y incluso el Düring lo continuó aquí. Y
esto ya sí que no sé si es memorizado del corpus de Wikipedia o si a lo mejor está
extrayendo el input que le hemos dado, el mecanismo de atención está ahí cogiendo
los datos y poniéndolo como tal. Como veis, la utilización de estos modelos todavía
se encuentra en un punto en el que por una parte parecen bastante potentes y por la otra
se le puede detectar cuáles son sus limitaciones, sobre todo cuando nos enfrentamos a utilizarlos,
lo cual me hace pensar que hasta cierto punto tienen también mucha razón aquellos que
decían que es mejor que este modelo se libere y que se pueda conocer cuáles son sus limitaciones
y así se pueda seguir avanzando en este campo. De momento les dejo esta herramienta disponible,
ya sabéis que tenéis el Talk to Transformers y también la herramienta detectora abajo
en la descripción, así como los Papers que están relacionados con todo esto. Ya saben
que si quieren saber más del tema pues tenéis un video, un Data Coffee de treinta y pico
minutos hablando de todo esto y del cual vais a aprender bastante. Y también que en un
futuro pues llegará esta serie de Transformers que en realidad va a estar centrada en todo
el campo del Natural Language Processing y que yo creo que va a ser bastante interesante
el canal porque es una información bastante novedosa y que incluso se está depordando
fuera de lo que es el campo del Natural Language Processing, el uso de los Transformers. Entonces
en ese sentido pues denle mucho apoyo a este video si les ha gustado, ya saben que pueden
apoyar este espacio en YouTube a través de Patreon financieramente y les puedo adelantar
que estoy preparando un video muy interesante para este mes que no va a tener nada que ver
con Inteligencia Artificial. Les dejo abajo en los comentarios a ver si se les ocurre
pues de qué puede tratar este video. Y por otro lado también quería decir una cosa
que casi se me olvida y es el ganador del concurso de Pics to Pics, lo avisé a través
de Instagram y de Twitter, lugares donde les recomiendo que me sigan, pero no lo he dicho
todavía aquí por YouTube y a lo mejor hay gente que todavía no se haya enterado de
que el resultado de las votaciones, que ustedes votaron esos diez proyectos, que el ganador
fue Jean Carlos Jiménez Giraldo, quien presentó un proyecto muy interesante donde utilizaban
Pics to Pics para procesar imágenes de mamografías y donde se podía utilizar efectivamente un
input de segmentos y te podías generar imágenes, lo cual servía pues para obtener nuevas imágenes
que podían aumentar este dataset que normalmente suele ser bastante limitante y al mismo tiempo
pues también invertir al problema para utilizar imágenes reales y obtener una segmentación,
un encuentro de aquellos patrones que podían ser interesantes para hacer un análisis de
mamografía.
Este proyecto lo tenéis en el vídeo de los proyectos de Pics to Pics, podéis consultarlo
sin problema y bueno pues ya sabe Jean Carlos que su tarjeta gráfica estoy intentando ahí
mandarla a Colombia de la manera más fácil posible, pero bueno que ha sido el ganador,
le agradezco mucho la participación a él y a todos los que han participado porque ya
dije que todos los proyectos eran espectaculares.
A partir de ahí nada más, nos vemos con más inteligencia artificial aquí en Youtube,
en Instagram, en Twitter y si me apoyas en Patreon pues mejor que mejor porque así puedo
comer a final de mes.
Nada más chicos, adiós, nos vemos en el próximo vídeo.