fbpx

Desmontando el modelo de lenguaje GPT-3

08 Jul 2021

Hace tan solo un año, OpenAI nos deslumbraba publicando la apertura al mundo de su nuevo modelo de lenguaje GPT-3 que permite, a muy alto nivel, predecir qué viene a continuación de los datos previos que hemos introducido.

En ese momento, el acceso era muy limitado, ya que desde OpenAI no querían abrirlo de manera masiva para que la gente no lo utilizara para hacer el mal generando “fake news” o aplicaciones que pudieran traspasar la ética de la Inteligencia Artificial. Aun así, pudimos ver cantidad de noticias y videos en Twitter y Youtube donde desarrolladores de todo el mundo con su acceso a la API construían aplicaciones sorprendentes en muy poco tiempo, logrando generar aplicaciones web sin tirar una sola línea, generar códigos para administrar entornos Linux o hasta escribir poesía y libros.

En ese momento y ante tal cantidad de noticias y videos que superaban casi la ciencia ficción y donde parecía que los trabajos de programador o poeta tenían los días contados, desde el área de Inteligencia Artificial de VASS nos pusimos a trabajar para conocer dónde estaba la realidad y dónde la ficción de todos esos artículos. Para nosotros era muy importante tener un análisis exhaustivo para poder dar respuestas concretas y basadas en datos reales a nuestros clientes ante este tipo de soluciones.

Enfoque empresarial de GPT-3

De manera muy rápida armamos un equipo de trabajo cuyo objetivo era conocer para qué se podía usar GPT-3 en un mundo real y empresarial, aparte de comprobar lo que nos estaban contando tuiteros y youtubers.

Para ello, tras conseguir el acceso a la API nos pusimos a trabajar en dos vías, una más funcional donde desarrollamos ideas para aplicar GPT-3 en el mundo empresarial. Y otra más técnica donde profundizábamos en el uso y modelos de desarrollo que nos proporcionaba la API.

Con las manos en la masa

En la línea funcional el equipo preparó una serie de posibles casos de uso donde se presentaban ideas de posibles aplicaciones.

No había restricción a nivel de mercado sobre dónde aplicarlo o sobre qué proceso empresarial y tampoco le poníamos límite a la imaginación así que surgieron ideas más terrenales como el interpretar código de programación o realizar resumen de documentación. También nacieron algunas ideas más ambiciosas como un asistente médico online, un opinador de hipotecas o hasta soluciones aplicadas a enfermos de Alzheimer.

Mientras tanto, en la línea técnica comenzamos a profundizar y a  explorar los diferentes motores que proporciona GPT-3: DAVINCI, CURIE, ADA y BABBAGE.

Aquí nos encontramos con que DAVINCI era el motor más generalista, que podía utilizarse para cualquier tarea, mientras que si buscabas una gran precisión, velocidad y menor costo en tareas de clasificación complejas CURIE era el mejor aliado. BABBAGE era útil en el caso de clasificaciones sencillas y ADA sin duda era la mejor opción si buscábamos velocidad pero no precisión.

Una vez iniciadas las dos líneas de trabajo, funcional y técnica, empezamos a converger ambas para poder extraer conclusiones. En este ámbito aterrizamos los casos de uso que habíamos preparado  sobre las ocho funcionales que proporcionaba GPT-3:

  • Clasificación: permite clasificar textos dándole algunos ejemplos iniciales.
  • Generación: útil para construir nuevas ideas e historias a partir de algunos ejemplos que le proporcionemos.
  • Conversación: muy potente para generar agentes conversacionales, funcionando en modelos de pregunta y respuesta.
  • Transformación: permite realizar trasformaciones del lenguaje natural, código informático o traducción de idiomas.
  • Sintetización: muy interesante para realizar resúmenes o generar textos más comprensibles.
  • Complementación: útil para generar el texto que necesitamos para completar un resumen o una instrucción de código.
  • Respuestas Objetivas: permite dar respuestas a preguntas. Aun así, hay que tener cuidado pues pueden ser inventadas.
  • Búsqueda Semántica: útil para realizar búsquedas sobre palabras y párrafos.

Además, añadíamos al reto el probar estos casos tanto en inglés como en español.

Tras tener la matriz cruzada de los casos de uso con la tecnología nos pusimos manos a la obra y comenzamos a elaborar cada uno de ellos con los diferentes motores y diferentes configuraciones de “temperatura” que proporcionan los motores, permitiendo a GPT-3 ser más o menos determinista en su generación de contenido.

Conclusiones extraídas del análisis de GPT-3

Después de varios meses de trabajo, algunos de los casos de uso eran rápidamente descartados al realizar las primeras pruebas mientras que en otros profundizábamos y jugábamos con los diferentes motores y configuraciones. Finalmente llegamos a una conclusión principal de que si se necesitaba un alto nivel de rigor en las aplicaciones, GPT-3 no era el aliado para realizar ese viaje.

Vimos que para aplicaciones a nivel de agentes conversacionales con temáticas generalistas o de enseñanza era una muy buena herramienta para generar estas aplicaciones rápidamente, al igual que para realizar traducciones, reconocer entidades en textos no estructurados, generar textos de opinión, listas, clasificar información y hasta interpretar o generar códigos básicos de lenguajes muy extendidos (html, javascript, java, etc…).

En el lado contrario, si se necesitaba un rigor máximo como en un asistente conversacional médico o bancario, opinar sobre las diferentes hipotecas del mercado, generar ofertas de trabajo o incluso generar aplicaciones no demasiado complicadas con lenguaje natural nos encontramos que era mayor el trabajo para contener la “imaginación” de GPT-3 que el realizar dichas soluciones por otros medios.

Además, debíamos de tener en cuenta que si el rigor era uno de los indicadores más valiosos en las aplicaciones donde generamos contenido como en los agentes conversacionales, era fundamental GPT-3 no inventara respuestas. Para ello, jugando con la temperatura conseguíamos que la respuesta fuera lo más determinista posible, pero aún así GPT-3 seguía teniendo la tentación de responder aun sin tener la información.

Además si unimos esa característica a que GPT-3 ya fue entrenado en 2019 y no está actualizado con las ultimas novedades mundiales, sus respuestas eran erráticas si le preguntamos sobre el Covid-19, el último presidente de los Estados Unidos o de España. Por tanto debíamos de ser muy precisos en el contexto inicial que le dábamos para que sus respuestas no desvariaran.

Otro dato interesante que descubrimos era que evidentemente no lo sabía todo, sobre todo si nos adentrábamos en la temática española donde por ejemplo desconocía la población de la ciudad Oviedo en el Siglo XIX XX y XXI, dando respuestas válidas en formato, realizando un escalado de la población en el tiempo,  pero con un dato incorrecto al compararlo con fuentes fiables. Por eso era muy importante en estos casos trabajar en el contexto inicial, indicándole explícitamente que no inventara la respuesta y que, en caso  de no saber, lo indicara con un “no lo sé”.

Por tanto, desde VASS hemos visto que GPT-3 puede ser una herramienta muy interesante para implementar soluciones que no requieran de una gran rigor en el dato, pero no compensa para soluciones donde la exactitud sea un requisito y resulte necesario realizar un refinamiento posterior a lo generado por GPT-3.

Finalmente, todo este trabajo realizado desde el equipo de inteligencia artificial de VASS nos ha permitido tener una visión mas clara y aterrizada de GPT-3, que muchas veces hemos visto muy alejada de lo que nos genera la “magia del cine” en las redes sociales.

Nacho Leirana

Manager de estrategia e innovacion del Clan Context & Cognitive

Soy un ingeniero informático con más de 15 años de experiencia en el sector de la consultoría informática. Como responsable de la estrategia e innovación del Clan Context&Cognitive siempre estoy buscando nuevas ideas que permitan a VASS ser punta de lanza en este tipo de soluciones.

Share This