Por Eduardo Cesar Garrido Merchán
Profesor de Métodos Cuantitativos, Universidad Pontificia Comillas.
Pincha aquí para ver el vídeo sobre este post
Ya conocemos los conceptos básicos de las redes neuronales vistos en la entrada anterior, que esencialmente son aproximadores de funciones. Son capaces de mapear datos de entrada X a salidas y. Pero, ¿qué sucede si X es un texto, como el prompt que le damos a ChatGPT, e y es la siguiente palabra en ese texto? En este caso, necesitamos una variante de red neuronal, conocida como modelo de lenguaje autoregresivo. ¿Te pica la curiosidad por saber más detalles? ¡Sigue leyendo!
Pensemos en el autocompletado del teclado de tu móvil. Cuando escribes una palabra, el sistema predice la siguiente palabra. Sustituye la frase por un prompt y cada palabra autocompletada se añade después del prompt. El comportamiento es el mismo que el de la IA generativa. Imagina que estás escribiendo la frase «¿Tienes dinero en el…?» y te quedas en blanco. Un modelo autoregresivo predice, para cada frase de entrada X, la distribución de probabilidad de todas las palabras del diccionario, Y, que maximicen la verosimilitud de ir después de X. Por ejemplo, ante la frase «¿Tienes dinero en el…», el modelo calcula la probabilidad condicionada p(Y|X,W), donde W son los parámetros del modelo entrenado. Podría predecir «banco» con un 60% de probabilidad, «bolsillo» con un 20%, «cajón» con un 10%, «IBEX» con un 5%, y el resto de las palabras con el 5% restante. Con billones de parámetros W, estos modelos pueden estimar las distribuciones condicionales de probabilidad de la forma p(siguiente palabra | prompt,parámetros). De ahí el nombre «modelo largo de lenguaje»: son modelos probabilísticos con billones de parámetros que trabajan con lenguaje.
Aunque el término autoregresivo puede sonar complejo, la idea es simple. Supón que cada palabra en un prompt es una variable aleatoria x_i. La respuesta al prompt se considera una distribución de probabilidad conjunta p(x_1,x_2,…,x_T), donde T es el número de palabras en la respuesta. Las palabras en la respuesta no son independientes; la probabilidad conjunta no es el producto de las marginales, sino el producto de las probabilidades condicionadas de cada palabra dada las anteriores. Esto refleja que cada palabra depende de las anteriores, lo cual tiene sentido: para entender una frase, es importante el contexto proporcionado por las palabras anteriores.
Un modelo autoregresivo no necesariamente debe ser una red neuronal. Cualquier modelo de aprendizaje automático que represente estas dependencias y haga predicciones con sus parámetros puede funcionar. La probabilidad de cada nueva palabra x_T es el producto de las probabilidades conjuntas de todas las palabras anteriores x_1,x_2,…,x_{T-1}, codificadas en un conjunto de parámetros θ. Por ejemplo, una red neuronal puede asignar una probabilidad a cada palabra en su capa de salida usando una función softmax. Esta función convierte un vector de números en un vector de probabilidades, sumando a 1, como requiere cualquier variable aleatoria. Dentro del softmax, el modelo lineal multiplica los pesos por las variables de entrada, mostrando que cualquier modelo puede ser autoregresivo. Sin embargo, necesitaríamos trillones de parámetros, ya que hay muchísimas palabras. Por eso, en la práctica, no trabajamos con palabras directamente, sino con «tokens».
Hay un problema adicional: las palabras pueden tener varios significados (polisemia). ¿Cómo desambiguamos el significado de las palabras? En la próxima entrada, exploraremos cómo los modelos de lenguaje manejan la desambiguación del significado de las palabras.