Quitarse el esparadrapo de golpe


El mail de hoy va a doler. Tira fuerte y aprieta los dientes


¿Tú eres más de quitarte el esparadrapo de un tirón o poco a poco?

Yo soy sin duda de los de a tirón.

Prefiero sufrir mucho poco rato que sufrir mucho, mucho tiempo.

Llámame persona normal.

No digo raro, digo normal.

Así que te aviso desde ya. El mail de hoy puede que duela.

Pero va a ser un momentito nada más y el dolor se pasa enseguida.

Mira, hace poco…

(O hace mucho, que en el fondo no sé cuándo lees o dejas de leer estos correos, si es que los lees)

Mira, hace poco te contaba que las alucinaciones de los LLMs están bien. Que en el fondo, estos sistemas lo único que hacen es alucinar. Y que en el fondo lo que nosotros queremos hacer es que alucinen como a nosotros nos gustaría que alucinaran.

Es decir.

Miénteme, pero que no se note que me mientes.

Los militantes de partidos políticos sólo entenderán la mitad de esta frase.

Pues la idea es que empecemos a explorar cómo podemos guiar a estos modelos de inteligencia artificial para que alucinen como queremos que alucinen.

Y para esto necesito contarte antes un temazo que no es trivial.

Y que seguramente no puedas aplicar directamente en tu vida.

Pero que es la base para todo lo que viene después.

🎼 Es como entender armonía antes de tocar un instrumento.
⛕ Es como conocer las señales de tráfico antes de conducir
🧪 Es como entender química antes de diseñar tu propia droga

Así que, vamos a quitarnos hoy el esparadrapo de un tirón y eso que nos ahorramos luego.

Hoy vamos a hablar de cómo los modelos del lenguaje comprenden el mundo.

Hoy vamos a hablar de… ¡espacios latentes!

Pero antes…

Un pequeño glosario de mierda.

Al lío.


Un pequeño glosario de mierda

Token: Es la unidad de trabajo indivisible de los LLMs. Puedes pensar en ellos como nuestros monemas. ¿No recuerdas lo que eran los monemas? Pues es el polvo mágico con el que se forman las palabras. Son las piezas de lego de nuestro vocabulario. Son las proteínas que estructuran nuestro léxico.

Por ejemplo:

super- es un prefijo de tipo derivativo que denota superioridad, excelencia o exceso.

gilí: es un lexema que proviene del caló jilí y que significa tonto, bobo, alelado. La sublimación del desprecio, no siempre afectuoso, en España.

-polla: puede significar varias cosas: pene (¡ha dicho pene!), hembra del pollo, muchacha, apuesta (de apostar, no de que la muchacha de antes sea apuesta, que quizás sí o quizás no), chuleta (de las que utilizabas en los exámenes), esputo… y también como intensificador vulgarizador. Dependiendo del contexto funcionará de una forma o de otra

-s: que hay mucho (siendo mucho más de uno) de algo. Plural, vaya.

Pues algo así son los tokens.

Insisto: algo así. Ya suficiente tengo con ponerme en contra a toda la comunidad de frikis expertos en IA, como para ponerme en contra también a toda la comunidad de lingüistas.

A estos últimos, sólo una cosa más: igual que sigo llamando Twitter a Twitter, seguiré utilizando la tilde diacrítica en “sólo”.

Y de esta burra no me bajo.

Palabra: “Palabra” es una palabra. Y “token” es una palabra. Hay palabras que tienen un solo monema, como “idiota”. Y hay palabras que tienen varios monemas como “supergilipollas”

Frase: Esto que estás leyendo es una frase. Una frase está formada por una o más palabras, que a su vez están formadas por uno o más tokens.

“Qué pedazo de versión de Sultans of swing en directo se marcaron los Dire Straits en Wembley durante su gira Brothers in arms en 1985” es una frase.

Ole” también es una frase.

Embedding: Es un vector numérico que representa un token, una palabra o una frase.

Un vector numérico, a su vez, es básicamente una lista de números.

[1] es un vector
[2, 5, 1] es otro vector
[7890, 9273, 2803, 87269] es también un vector

Con los vectores se pueden hacer operaciones.

Y, por lo tanto, con los embeddings también.

Por ejemplo, intenta resolver estas operaciones matemáticas

👑 Rey - Hombre + Mujer = ?
🛞 Coche - 4 ruedas + 2 ruedas = ?
🙅‍♂️ Ciudadano - Inteligencia + Partido político = ?

Las respuestas al final del correo.

Dimensionalidad: Es el tamaño de un vector. O de un embedding, porque son lo mismo.

Por ejemplo:

[1] es un vector de dimensionalidad 1, porque tiene un solo número
[2, 5, 1] es un vector de dimensionalidad 3, porque tiene tres números
[7890, 9273, 2803, 87269] es un vector de dimensionalidad 4 porque tiene cuatro números.

Esto en mi época se daba en el colegio. Ahora explicar esto igual es ofensivo para algún colectivo, vete a saber.

Espacio de coordenadas: Un espacio donde se pueden “colocar” diferentes puntos representados por vectores. Este espacio viene definido por la dimensionalidad de los susodichos vectores.

Por ejemplo:

Los militantes políticos de base viven en un mundo con una sola dimensión. Izquierda y derecha. Bueno y malo. Para ellos no hay nada más. Y por eso son capaces de clasificarnos a ti, a mí y hasta a seres inertes como una pala para quitar nieve, una central nuclear o una bici en “de derechas” o “de izquierdas”.

Un mundo de una sola coordenada.
Un mundo de una sola dimensión.
Un mundo sencillo para mentes sencillas.

Cuando vamos a un restaurante, la mayoría de nosotros pasamos a vivir en un espacio de dos dimensiones que llamamos relación calidad/precio.

En este espacio hay una región cojonuda que es la de calidad alta y precio bajo, y otra región a evitar que es la de precio alto y calidad baja.

Un espacio en dos dimensiones. Truconsejo: hay que evitar la zona roja

Ojo, que hay gente que se lo curra mucho más y le meten muchas más dimensiones a esto del yantar.

Yo los llamo los gastrolistos y son una fuente fiable de sitios para ir a comer.

Super Mario también solía vivir en un mundo de dos dimensiones… hasta que llegó la Nintendo 64 y le añadieron la tercera dimensión

Cuatro dimensiones si contamos el tiempo.

La cuarta dimensión es mi favorita. Es la que nos permite estar vivos.

A mí es que lo de estar vivo, personalmente, me encanta.

Y hasta aquí, como mucho, llegamos los humanos. Aunque hay quien dice ser capaz de visualizar la quinta dimensión.

El hermano de Nolan lo hizo pero parece que no gustó mucho.

A mí sí, aunque sigo sin entenderlo

Bien. Pues los LLMs manejan espacios vectoriales de alrededor de unos miles de dimensiones.

No trates de imaginarlo.

No puedes.

Créeme.

NO PUEDES.

Y si crees que puedes, trata de explicarme qué significa que dos objetos estén cerca el uno del otro en un espacio de cinco dimensiones.

No te pido 1000. Te pido cinco.

Dicen que Coco lo intentó.

Y que se volvió loco.

Que cuando llegó a la sexta dimensión se había dado a las drogas.

Y que en la 42 se convirtió en toalla y nunca más se le volvió a ver.

Coco viajando por dimensiones de más sin mapa


El espacio latente: un espacio semántico vectorial de múltiples dimensiones desconocidas.

Mira, si con este título que acabo de poner sigues leyendo, mis dieses.

Resulta que los LLMs internamente lo que hacen es manejar un espacio de unas mil dimensiones aproximadamente donde son capaces de “colocar” tokens, palabras y frases en función de su sentido semántico (o algo que se asemeja bastante a ello).

Es decir, que los tokens, palabras y frases que más se parezcan entre sí estarán más cerca unas de otras.

Una palabra como Madrid estará cerca de Barcelona, Valladolid y Bilbao, pero estará más lejos de caballo, Júpiter o “vivienda barata”.

Madrid estará más cerca de Londres, París y Tokio de lo que lo estarán Salamanca, Nueva York o Suiza.

Igual que la palabra “nacionalismo” debería estar muy cerca de “racismo”, “machismo” y “clasismo”.

Al menos sería lo normal.

Lo importante: los LLMs son capaces de colocar tokens, palabras y frases de forma que las que más se parezcan entre sí estén cerca las unas de las otras.

Y que además es fácil calcular si dos puntos en este espacio están cerca o están lejos.

Somos incapaces de visualizar un espacio de mil dimensiones

Pero las matemáticas lo hacen por nosotros.

Si algún día conseguimos saber si Dios existe o no, será gracias a las matemáticas.

–¿Y lo de desconocidas a qué viene?

¿Desconocidas?

Sí, lo pone en el título

Aaaahhh… sí, claro.

Te vas a reir.

El tema es que esas 1000 dimensiones (dimensión arriba, dimensión abajo) de las que estamos hablando no sabemos qué significan.

–¿PERDÓN?

Pues eso, que no sabemos qué significan.

Que uno esperaría que una dimensión fueran animales, y otra fueran colores, y otra fueran canciones de los Beatles.

Pero no.

No tenemos ni idea de qué significan.

¿En serio?

En serio. Ni puta idea.

¿Y entonces cómo sabemos cómo…?

No lo sabemos

Joder, pues vaya movida

Sí.

Vaya movida.

¿Seguimos?

Seguimos.


Vamos a trucar nuestro dado

Bien.

Tenemos a nuestro LLM.

Y el LLM tiene su espacio latente.

Y además, tiene su vocabulario.

Este vocabulario, ya lo hemos visto en el pequeño glosario de mierda, son los tokens: las piezas de lego básicas con las que iremos construyendo palabras y frases.

De forma que un LLM tiene, de salida, todos sus tokens bien colocaditos en su espacio latente.

Los tokens que más se parecen unos a otros cercanos entre sí. Los que no se parecen, alejados.

Y ahora nos vamos a poner un poco filosóficos.

De alguna forma, es como si en ese espacio latente donde ya están colocadas todas las piezas de construcción del lenguaje, estuvieran ocultas TODAS las posibles frases que se pueden construir.

Alrededor de infinitas, millón arriba millón abajo.

Y para “descubrirlas” simplemente tenemos que trazar un camino entre los diferentes tokens para formar palabras. Y luego frases.

Un token cada vez.

Caminante no hay camino, se hace camino al andar.

Ya vimos en su día que lo único que hacen estos sistemas es predecir el siguiente token.

Y también vimos muy por encima que estas probabilidades salen de haber leído muchas veces la misma información una y otra vez.

Que si tú lees muchas veces que la capital de Surinam es Paramaribo, pues asumes que la capital de Surinam es Paramaribo.

Los LLMs igual.

Lo que no te he contado hasta ahora es que esas probabilidades no son siempre las mismas.

Por ejemplo.

Si le pregunto cuál es la capital de Surinam, me responderá algo como:

La capital de Surinam es Paramaribo. Es la ciudad más grande del país y se encuentra en la costa norte, cerca de la desembocadura del río Surinam en el océano Atlántico. Paramaribo es también el centro político, económico y cultural de Surinam.

¿Pero y si le digo que conteste sólo respuestas incorrectas?

Me responde que:

Ah, ¡una pregunta sobre geografía! Déjame pensar… estoy bastante seguro de que la capital de Surinam es Nairobi. Sí, definitivamente es Nairobi. Es una ciudad muy bonita a orillas del río… eh… Amazonas, creo. ¡Espero haberte ayudado con esta información!

¿Qué es lo que pasa ahí?

¿Por qué me da una respuesta incorrecta?

–Porque se lo has dicho

Ya, joder. Ya sé que se lo he dicho, ya. ¿Pero qué es lo que está pasando por debajo?

Lo que está pasando es que a la hora de predecir el siguiente token las probabilidades se calculan teniendo en cuenta toda la frase de entrada.

La frase de entrada condiciona las probabilidades de cada token para que éste sea elegido.

Voy a volver a repetirlo porque esto es importante.

La frase de entrada condiciona las probabilidades de cada token para que éste sea seleccionado.

Es decir, internamente el modelo lee la frase de entrada y asigna una probabilidad a todos y cada uno de los tokens que pueden ser elegidos.

Uno a uno. Si son 100.000 tokens los que hay en su vocabulario, pues a los 100.000

En función de todo lo que venga antes.

Por eso, cuando le pedimos que conteste mal, lo que está haciendo el modelo es reducir la probabilidad de que aparezca “Paramaribo”.

De alguna manera, lo que está haciendo la frase de entrada es decirle al LLM algo como…

“Hey LLM, ¿ves esa región de tu espacio latente que está por ahí? ¿Esa región del espacio que está lejos de las capitales del mundo? Pues ve a pescar por ahí”.

Es decir, le estamos diciendo que navegue por cierta región.

O que evite alguna otra.

Tú igual no te acuerdas porque eres muy joven, pero hubo un tiempo en el que las personas nos íbamos de viaje en coche y no teníamos GPS.

Ni Google Maps.

Y llegábamos a los sitios preguntando.

– Disculpe… estoy buscando la Rúa Campo, en Malpica, en La Coruña

– Uy, ni idea, pero mire: a Galicia se va por la A-6, siga las indicaciones y cuando llegue a la A-6, continúe unos 500 km. Una vez esté por ahí, pare en una gasolinera y pregunte.

Y cuando llegabas a Galicia preguntabas y te dirigían a Malpica.

Y luego en Malpica te enviaban a la Rua Campo.

Pues esto de los LLM es algo parecido.

La frase que se utiliza para predecir el siguiente token, condiciona el token que la va a suceder.

Y token a token, paso a paso, se va llegando a la respuesta final del LLM.

Token a token el LLM habrá construido una alucinación que nos resulte suficientemente convincente.

Paso a paso el LLM habrá conseguido mentirnos sin que parezca que nos miente.

Y hay técnicas muy útiles para dirigir al LLM.

Para decirle, “chsss. Cuidado, jefe, no vayas por ahí”.

O para decirle “apunta con cuidado en esa dirección, pero ojo, que es fácil perderte”

Pero esto te lo cuento en otro correo.

Hoy nos teníamos que quitar el esparadrapo.

Y ya nos lo hemos quitado.

Esto del espacio latente, para mí, es el descubrimiento tecnológico más sorprendentente de los últimos 4 000 siglos.

No digo importante.

Digo sorprendentente.

Que te veo venir.

Es básicamente asomarse a cómo una mente digital organiza su conocimiento.

Y hablando de asomarse.

Yo tengo que asomarme a la calle a buscar a la hija atómica y la mujer atómica.

Ambas, “Hija Atómica” y “Mujer Atómica”, están muy muy cerca de la palabra “felicidad” en el espacio latente de mi cerebro.

Y “abrazo” también.

Un abrazo, el Notas Atómico ⚛️


Qué es un espacio latente

Un espacio latente es una representación matemática de datos que se han compactado en función de una serie de características comunes.

Esta compactación tiene como efecto directo la compresión de la información y como efecto secundario la generación de abstracciones semánticas.

Conceptos que semánticamente sean parecidos aparecerán cercanos unos de otros en el espacio latente


P.D: Si te ha gustado esta nota, reenvíasela a alguien que tengas cerca de los conceptos “gustar”, “caer bien”, “le debo un favor” o “amor” en tu espacio latente.

P.D.2: Si no te ha gustado, reenvíasela a alguien que tengas cerca de los conceptos “trolear cuando puedas”, “se va a cagar”, “le debo una a este/a cabrón/a”

P.D.3: Si te ha gustado y no estás suscrito puedes hacerlo en https://notas-atomicas.com

P.D.5: ¿Qué ha pasado con la posdata 4?

P.D.4: Es verdad, perdón. Me la había saltado

P.D.6: Aquí se me abren varias posibilidades para continuar y me gustaría saber tu opinión al respecto. Luego haré lo que me dé la gana, ya sabes. Pero mi interés por tu opinión es honesto. ¿Sigo por aquí? ¿Sigo por otro lado? ¿Me doy de baja a mí mismo de esta newsletter justo debajo de la siguiente y penúltima posdata?

P.D.7: Tu opinión, si quieres, aquí 👉 Primera encuesta atómica (o contestando a este correo)

P.D.8: la solución a las operaciones matemáticas

🙅‍♂️ Ciudadano - Inteligencia + Partido político = Militante

🛞 Coche - 4 ruedas + 2 ruedas = Moto

👑 Rey - Hombre + Mujer = Reina

Si todavía no estás suscrito...

...puedes hacerlo aquí abajo 👇.

Aunque mi recomendación es que dediques tu tiempo a leer cosas de verdad.

Lo digo en serio.