Como es bien sabido y abundantemente citado, el escritor de ciencia-ficción, Arthur C. Clarke, decía en su libro ‘Profiles of the future‘ que
Cualquier tecnología suficientemente avanzada es indistinguible de la magia
Y, en efecto, cuando contemplamos a la inteligencia artificial actual, muy especialmente la inteligencia artificial generativa, es difícil no maravillarse como si estuviésemos ante un espectáculo de magia, una sensación que parece acentuarse ante los resultados tan efectistas que se pueden conseguir en materia de imagen, vídeo o música.
Pero, en mi caso, sin dejar de maravillarme sus resultados externos, visibles como mero usuario, me maravillan tanto o más los elementos de diseño y arquitectura que hay por detrás que y que, aunque menos conocidos, aunque en apariencia menos brillantes, no dejan de ser un canto a la ingeniería, al diseño y, en el fondo, al ingenio humano.
Y, en este post, quiero, intentando mantenerme en un nivel más divulgativo que técnico, explicar algún truco de magia que traen consigo los modelos generativos actuales, basados, de una forma u otra en la famosa arquitectura ‘transformer‘, base, por ejemplo, de los modelos GPT.
Antes, presentar a los protagonistas de los trucos de magia que vendrán a continuación: los tokens y los ‘embeddings‘.
Los tokens
¿Qué son los tokens?
Bueno, realmente no es fácil dar una definición compacta, abarcadora y a la vez comprensible de lo que son los tokens, aunque en el fondo la idea es muy sencilla. Los tokens vienen a ser como las piezas que constituyen un contenido. Dicho así, a lo mejor no queda muy claro, pero si pensamos en el caso del lenguaje, y pensamos, en primera instancia, que los tokens son las palabras, la cosa queda mucho más clara ¿no?
Ahora que seguramente nos hemos hecho a la idea un poco intuitiva de lo que son los tokens, conviene advertir que, en realidad, los tokens no tienen por qué coincidir con las palabras: en ocasiones son palabras, en ocasiones simples caracteres, en otros caso partes de una palabra (como la raíz de un verbo) y, en otras ocasiones, en fin, algunos caracteres especiales. Lo que queda claro es que los tokens son partes de un texto de forma que, combinándolas, nos dan el texto completo.
Todos los grandes modelos de lenguaje trabajan con un catálogo cerrado de tokens. Por catálogo cerrado quiero decir, que es un número acotado de tokens perfectamente conocidos. Cada modelo maneja su propio catálogo de tokens que suele incluir unos miles o decenas de miles de tokens posibles. Y, usando esos tokens, los modelos son capaces de componer o descomponer cualquier texto en tokens de ese catálogo. De hecho, el primer paso habitualmente de un gran modelo de lenguaje, ante la recepción de un texto de entrada (digamos que el ‘prompt’) es dividirlo en los tokens que lo constituyen.
Los ‘embeddings’
Vale, pues pasemos ahora a los ‘embeddngs‘. ¿Qué son los ‘embeddings’?
No he llegado a averiguar (ni siquiera a intuir) por qué se les asigna con ese nombre ‘embeddings’ (que tanto cuesta traducir al castellano de forma que se entienda), pero decir que los ‘embeddings’ son, básicamente, representaciones vectoriales de los tokens. Hilando muy fino en ‘las tripas’ de los modelos, hay casos en que los ‘embedding’ no representan exactamente un token, pero no me voy a meter en ese charco para que no se pierda la idea fundamental y vamos a quedarnos, aunque pueda ser una cierta simplificación, con que los ‘embeddings’ son representaciones vectoriales de los tokens.
Espero que el lector recuerde que, de nuevo simplificando, un vector es una colección ordenada de números reales (en realidad puede ser una colección ordenada de cualquier cosa, pero, de nuevo, voy a prescindir de ello para ‘no liar la cosa’). Los vectores tienen un uso algebraico, al que en seguida volvemos, un interpretación geométrica (la representación de las coordenadas de un punto en el espacio) y una interpretación física (una magnitud con dirección). Y los ‘embeddings’ son representaciones vectoriales de los tokens que van a hacer uso tanto de su carácter algebraico como de la interpretación geométrica.
Van a hacer uso de la visión algebraica, haciendo que los ‘embeddings’ sean elementos de un espacio vectorial y que sean aplicables sobre ellos todas las operaciones con vectores, matrices y tensores del algebra lineal y todas las transformaciones lineales propias de los espacios vectoriales. Y, así, van a convertir el entrenamiento e inferencia de redes neuronales profundas de los modelos de lenguaje mayormente en operaciones de algebra lineal.
Eso si, los ‘embeddings’ no son vectores de tres dimensiones como los que utilizamos en geometría normal, sino de cientos o miles de dimensiones.
Primer truco de magia: semántica y conocimiento
Vale, hasta aquí, nos puede parecer bien o mal el uso de tokens y ‘embeddings’, pero quizá no veamos la magia.
Vayamos a por el primer truco de magia: la semántica.
Esos vectores que son los ‘embeddings’ no son vectores con valores arbitrarios. Nada de eso: durante el entrenamiento de los modelos se ajustan esos ‘embeddings’ que con ello alcanzan un valor semántico, de significado. En realidad no se trata de una semántica absoluta, no es que el valor de un ‘embedding’ nos proporcione, de alguna manera, un significado, como si buscásemos en un diccionario. Se trata de lo que podríamos denominar una ‘semántica relativa‘.
Entender lo que es esa ‘semántica relativa’ (término que, por cierto, me acabo de inventar) debemos acudir a la interpretación geométrica de los vectores como representación de la coordenada de un punto en un espacio. Pues bien, de la misma forma que en geometría calculamos la distancia entre dos puntos, en modelos de lenguaje podemos calcular la distancia entre dos ‘embeddings’, es decir, entre dos tokens, es decir, simplificando un tanto, entre dos palabras.
Y si la distancia entre dos ‘embeddings’ es pequeña quiere decir que tienen relación de significado y también de uso. Es decir, si la distancia entre dos ‘embeddings’ es pequeña, quiere decir que su significado es parecido y está relacionado y/o que habitualmente se usan juntos.
Para conseguir eso, claro, hay mucho diseño interno de las redes neuronales que constituyen los modelos, hay mucho de mecanismos como la famosísima atención y auto-atención, etc pero el caso es que, una vez entrenado un modelo, esas relaciones de distancia geométrica, acaba recogiendo, por vía en el fondo indirecta, el conocimiento de la estructura (morfología y sintaxis) del lenguaje humano y, lo que es más increíble, su significado.
¿No es increíble?
Pues espera, que este primer truco tiene una vuelta de tuerca adicional. No es sólo que hayamos conseguido unos modelos que recogen la estructura y significado del lenguaje humanos, es que además… ¡Abracadabra! … también recoge todo el conocimiento que el ser humano ha volcado en los textos con que se ha entrenado.
Creo que esto se merece un fortísimo aplauso de admiración.
Segundo truco de magia: multimodalidad
Pero la función no ha hecho más que empezar.
Hemos hablado hasta ahora de modelos de lenguaje pero ¿y qué pasa con las imágenes, los vídeos o el sonido? ¿Qué pasa con los modelos multimodales?
Pues, por supuesto simplificando, lo que pasa es que usamos los mismos fundamentos.
Es decir, reducimos las imágenes o el sonido a un catalogo cerrado de tokens (esto, en caso de magnitudes continuas como es el sonido implica un esfuerzo de discretización). Y representamos esos tokens, de nuevo como ‘embeddings’ que ajustamos en el entrenamiento.
Pero, aún hay más, hacemos que los ‘embeddings’ de las diferentes modalidad (digamos que texto e imagen) se encuentren en el mismo espacio vectorial y hacemos un entrenamiento conjunto (por ejemplo, con imágenes y sus descripciones textuales) y, de esta forma, tenemos relaciones estructurales y semánticas entre imágenes y texto o entre texto y música pro ejemplo, de forma que luego podamos describir con palabras qué imagen o qué música queremos y el modelo ‘nos entienda’
¡Tachán!
Creo que esto se merece otro fuerte aplauso.
Tercer truco de magia: el mundo físico y los robots
Pero ¡espera!, que tenemos otro truco de magia.
¿Qué pasa con el mundo físico? ¿Qué pasa con los robots?
Pues se está trabajando ya en los denominados VLAM (Vision-Language-Action Models), pensados para el mundo físico y, muy especialmente, el control de robots.
Estos modelos trabajan típicamente con dos entradas: por un lado, un ‘streaming’ de video con lo que recogen las cámaras del robot y una entrada lingüística, típicamente instrucciones de un operador humano.
Hasta ahí, estamos en una situación parecida a los modelos multimodales. Pero lo original es la salida: las acciones. Las acciones son representaciones de lo que tiene que hacer el robot, en algún caso acciones de alto nivel como (‘coge un objeto’) o, en otras instrucciones de más bajo nivel más próximas a lo que entienden los motores y actuadores del robot.
¿Y, cómo se representan las acciones? Lo has adivinado, como tokens y sus correspondientes embeddings. Y, en el entrenamiento se unen conjuntos de datos con información de video, de texto y de las acciones correctas del robot. En el fondo, es como tratar las acciones en el mundo físico como una nueva modalidad.
El público ya está en pie, aplaudiendo enfervorecido…
Ética y alineamiento ¿Un cuarto truco de magia?
Con esto, casi hemos acabado la función, pero te anuncio lo que puede ser el próximo truco de magia, y que tiene que ver con la ética y con los valores.
Cuando nos preocupamos del comportamiento de la inteligencia artificial, cuando pensamos en seguridad y en ética, hablamos, como un mecanismo de protección, del alineamiento, es decir, que los sistemas de inteligencia artificial compartan los valores humanos y se comporten con arreglo a ellos.
Aunque sugerente, este enfoque tiene alguna dificultad y, una de ellas es cómo formalizamos esos valores humanos para que los entienda una máquina.
Bueno, no voy a entrar en detalles porque en este momento no los tengo pero, minutos antes de comenzar la redacción de este post, estaba leyendo un libro en que se mencionaba (aunque sin explicarlo) algún modelo que ya recoge esta idea de los valores y algún ‘dataset’ para entrenar en valores.
Y he creído entender que el modelo se basa en la misma arquitectura transformer que todos los que hemos comentado. No sé si se tratan de alguna forma los valores, de nuevo, como si fuera otra modalidad, si se trata de una suerte de ‘fine-tunning’ de un modelo generativo o si, simplemente, de la misma forma que de manera indirecta los modelos de lenguaje recogían el conocimiento humano, se pueda conseguir mediante un, digamos, ‘dataset etico’, que el modelo tenga embebidos los valores éticos humanos.
En cualquier caso, el planteamiento parece perfectamente viable y muy esperanzador.
Así que, no dejen de volver para la próxima función de magia.
Conclusiones
Es maravilloso contemplar como los modelos generativos de inteligencia artificial, con base a la idea de los tokens y los ‘embeddings’ y usando, claro, avanzadas y sofisticadas arquitecturas de red neuronal y estrategias de entrenamiento, han sido capaces, en poco tiempo, de reconocer y saber utilizar el lenguaje humano, de recoger todo el conocimiento con él expresado, de mezclar ese conocimiento con otros medios como imagen, vídeo o música y parece que ahora están consiguiendo incluso expresar las acciones de robots u otras formas de actuadores sobre el mundo físico y, en un último e inesperado giro de guion, parece que hasta nos pueden servidor para recoger los valores humanos y hacer un guiado ético de sistemas y robots.
Ya lo decía Arthur C. Clarke… cualquier tecnología suficientemente avanzada es indistinguible de la magia.







