Vectores de tokens y similitud

El vector de un token es un registro de la compañía que frecuenta. Funciona bien con palabras de compañía específica y falla con las que aparecen junto a todo.

Cargando simulación interactiva...

Estos vectores cuentan compañía; los de un transformer se aprenden 🖖

Cada número de aquí sale de contar cuántas veces dos tokens aparecen a menos de cuatro posiciones uno de otro, convertido en una puntuación que es alta cuando el emparejamiento es más frecuente de lo que cabría por azar. Es un método real con un nombre real, y no es lo que hay dentro de un modelo de lenguaje. Los embeddings de un transformer empiezan aleatorios y se ajustan durante el entrenamiento hasta que ayudan a predecir el siguiente token, así que acaban codificando lo que facilitó la predicción, incluidas cosas que ningún método de conteo encontraría. Lo que sobrevive a la comparación es la forma: un token se convierte en una dirección, y la cercanía es el ángulo entre direcciones.

Un vecino cercano no es un sinónimo 🖖

Los vecinos de ␣Earth son ␣planet, ␣Sun, ␣Jupiter y ␣Moon, y ninguno significa Tierra. Los de ␣star son ␣yellow, ␣white y ␣red: sus propiedades, no sus sinónimos. Esto es lo que mide realmente la similitud distribucional: no lo que un token significa, sino de qué hablaba el corpus cuando lo usó. Dos tokens puntúan alto cuando se los comenta en la misma compañía, y ser comentados juntos es una relación mucho más amplia que significar lo mismo.

Aquí no hay ningún mapa, y no es una omisión 🖖

Cada vector tiene una dimensión por cada otro token junto al que puede aparecer —2742 en total— y nada en esta página reduce eso a dos. El coseno no lo necesita: el ángulo entre dos direcciones está definido en cualquier número de dimensiones, y la cuadrícula de arriba muestra todos los pares de ángulos directamente. Los diagramas de dispersión planos que has visto en otros sitios son una proyección, elegida por legibilidad y no por exactitud, y dos tokens que allí parecen contiguos pueden estar lejos en el espacio donde viven de verdad los números.

Problema resuelto al detalle

  1. Tierra y Sol a 0,299 en 13 encuentros 6 pasos

    El panel asigna una puntuación de 0,299 a ␣Earth frente a ␣Sun. Earth aparece 230 veces en el corpus y Sun 150, a lo largo de 385.078 tokens que abren 2.770.646 huecos de contexto entre ambos, y los dos se encuentran a 4 tokens o menos entre sí en 13 ocasiones. Calcule qué parte de esos 0,299 aportan esos 13 encuentros.

    1. Una coordenada por palabra de contexto, y los vectores se escalan a longitud 1 antes de comparar nada. Ese escalado es lo que convierte la similitud del coseno en un simple producto escalar: 0,299 es una suma de productos, un término por cada palabra de contexto que los dos tokens tienen en común.

    2. Una coordenada es una razón de sorpresa, no un recuento: la frecuencia con la que el par aparece realmente junto frente a la frecuencia con la que un corpus desordenado los juntaría. La sorpresa negativa se recorta a 0, de modo que el vector registra aquello hacia lo que un token se siente atraído y no tiene forma de registrar lo que evita.

    3. Primero, el azar. Earth ocupa 230 de las 385.078 posiciones y Sun 150, por lo que a lo largo de los 2.770.646 huecos cabría esperar el par 0,6446 veces: menos de 1 aparición en todo el corpus.

    4. Aparecen 13 veces, 20,17 veces lo predicho por el azar, y la coordenada es el logaritmo de esa razón: 3,004. Ambos vectores obtienen el mismo valor, porque el recuento y las dos frecuencias se leen igual en ambas direcciones.

    5. Ahora se escala. El vector de Earth tiene 419 coordenadas positivas y una longitud de 30,381; el de Sun tiene 302 y una longitud de 29,144. Al dividir 3,004 entre cada una, las coordenadas unitarias son 0,0989 y 0,1031.

    6. Su producto, 0,0102, es la contribución total de esos 13 encuentros. Earth y Sun comparten 105 palabras de contexto en total; al sumar los 105 productos se obtiene 0,2992, que la herramienta redondea a 0,299, de modo que la evidencia directa aporta el 3,4 % de la puntuación.

    Respuesta

    La herramienta muestra 0,299, y las ocasiones en que estas dos palabras coinciden realmente representan 0,0102 de esa cifra. El resto es compañía: 105 palabras de contexto compartidas de los 2.742 tokens que tienen un vector. De ello se derivan dos consecuencias. Dado que el recorte elimina todas las coordenadas negativas, cada uno de los 105 productos es positivo, por lo que la escala va de 0 a 1 en lugar de -1 a 1: un par que no tiene nada en común obtiene una puntuación de 0, no lo opuesto a 1. Interpretado como un ángulo, 0,299 equivale a 72,6°, lo que sitúa a Earth y Sun a 17,4° de no compartir nada. Y la clasificación resultante de la puntuación es más precisa que la evidencia en la que se sustenta: ␣planet encabeza la lista de vecinos de Earth con 0,307, superando a Sun por 0,008, mientras que la coordenada única entre Earth y Sun vale por sí sola 0,0102. Una sola palabra de contexto basta para cambiar qué token se considera el más cercano.

Ruta de aprendizaje

Cómo elige un LLM la siguiente palabra

Lleva a Temperatura y muestreo

Referencias (2)

Problemas de ejemplo

  • Mismo tema - ␣Earth y ␣Sun puntúan 0,299. El vecino más cercano de Earth es ␣planet con 0,307: los tokens de astronomía van juntos porque el corpus los trata juntos.
  • Casi sinónimos - ␣speed y ␣velocity puntúan 0,282, y ␣speed es el vecino más cercano de ␣velocity entre los 2742 tokens. Palabras usadas indistintamente frecuentan compañía indistinta.
  • Temas distintos - ␣Earth y ␣velocity puntúan 0,122, menos de la mitad que Earth–Sun. Temas distintos, vecinos distintos.
  • Dos palabras frecuentes - ␣the y ␣is puntúan 0,505, el par más alto de aquí y mayor que ␣Earth y ␣Sun con 0,299. Ninguno comparte significado con el otro; ambos aparecen junto a todo.
  • Estrella y luz - ␣star y ␣light puntúan 0,262, y los vecinos de star son ␣yellow, ␣white y ␣red: el corpus habla de las estrellas por su color.