Monday, August 31, 2020

Meta-aprendizaje Con GPT-3: Aprender A Sumar Leyendo O A Escribir Código Fuente Con Servicios Cognitivos De Texto Predictivo.

En el equipo de Ideas Locas nos encanta hacer proyectos y trabajar con tecnologías de Inteligencia Artificial. Dentro de este tan amplio campo, los servicios cognitivos de NLP (Natural Language Processing) están adquiriendo cada vez mayor importancia. Gracias a ellos podemos empezar a crear interfaces de usuario que humanizan la interacción persona-ordenador, con todas las ventajas que ello supone. 

Figura 1: Meta-aprendizaje con GPT-3: Aprender a sumar leyendo
o a escribir código fuente con servicios cognitivos de Texto Predictivo.

Dentro de este subconjunto de servicios que tratan de alcanzar la paridad humana, hoy os quiero hablar de la generación de texto, o los servicios de Texto Predictivo que ya se usaron en el pasado para construir novelas inventadas de Harry Potter, Drácula o Don Quijote de la Mancha como nos contó nuestro compañeros Fran Ramírez, y tenéis el artidulo de Chema Alonso sobre cómo los servicios de AI han comenzado a superar la paridad humana.

Figura 2: Creación de novelas con herramientas de Texto Predictivo

El problema del Texto Predictivo es aparentemente sencillo de entender. Se trata de crear un modelo entrenado que debe predecir el siguiente elemento del texto basándose en una secuencia previa de caracteres que llevarán a criterios puramente probabilísticos. Por tanto, dada una entrada como  "soy hacke" la salida del modelo debería de ser una "r". A nivel humano esto parece obvio pero la creación y el entrenamiento de estos modelos de IA es realmente complejo, debido a que el lenguaje lo es, aunque no nos demos cuenta como hablantes. 

Figura 3: Modelo de texto predictivo entrenado con probabilidades

Para resolver este problema, el último modelo que ha visto la luz ha sido GPT-3  (con permiso de GShard  de Google que lleva escasos días público) y ha sido desarrollado por OpenAI, empresa de Elon Musk. Es el pistoletazo de salida de una nueva generación de modelos gigantescos  - para que os hagáis una pequeña idea, GPT-3 cuenta con 175.000 millones de parámetros - desarrollados y entrenados por grandes empresas tecnológicas para ser servidos a los usuarios a través de APIs

Figura 4: GPT-3 en GitHub

Estos modelos tienen muchas utilidades de todo tipo, y algunos ejemplos los tenéis en el libro de Machine Learning aplicado a Ciberseguridad: Técnicas y ejemplos en la detección de amenazas de nuestros compañeros Fran Ramírez, Carmen Torrano, Sergio Hernández y José Torres. Son tan potentes que estas APIs son privadas y se debe rellenar un formulario detallando los usos que se le va a dar junto con los posibles riesgos, para luego esperar que sea aceptado, ya que podrían usarse para cosas que podrían considerarse negativas.

Figura 5: Libro de Machine Learning aplicado a Ciberseguridad

Puede resultar algo exagerado para un modelo que únicamente predice la siguiente letra, ¿verdad?. Lo que se ha observado con GPT-3, que ya se empezaba a intuir con su hermano pequeño GPT-2, es que es capaz de desarrollar un meta-aprendizaje, es decir, ha aprendido a aprender. Esto es resultado de haber sido entrenado con prácticamente la totalidad de los textos que hay en la red y es aquí es donde reside la potencia de este modelo.

Figura 6: Formulario para ser aceptado


Comúnmente, un modelo se desarrolla para resolver un problema específico. Sin embargo, GPT-3 ha cambiado radicalmente esta mentalidad, ya que ha sido entrenado para una tarea general y son los usuarios los que han ido encontrando distintos casos de uso en los que el modelo se desenvuelve a la perfección. Vamos a ver algunos ejemplos en diferentes ámbitos.

Generación de texto

La generación de texto es el problema fundamental para el cual el modelo ha sido entrenado, por tanto, su desempeño en esta tarea es espectacular. Es capaz de generar contenido escrito de forma que el lector ni se percate de que el texto ha sido generado por un modelo de IA. Pero mucho ojo con esto, porque puede ser utilizado para generar desinformación y ser usado en Fake News.


Operaciones matemáticas

El modelo es capaz de predecir que después de la secuencia "3 + 3 = " el carácter más probable es el "6". ¿Esto significa que sepa sumar? Realmente no, es únicamente cuestión de probabilidad, pero sí que puede dar respuesta a operaciones matemáticas de esta forma... ¿se podrían hacer cálculos matemáticos seguros?

Escribir código

GPT-3 es capaz de escribir código en distintos lenguajes de programación mediante una descripción en lenguaje natural, consiguiendo incluso el desarrollo de frontales web o de redes neuronales.




Estos son únicamente unos ejemplos de lo que GPT-3 es capaz de lograr en los meses que lleva en producción, y puedes ver muchos más ejemplos de aplicación de GPT-3 en este enlace de GPT-3 examples. Nadie sabe aún cuáles son los límites de estos modelos y que nos depararán los próximos que salgan a la luz pero, ¿a que ya no resulta tan exagerado poner las APIs privadas?

Autor: Pablo Saucedo (@psaucedo)

Continue reading


No comments:

Post a Comment