Capítulo 03 · Embeddings · 10 min
El espacio del significado
Palabras en un espacio geométrico. Rey − Hombre + Mujer = Reina, y otros milagros vectoriales.
Una ecuación que no debería funcionar
Mira esta operación:
rey − hombre + mujer ≈ reina
Es una ecuación aritmética, como 5 − 2 + 4 = 7. Solo que habla de palabras.
Y funciona. No porque alguien haya programado "rey" y "reina" para parecerse. Sino porque cada palabra fue transformada en una lista de números — un vector — y el álgebra del significado se vuelve simplemente álgebra.
Es una de las ideas más contraintuitivas de los LLM, y también una de las más potentes.
Del token a la posición
En el capítulo anterior vimos que el texto se convierte en una secuencia de token IDs — enteros como 5234 o 91. Pero un entero desnudo no tiene estructura. El token 5234 no está "cerca" ni "lejos" del token 5235. Solo están numerados.
Para que un modelo pueda calcular con palabras, necesita una representación más rica. La solución: asociar a cada token un vector de varios cientos a varios miles de números reales: 768 en un modelo pequeño, 4096 en uno intermedio, 12.288 en GPT-3, 16.384 en Llama 3 405B. Eso es lo que llamamos un embedding.
Al principio del entrenamiento, esos vectores son aleatorios. Poco a poco, a fuerza de predecir millones de palabras siguientes, el modelo aprende a colocarlos de modo que palabras de significado cercano tengan vectores cercanos.
Nadie escribió esa regla. Emerge de la tarea de predicción.
Por qué funciona
Piensa en lo que significa predecir bien la palabra después de "El rey habló con su...". Buenas respuestas son hija, esposa, madre, reina — no motor o algoritmo. Un modelo que predice bien esas continuaciones debe saber que esas palabras son sustituibles en ese contexto.
La forma más económica de memorizar esa equivalencia, cuando tienes miles de millones de parámetros y miles de millones de frases, es agrupar "hija", "esposa", "madre", "reina" en la misma región del espacio vectorial. El gradiente empuja en esa dirección en cada iteración, sin que ningún humano tenga que etiquetarlo.
Los embeddings no se diseñan. Son la huella geométrica de la tarea de predicción.
Manipula el espacio
El espacio de abajo es una caricatura en dos dimensiones — los embeddings reales tienen cientos. Pero las propiedades esenciales están ahí: clusters semánticos, vecindad, aritmética vectorial.
Cada punto es una palabra proyectada en un espacio de significado. Los vecinos comparten un tema — no una ortografía. La flecha muestra la aritmética vectorial que hace posible Rey − Hombre + Mujer = Reina.
Tres cosas que observar:
- Los clusters aparecen sin que los hayamos nombrado. Pasa por encima de
gatoy verásperro,ratón,león. Pasa por encima dealegríay verásamor,miedo,tristeza. Las categorías no existen en los datos — existen en la geometría. - Algunas direcciones tienen sentido. El vector que va de
hombreamujeres más o menos el mismo que va dereyareina, o depadreamadre. Esa regularidad permite la aritmética. Una precisión honesta: esta propiedad se descubrió sobre embeddings estáticos tipo word2vec (2013), donde una palabra = un vector fijo. En la tabla de embeddings de un LLM sigue existiendo, pero mucho más ruidosa — la intuición se sostiene, la igualdad es aproximada. - Las distancias son relativas, no absolutas. Que
gatoesté a distancia 0.32 deperrono significa nada por sí solo. Lo importante es que esté más cerca deperroque depanorabia.
La ilusión 2D
En modelos reales, un embedding tiene entre 768 y 16.384 dimensiones según el tamaño del modelo. ¿Por qué tantas?
Porque en 2D estamos obligados a hacer compromisos. gato debe estar cerca de perro (animales domésticos), de ratón (mamíferos), de tigre (felinos), de pájaro (animal). Todas esas "proximidades" tiran en direcciones distintas — y en 2D chocan.
Con 768 dimensiones, cada faceta del significado puede tener su propia dirección. La palabra gato puede estar cerca de perro en el eje "animal doméstico", cerca de tigre en el eje "felino", cerca de ratón en el eje "pequeño mamífero". El espacio es lo bastante grande para que esas relaciones coexistan sin aplastarse.
Los humanos pensamos que no podemos visualizar 768 dimensiones. A los embeddings les da igual: solo las usan para ordenar categorías sin colisiones.
Medir la cercanía: similitud coseno
Cuando decimos que dos palabras están "cerca" en el espacio de embeddings, ¿cómo lo medimos en concreto? No con la distancia euclidiana clásica. Con la cosine similarity.
La idea: miramos el ángulo entre los dos vectores, no su longitud. Dos vectores que apuntan en la misma dirección tienen una similitud coseno de 1, sin importar su magnitud. Dos vectores ortogonales dan 0. Dos vectores opuestos, −1.
cos(u, v) = (u · v) / (||u|| × ||v||)
¿Por qué esta medida y no otra? Porque la norma de un embedding (su longitud) varía por razones que no tienen que ver con el significado — frecuencia de la palabra, profundidad de la capa. La dirección, en cambio, codifica el sentido. La similitud coseno aisla lo que importa.
Es también la medida que motoriza toda la búsqueda semántica moderna: las bases de datos vectoriales (Pinecone, pgvector, Chroma...) indexan millones de vectores y encuentran los más cercanos a una consulta en un parpadeo. Volvemos a ello en el capítulo 10 (RAG).
Consecuencias
Esta representación geométrica tiene efectos sorprendentes:
- Las erratas suelen colar. Escribe
buenos daisen vez debuenos díasy el modelo lo entiende igualmente. Cuidado con la explicación, es contraintuitiva: no es porque los embeddings de partida se parezcan. El tokenizer cortadaisen piezas que no tienen nada que ver con las dedías, y sus vectores de entrada no guardan relación. Es al atravesar las capas, mirando el contexto alrededor, cuando el modelo va acercando poco a poco las dos representaciones. La robustez no viene de la tabla de embeddings: se reconstruye por el camino. - Los sesgos se incrustan. Si en el corpus de entrenamiento
enfermeraaparece más a menudo en femenino ymédicoen masculino, el álgebra de embeddings lo reflejará. médico − hombre + mujer puede dar enfermera. Mucho trabajo consiste en corregir estos sesgos — volveremos a ello en el capítulo 8. - Todo se vuelve calculable. Una vez que el significado se convierte en vector, podemos sumar, proyectar, medir ángulos. Es exactamente lo que hace el siguiente mecanismo.
Lo siguiente
Tu palabra se convirtió en vector. También la de al lado. Y la anterior. ¿Cómo hace el modelo, a partir de esta secuencia de vectores, para decidir que en "El médico envió a la enfermera a su casa porque **ella**...", el pronombre ella se refiere a la enfermera y no al médico?
Respuesta en el próximo capítulo: la atención, el mecanismo que permite a cada token mirar a todos los demás antes de decidir quién importa.
Actualizado el