Por Eduardo Cesar Garrido Merchán
Profesor de Métodos Cuantitativos, Universidad Pontificia Comillas.
Pincha aquí para ver el vídeo sobre este post
Bienvenidos a una nueva entrada donde exploramos los bloques básicos de un modelo largo de lenguaje. En este artículo se detalla una pieza fundamental que revolucionó el campo en 2015: los word embeddings. Intuitivamente, se asigna un conjunto de valores, un vector, un punto en el espacio, a cada palabra, representando su significado en un espacio semántico-numérico. A este punto en el espacio lo llamamos word embedding. Por ejemplo, palabras como «reina» y «mujer» tienen su localización en el espacio, representadas como puntos. De manera similar, «hombre» y «rey» también tienen sus puntos correspondientes. Lo interesante es que cada palabra se ubica en el espacio según su significado. En un espacio simple de 3 dimensiones, las palabras de género femenino podrían estar a la izquierda y las de género masculino a la derecha. Así, cualquier palabra de género masculino se asociará con «hombre» y «rey».
La magia de los word embeddings es que podemos realizar operaciones semánticas en este espacio. Por ejemplo, al sumar un vector a «mujer», podemos obtener «hombre». Sumando el mismo vector a «reina», obtenemos «rey». Esto también se aplica a relaciones semántico-sintácticas, como pasar de «grande» a «el más grande». Pero, ¿Cómo logramos que cada significado tenga su lugar en este espacio? La creación de word embeddings puede parecer complicada, pero podemos entenderlo mejor con un ejemplo real. Imagina que estás trabajando con tweets sobre «whiskey». Hay más de 50 formas distintas de escribir «whiskey» en las redes sociales. Analizar cada variación por separado sería un caos. La solución es analizar el contexto en el que se usa la palabra «whiskey». Al analizar millones de tweets, observamos las palabras que aparecen antes y después de «whiskey». Si ves «Voy a beber un… con hielo, por favor», probablemente la palabra que falta sea una bebida. Así, al agrupar contextos similares, asignamos puntos cercanos en el espacio semántico a palabras como «ron», «vodka» y «whiskey», según sus contextos específicos.
Una vez que hemos asignado un vector a cada palabra, hemos creado una representación numérica de nuestro lenguaje, que es ideal para las redes neuronales. Los word embeddings se convierten en la entrada para los modelos largos de lenguaje, transformando palabras en vectores numéricos que codifican significados similares de manera similar.
La técnica de embeddings no se limita a palabras. Podemos asignar puntos a frases, imágenes, videos y audios. Por ejemplo, «hola, ¿qué tal?» tendría un punto cercano a «buenos días». Una foto de una manzana roja y otra verde estarán cerca en el espacio. Esta técnica permite que los modelos de lenguaje generen y procesen contenido multimedia. A medida que aumenta la capacidad del modelo y se manejan más parámetros, podemos inferir distribuciones de probabilidad de textos, audios, videos e imágenes. Finalmente, cuando un nuevo prompt se coloca en su correspondiente punto del espacio, mediante operaciones con vectores, obtenemos la zona del espacio donde se encuentra la salida más probable.
Luego, un módulo decodificador del modelo de lenguaje convierte esta representación en el contenido multimedia deseado. Este proceso permite que el modelo genere respuestas coherentes y contextualmente apropiadas.