En este sitio web utilizamos cookies para mejorar tu experiencia de navegación y entender mejor tua preferencias. Eso nos ayuda a entenderte mejor y a centrarnos en aquellos tópicos que son de tu interés. Por favor, acepta nuestro uso de cookies.
Lenguaje & Modelos de Generación
Hasta este punto del relato disponemos de los modelos de incrustación y los modelos de atención para capturar la esencia de significados que encierra cualquier frase en lenguaje natural. Pero ahora nuestros objetivos son otros. Tratamos de crear un sistema inteligente capaz de dar una respuesta como continuidad natural a la consulta abrigada de contexto enviada por el usuario. Se trata, en este sentido, de una actividad generativa que debe escoger nuevas palabras para extender creativa pero coherentemente al contexto recibido. Todo esto parece muy complejo pero si recordamos que nuestras palabras son vectores dispuestos por proximidad en nuestro espacio de incrustación entonces todo se simplifica. Situémonos en la última palabra del contexto, que llamaremos palabra de borde. Entonces busquemos en nuestro espacio vectorial aquel otro término que se encuentre más próximo a nuestra palabra de borde, escojámosla como solución de continuidad que da forma a nuestra respuesta y procedamos así nuevamente para generar la siguiente palabra hasta llegar a ciertas condiciones de cierre. Esto es, en esencia lo que hace un LLM cuando hablamos con él. Ya ves! Pensar, razonar, responder… es algo que se basa en esencia en dar saltos de vecindad en un espacio terminológico vectorial. Pero, ¿tiene todo esto sentido o estamos siendo ingenuamente simplistas? Lo cierto es que algo de sentido tiene. Si recordamos nuestras explicaciones anteriores, al entrenar nuestra inteligencia con los textos de la literatura de oro del siglo español ha creado un espacio de palabras dispuestas con la debida proximidad estratégica como para no sólo sabes responder en perfecto castellano sino también y sobre todo para capturar conocimiento especializado. Si preguntamos a nuestro sistema ¿Quién fue el amor de Quijote? Es de esperar que la respuesta sea Dulcinea, dado que es el primer nombre propio que se encuentre en las proximidades de la palabra Quijote. Aparentemente un mecanismo débil pero que se ha demostrado terriblemente eficaz. Ahora toca volver a reflexionar, ¿no será que nuestra inteligencia está regida por los mismos principios de aparente debilidad?
Lenguaje & Modelos de Generación
Lenguaje & Modelos de Generación
Hasta este punto del relato disponemos de los modelos de incrustación y los modelos de atención para capturar la esencia de significados que encierra cualquier frase en lenguaje natural. Pero ahora nuestros objetivos son otros. Tratamos de crear un sistema inteligente capaz de dar una respuesta como continuidad natural a la consulta abrigada de contexto enviada por el usuario. Se trata, en este sentido, de una actividad generativa que debe escoger nuevas palabras para extender creativa pero coherentemente al contexto recibido. Todo esto parece muy complejo pero si recordamos que nuestras palabras son vectores dispuestos por proximidad en nuestro espacio de incrustación entonces todo se simplifica. Situémonos en la última palabra del contexto, que llamaremos palabra de borde. Entonces busquemos en nuestro espacio vectorial aquel otro término que se encuentre más próximo a nuestra palabra de borde, escojámosla como solución de continuidad que da forma a nuestra respuesta y procedamos así nuevamente para generar la siguiente palabra hasta llegar a ciertas condiciones de cierre. Esto es, en esencia lo que hace un LLM cuando hablamos con él. Ya ves! Pensar, razonar, responder… es algo que se basa en esencia en dar saltos de vecindad en un espacio terminológico vectorial. Pero, ¿tiene todo esto sentido o estamos siendo ingenuamente simplistas? Lo cierto es que algo de sentido tiene. Si recordamos nuestras explicaciones anteriores, al entrenar nuestra inteligencia con los textos de la literatura de oro del siglo español ha creado un espacio de palabras dispuestas con la debida proximidad estratégica como para no sólo sabes responder en perfecto castellano sino también y sobre todo para capturar conocimiento especializado. Si preguntamos a nuestro sistema ¿Quién fue el amor de Quijote? Es de esperar que la respuesta sea Dulcinea, dado que es el primer nombre propio que se encuentre en las proximidades de la palabra Quijote. Aparentemente un mecanismo débil pero que se ha demostrado terriblemente eficaz. Ahora toca volver a reflexionar, ¿no será que nuestra inteligencia está regida por los mismos principios de aparente debilidad?
Modelos de Incrustación
El primer paso tendría que ser capturar el significado esencial de cada palabra de nuestro lenguaje de forma precisa. Durante muchos años habíamos intentado, sin éxito, conquistar este esfuerzo a base de los modelos lingüísticos que nos enseñaron en la escuela. Pero si algo habíamos aprendido de tantos años de inteligencia conexionista es que debemos confiar más en los datos al diseñar nuestras soluciones. Idealmente se trataría en encontrar una representación numérica vectorial para cada término manteniendo una único idea subyacente en todo el constructo. Todas las palabras que, de algún modo, estuvieran relacionadas con una dada deberían alojarse en la vecindad proximal dentro de ese espacio vectorial. Esa sería la esencia de la captura semántica. Pero, ¿qué queríamos decir con eso de estar relacionadas? Juguemos a un juego. Supongamos que ponemos a un sistema inteligente a procesar toda la literatura del siglo de oro español. Ahora fabriquemos 4 vectores distintos con un solo 1 en una posición y 0 en el resto. Da igual que posición se escoja con tal de que en cada vector la posición activa sea distinta. Imaginemos que nos fijamos en 4 palabras de todo ese corpus de texto y se las asociamos a cada vector. Rocinante será uno de los vectores, Quijote otro, Dulcinea un tercero y Sancho el cuarto. Ahora empieza el entrenamiento. Durante el procesamiento de cada frase dentro de cada texto buscamos las coocurrencias de nuestras palabras. Por ejemplo al procesar la palabra Quijote dentro de una frase dada, si la palabra Dulcinea también aparece en la frase entonces sumamos una pequeña contribución a la posición de Dulcinea dentro del vector de Quijote. Lo recíproco haremos al analizar esa misma frase computando el vector Dulcinea y encontrando la coocurrencia Quijote. Con esto, ya finalizada la fase de entrenamiento, obtendremos vectores para cada palabra que capturan la relación semántica con otras palabras por coocurrencia. Esto no es del todo preciso pero sirve para ilustrar el proceso. Resulta asombroso que de manera tan trivial pueda capturarse el significado de las palabras de forma numérica.
Perspectiva General
Puede resultar injusto pero el auge de atención de la Inteligencia Artificial se alcanzo con la llegada de los modelos generativos, sistemas capaces de mostrar un comportamiento emergente creativo en la generación de textos, imágenes, audio o video. Pero quizá la mayor contribución de valor ha sido la de los modelos de lenguaje. Se trata de redes neuronales con la capacidad de capturar todo el contenido semántico de una consulta de entrada, abrigada por su correspondiente contexto en forma de una codificación numérica vectorial y generar después una continuidad a dicho contexto que se devuelve como respuesta a la consulta. En una primera fase de entrada el sistema es capaz de adjudicar a cada palabra un significado local que depende de la relación semántica que ésta mantiene con sus anteriores. En la fase de salida la interpretación semántica así generada se utiliza para generar siguientes palabras que den una continuidad coherente al texto introducido. Hay variantes y matices en todo esto.