¿Será el próximo Cervantes una IA?
19 septiembre, 2022
Rosana Montes, Natalia Díaz-Rodríguez, Carlos Peláez Gonzalez y Carlos Núñez Molina
Los modelos llamados Large Language Models, son capaces de realizar diversas tareas relacionadas con el lenguaje, como completar frases, traducir de un idioma a otro, resumir textos e incluso escribir textos originales por su cuenta.
Cuando a estos modelos se les da un texto inicial como semilla, estos son capaces de generar varios textos que son coherentes con el texto inicial. Debido a que estos modelos no son perfectos, es necesario en algunas ocasiones darles como texto inicial uno diferente aunque transmita la misma idea con el fin de obtener un resultado satisfactorio. A la gente que se encarga de analizar el comportamiento de estos modelos para buscar las mejores respuestas o limitaciones de los modelos se les conoce como prompt engineers.
A lo largo de los años, se han desarrollado varios modelos para el procesado de lenguaje natural. La evolución de los mismos se lista a continuación.
- RNNs (Recurrent Neural Networks): Este tipo de modelos fue usado ampliamente para procesamiento de lenguaje natural. Esencialmente consisten en modelos que van generando un contexto (como un resumen de todo lo que ha procesado hasta el momento) a medida que va procesando el texto que se le da como entrada. La limitación de esta clase de modelos es que ese contexto es muy local, es decir, el modelo le da mucha más importancia a la parte final del texto, prácticamente olvidando la parte inicial del mismo.
- Las LSTM (Long Short Term Memory) son un tipo especial de modelos RNN que tienen una configuración especial, la cual les permite guardar el contexto de tanto la parte inicial del texto como de la final. El inconveniente que aparece con estos modelos es que siguen perdiendo información si el texto es muy largo.
- Los transformers son la sucesión de los modelos LSTM, y supusieron una revolución en el campo de procesamiento de lenguaje natural. Estos usan un mecanismo de atención sobre los datos, analizando la importancia que tiene cada palabra con todas las demás para el significado final del texto, solventando de esta manera que el modelo se olvide de las partes iniciales del texto. Estos modelos se pueden entrenar con varios objetivos iniciales, los cuales pueden ser muy diferentes al objetivo final (de la llamada tarea final —downstream task–). Por ejemplo, tareas usadas para entrenar estos modelos incluyen: 1) predecir la palabra central en tres palabras consecutivas aleatorias de textos de entrenamiento, 2) dadas dos frases consecutivas, predecir la tercera, o 3) predecir si dadas dos frases aleatorias, la primera precede a la segunda. Tras entrenarse en estas tareas, se pueden luego usar por ejemplo, para clasificar texto (spam/no spam), generar texto u otras tareas.
Un ejemplo de modelo que hace uso de transformers es el modelo BERT, desarrollado por Google. Con respecto al transformer tradicional (“vainilla”) usa predicción de palabras en ambos sentidos, para así capturar la estructura del lenguaje, aprender sobre relaciones contextuales entre palabras y sus estadísticas para el aprendizaje automático.
Lo último que se ha creado es el modelo ChatGPT, un modelo conversacional creado por OpenAI que permite hablarle al modelo de IA de forma muy natural. Actualmente se encuentra en fase beta, y se puede probar gratuitamente (de momento) desde el enlace https://chat.openai.com/chat.