Con el surgimiento de los grandes modelos de lenguaje o LLMs (Large Language Models) que han dado paso a aplicaciones como ChatGPT y BARD entre varias otras, se ha generado mucha especulación, desinformación y alarmismo, muchas veces sin fundamentación alguna. Esto ha llegado a extremos sinsentidos de que variados supuestos especialistas han puesto en el tapete el riesgo que esto podría incluso tener para la humanidad, y que por tanto, se debería controlar más que cualquier otra sensibilidad como las que se mencionó previamente. Incluso algunos han llegado a proponer pausar el desarrollo de la IA aludiendo a algunos de estos supuestos riesgos.
¿De dónde viene todo este alarmismo mundial?
Para responder lo anterior debemos comenzar por lo más básico en relación a los modelos de lenguaje. Un modelo de lenguaje o language model (LM) es un sistema computacional diseñado para comprender y generar texto en lenguaje natural. Es una forma de IA que utiliza algoritmos y técnicas de procesamiento del lenguaje natural para aprender patrones y reglas del lenguaje automáticamente sin necesidad de proporcionar explícitamente reglas o conocimiento lingüístico explícito. El objetivo de un LM es predecir la siguiente palabra o secuencia de palabras en función del contexto proporcionado. Para lograr lo anterior, un LM se ajusta (entrena) con grandes cantidades de textos existentes, tales como libros, artículos, sitios web y otros documentos.
Para que todo esto sea posible, ¿qué es realmente lo que se ajusta en un LM cuando se entrena?
Lo que un LM va ajustando son sus parámetros, que en simple se pueden pensar como pequeñas piezas de conocimiento almacenadas dentro del modelo. Suponga que un LM ha sido entrenado con una gran cantidad de noticias deportivas. Si se le da la palabra “gol”, los parámetros pueden indicar que las palabras “equipo” o “marcó” son las siguientes más probables.
Una de sus varias limitantes es que hasta ahora habían sido capaces solamente de aprender relaciones lineales desde los datos proporcionados, que le permite extraer patrones lingüísticos básicos.
¿Qué es una relación lineal?
Imagine que Ud. está investigando sobre el impacto de la edad en la popularidad de ciertos productos. Si graficamos la edad en el eje horizontal y la popularidad en el eje vertical, en una relación lineal, los puntos se conectarían formando una línea recta. Sin embargo, en una relación no lineal, los puntos no siguen una línea recta, sino que pueden formar curvas o patrones más complejos. Esto significa que en una relación no lineal, los cambios en una variable no ocurren de manera constante o proporcional a los cambios en la otra variable. Por ejemplo, no podríamos decir que a medida que una persona envejece la popularidad de un producto aumenta o disminuye de manera constante.
Las relaciones no lineales pueden tener diferentes formas y patrones, y esto puede requerir un análisis más detallado para comprender cómo se relacionan las variables. Es posible que sea necesario utilizar técnicas matemáticas más avanzadas o incluso modelos específicos para poder describir y comprender adecuadamente estas relaciones.
¿Y en qué me afecta esto a mí?
Le tengo una no muy buena noticia: muchos problemas reales complejos en la industria y negocios son de naturaleza no lineal, por lo que requieren enfoques totalmente diferentes para poder abordarlos. Este es justamente el caso de muchas tecnologías en IA y en particular en los modelos de lenguaje.
En el desarrollo de los LMs, se descubrió que su rendimiento podía mejorar más y más si es que estos eran capaces de aprender relaciones no lineales desde los textos de ejemplo. Esto podría impactar en la generación de mejores respuestas y, por sobre todo, lograr mayor escalabilidad: o sea, a mayor capacidad del modelo para aprender relaciones no lineales, podría aumentar significativamente su rendimiento.
¿Pero cómo estos modelos pueden aprender patrones no lineales en los textos?
La clave para ello consiste en dotar a un LM de un número mucho más grande de parámetros que los usuales que debe aprender. Sin embargo, dado que “no hay almuerzo gratis”, la intuición seguramente le dirá que esto hará que el modelo sea mucho más complejo, lo cual no sólo es verdad, sino que es parte de algunas preocupaciones, especialmente desde la perspectiva de la transparencia y explicabilidad.
Es aquí donde aparecen los GRANDES modelos de lenguaje o LLM, que se caracterizan no sólo por entrenar millones de parámetros, sino también por utilizar un método muy poderoso de aprendizaje de dichos parámetros llamado redes neuronales artificiales profundas. Aunque existen otros elementos técnicos internamente que le permiten a esta red manejar secuencias de entrada (ej. procesar secuencias de palabras en un texto a traducir) y poner atención en información relevante en dicha entrada, una red neuronal artificial es un modelo computacional que intenta imitar en ciertos aspectos el funcionamiento del cerebro humano en la forma en que procesa información y se adapta a un entorno.
Esta red está compuesta por unidades de procesamiento básicas llamadas neuronas artificiales que están interconectadas entre sí y que se organizan por capas o niveles con funcionalidades diferentes. A través del entrenamiento de esta red de capas con ejemplos, esta aprende a reconocer patrones y realizar tareas.
Note que con estos métodos aplicados a los LLM comienza a surgir la necesidad de que estás redes posean más capas y con mayor profundidad de modo de aprender patrones mucho más complejos. Cada interconexión usualmente representa la fuerza con la que una unidad (neurona) se conecta con otra, y dicha fuerza es justamente un parámetro que el LLM debe aprender durante el entrenamiento. Ud. se imaginará entonces, que si tengo varias capas de procesamiento con muchas neuronas por capa, por simple matemática, un LLM deberá intentar ajustar millones o miles de millones de parámetros posibles para obtener los resultados deseados más escalables.
Fantástico, ¿no?
Sí. Pero de estas relaciones tan complejas es que surgen resultados inesperados…