La revolución de OpenAI y GPT-3
Hoy en día todo el mundo se encuentra hablando de una API revolucionaria basada en inteligencia artificial, capaz de dejarnos con la boca abierta al momento de interactuar con ella, ya que puede escribir un artículo, realizar traducciones, o escribir código en diferentes lenguajes de computadoras.
¿Ya lo conocen?
Alguna vez se preguntaron cómo funciona, ¿qué empresa lo desarrolla o hasta dónde puede llegar la potencia de la IA?
A continuación, presentamos una breve descripción de la empresa y el producto, así como también le contamos nuestra experiencia.
La empresa OpenAI se funda en 2015 con el objetivo de llevar la inteligencia artificial general a toda la humanidad. El concepto AGI (Artificial General Intelligence), es definido por ellos como sistemas altamente autónomos que pueden superar lo realizado por las personas en trabajos económicamente valiosos. Para darles una idea de lo importante que es, Microsoft se encuentra dentro de la lista de inversores de esta empresa desde julio del 2019.
Leyendo el trabajo realizado por esta empresa, vemos que sus primeros esfuerzos estuvieron orientados a la automatización de actividades a través del uso de la inteligencia artificial, así es que, en 2016, publican sus productos “Universe” y “Gym”. El primero de ellos es una plataforma de software creada para medir y entrenar una AGI mediante el uso de juegos, sitios web y otras aplicaciones, con el objetivo de que la misma pueda utilizar una computadora de la misma forma que lo haría un humano.
Tomando esa experiencia como base, en 2017 fueron capaces de desarrollar un bot que derrotó a un experto en el juego de computadores “Dota 2”, en un juego de 1v1 (uno versus uno), este juego tiene un fuerte componente estratégico, es de alcance mundial y sobre el mismo anualmente se realizan certámenes donde los ganadores ganan millones de dólares.
Es importante entender que esto es algo totalmente diferente a lo que entendemos por RPA (Robotic Process Automation) o si se quiere es un RPA con esteroides. Hoy en día es posible, a través de variadas herramientas de ese tipo, implementar bots que reproduzcan las actividades realizadas por una persona, en Quanam nos encontramos trabajando en varias de ellas, en estas implementaciones se puede integrar la inteligencia artificial para resolver funcionalidades que nos permitan, por ejemplo, obtener información de facturas escaneadas o digitalizadas de alguna forma para llevarla a un sistema. Pero lo implementado aquí por OpenAI fue más allá, el bot se hizo completamente basado en la inteligencia artificial y fue capaz de tomar decisiones en base a la estrategia de su oponente para vencerlo.
Actualmente, dentro de los múltiples proyectos de OpenAI se destacan particularmente 2 de ellos, DALL-E-2, indican que este producto es capaz de crear imágenes y arte realista a través de una descripción brindada en lenguaje natural, lo que se puede apreciar en su sitio es realmente impresionante (Nuestro compañero Héctor Cotelo recientemente fue entrevistado en referencia a este producto, les dejamos aquí el link a su nota) y GPT-3, en el cual nos enfocaremos un poco más en este artículo. De acuerdo con sus creadores, se puede pensar en esta tecnología como un autocompletado muy avanzado, que se basa en la inteligencia artificial para que, a partir de un texto enviado a la API de este producto, la misma intente predecir cual es el texto más probable que debe darse a continuación. En la interacción que puede darse entre un humano y este software pueden pasar muchas cosas, de las cuales podrán leer más adelante.
¿Qué es GPT-3?
GPT-3 significa “Generative Pre-trained Transformer”, es un modelo de deep learning entrenado para producir texto basado en el procesamiento del lenguaje natural o NLP por sus siglas en inglés, no es el único en su tipo, pero sí hasta al momento, es el más potente, ya que el mismo fue entrenado a partir de una base de 175.000 millones de parámetros. ¿Pero qué implica hablar de esa cantidad de parámetros?.
Lo primero, como es lógico pensar, la cantidad de parámetros redunda en un mayor entrenamiento, para darles una idea, modelos antecesores fueron entrenados con una cantidad considerablemente menor de parámetros, por ejemplo, BERT: 110 millones de parámetros, T-NLG de Microsoft en el 2020, que fue entrenado con 17.000 millones de parámetros o mismo GPT-2 el antecesor de la API actual de OpenAI, para el cual se utilizaron alrededor de 1.500 millones de parámetros. Por supuesto que esto no será lo último que veamos, ya que se habla de que se está trabajando por parte de Google en un modelo que superará ampliamente la cantidad de parámetros de GPT-3.
De acuerdo a la siguiente tabla publicada por OpenAI en su publicación del 22 de julio del 2020, se puede observar que no existe un único modelo de GPT-3, sino que son 8, variando en cada uno de ellos la cantidad de hiper-parámetros utilizados (parámetros entrenables, capas, modelos, etc.).
Para explicarlo de forma sencilla, imagine un parámetro como una ramificación de una neurona (dendrita) que permite que esta neurona se conecte a otra célula, así mismo los parámetros (peso), se pueden ver como las conexiones que existen entre los distintos nodos en esta red neuronal.
Por otro lado, el modelo se basa en entender y procesar texto dividiendo el mismo en Tokens. Por ejemplo, la palabra “hamburguesa”, será dividida probablemente en diferentes partes como pueden ser “ham”, “bur”, “gue”, “sa” (no necesariamente será en sílabas), cada una de estas partes es un token, mientras que una palabra corta como “pié” será un único toquen. A esto se refiere cuando se indica que todos los modelos han sido entrenados con un total de 300.000 millones de tokens.
¿Qué se puede hacer con GPT-3?
De acuerdo a los ejemplos brindados por OpenAI es posible utilizar esta API para casi cualquier tarea que implique la utilización del lenguaje. Algunos ejemplos de ello son las siguientes interacciones que realizamos con la API:
- Traducciones, de un idioma a otro, por ejemplo, de inglés al español. Cuando interactuamos con la API el diálogo se podía llevar adelante indistintamente en cualquiera de los 2 idiomas.
- ¿Programar? Tomar código escrito en un lenguaje de programación y pasarlo a lenguaje natural, o lo contrario, partir de una frase en lenguaje natural y escribir un código o armar una sentencia SQL para realizar una consulta a una base de datos.
En nuestra prueba interactuamos de la siguiente forma con la API, la cuál nos dio una respuesta no del todo correcta (seguramente por falta de información o contexto), pero igualmente se acerca bastante:
- Preguntas – respuestas o charlas. En una de nuestras interacciones con la API, “sostuvo” (aunque parezca extraño referirse a un algoritmo de una forma tan humana) que era una persona que se llamaba Sarah Smith de 23 años, y mantuvo la coherencia con el contexto durante toda la “charla”, incluso construyendo una familia y anhelos (iba a estudiar medicina en la universidad de Texas, puntualmente pediatría).
En otra interacción que hicimos, ante las mismas preguntas se emitieron respuestas sobre la base de que se estaba interactuando con un algoritmo.
Esto nos da la pauta de que GPT-3 en cada momento responderá con las palabras que prediga complementan de mejor manera el texto ingresado, basado en un contexto, pero sin saber realmente su significado.
- Generar un texto: le pedimos que escribiera un artículo en español indicando que la luna explotará en poco tiempo y para nuestro total asombro, la respuesta fue la siguiente:
“… La luna está a punto de explotar. Los científicos han estado observando un aumento en la actividad volcánica en la luna, y esto ha llevado a un aumento en la temperatura de la superficie de la luna. Esto significa que la luna está en un estado muy inestable, y podría explotar en cualquier momento.
Los científicos están tratando de enviar una misión a la luna para poder estudiar este fenómeno más de cerca, pero no sabemos si tendremos tiempo de hacerlo antes de que la luna explote. Si la luna explota, será un desastre para la Tierra, ya que la mayoría de los planetas y asteroides están formados por materiales que provienen de la luna.
Así que, si ves un aumento en la actividad volcánica en la luna, no te quedes mirando, ¡corre! …”
- En la siguiente página de ejemplos podrá encontrar un sinfín más de interacciones que podrá usted probar: https://beta.openai.com/examples
¿Qué puedo hacer yo?
En lo referente a esta pregunta, tu imaginación es el límite, prácticamente podemos hacer de todo. Lo mejor de ello es que OpenAI ha abierto recientemente el acceso a la API a prácticamente cualquier persona, pocos países han sido excluidos, afortunadamente Uruguay está habilitado y podemos acceder, luego de registrarnos o autenticarnos, a interactuar con GPT-3 a través de una página web construida a tales efectos, a la cual se puede acceder desde el siguiente link: https://beta.openai.com/playground
En este espacio de pruebas llamado “playground” se podrá interactuar directamente con la API a través de un cuadro de texto, pudiendo, además, ajustar algunos de los parámetros de la misma. A continuación, les mostramos una captura de está página:
Para interactuar con la API, se recomienda por parte de OpenAI, primero leer una breve guía de como interactuar con el sistema, lo cual podrás hacer desde aquí: https://beta.openai.com/docs/quickstart, o directamente puedes lanzarte a la aventura.
No se puede negar la cuota de incertidumbre y temor que esto nos puede generar de cara a nuestro futuro, pero como Elon Musk dijo una vez “Si te levantas por la mañana y piensas en que el futuro va a ser mejor, es un día brillante. De lo contrario, no lo es”.
Les confieso que no pude evitar preguntar a GPT-3 quién ganará el campeonato mundial de Qatar 2022, e insiste con que será Brasil, ¡¡¡¡evidentemente no sabe nada de fútbol … o sí!!!!