Desde noviembre de 2022, el agente conversacional Chat-GPT, desarrollado por la empresa estadounidense OpenAI (**https://openai.com*), está en boca de todos y en todos los periódicos, por lo impresionantes que son sus producciones (aunque no siempre en matemáticas). GPT es el acrónimo de «transformador generativo preentrenado» (generative pre-trained transformer en la lengua de Alan Turing); es decir, se trata de una inteligencia artificial (IA) y, más precisamente, de una red neuronal, esto es, una función matemática muy elaborada cuyos parámetros se han estimado gracias a una gran cantidad de datos y que se ha entrenado para poder generar contenido textual. La versión GPT-3 es un modelo de lenguaje de gran tamaño*: las capacidades de cálculo y los datos disponibles hoy permiten crear redes neuronales cada vez mayores. Por citar algunos ejemplos, GPT-3 posee 175 000 millones de parámetros, frente a los «apenas» 1 500 millones de su «antepasado», GPT-2, aparecido en 2019.
Todo es vector… -----------------
La modelización de un texto pasa por la «vectorización»: un texto se considera una sucesión de palabras, y cada sucesión de palabras se representa mediante un vector en el espacio de todo el vocabulario utilizable. El algoritmo GPT consiste «simplemente» en predecir la palabra n+1 conocidas las palabras de la 1 a la n. Para ello, podrían utilizarse modelos muy clásicos, como las cadenas de Markov, que modelizan el paso de un estado a otro (véase Tangente SUP 69, 2013). Pero GPT logra generar contenidos de muy buena calidad mejorando estos algoritmos elementales mediante algunas técnicas. En primer lugar, la enorme cantidad de datos utilizada permite parametrizar mejor las redes neuronales: GPT-3 se entrenó con 570 Go de textos y cuenta con 175 000 millones de parámetros. Además, Chat-GPT incorpora una función de aprendizaje por refuerzo: los textos producidos son evaluados por personas, que señalan los «mejores», lo que permite favorecer los parámetros que condujeron a esos textos. Por último, Chat-GPT utiliza una arquitectura particular de redes neuronales: los transformadores.
Un transformador es una red neuronal formada por varias capas, compuestas a su vez por cabezas de atención, capaces de tener en cuenta las palabras anteriores y de aprender a determinar su «relevancia» calculando su interés en función de la palabra que se va a generar (véase el recuadro).
Así, cuando el modelo debe generar la continuación de «Un robot debe proteger su \_\_», se verá que «su» está estadísticamente más vinculado al término «robot» que a «Un».