Tokenización y embeddings en LLMs

Resumen

Los modelos de lenguaje no leen palabras como tú y yo. Las traducen a números, las ubican en un espacio matemático y operan sobre ellas. Entender ese viaje (de tokenización, vectorización y embedding) es la base para trabajar con cualquier LLM como GPT, Claude o Gemini.

Así como un computador convierte cada letra en un número binario, un LLM convierte cada palabra en un vector dentro de un espacio de cientos o miles de dimensiones. Y ahí ocurre la magia.

¿Qué es la tokenización en un LLM y cómo funciona?

La tokenización es el primer paso: partir el texto en unidades mínimas llamadas tokens. Toma la frase Hola, ¿cómo estás?. Con tokenización por palabra, obtienes tres tokens: hola, cómo y estás [0:50].

Existen otros métodos, como la tokenización por subpalabras, y cada modelo elige el suyo. Por eso, la misma frase puede tener distinto número de tokens según el proveedor.

¿Por qué un mismo texto tiene distinto número de tokens en cada LLM? Porque cada modelo usa su propio tokenizer. Hola, ¿cómo estás? da 3 tokens en GPT, Gemini y Grok, pero 12 en Claude [13:30].

¿Cómo se ven los tokens en herramientas reales?

Una forma práctica de visualizarlo es con GPT For Work, un tokenizer que muestra cómo cada modelo separa el texto y asigna un Token ID único a cada pieza [13:00]. Ese ID es el puente entre la palabra y su representación numérica.

¿Qué es la vectorización y por qué importa en los LLM?

Después de tokenizar, cada token recibe un vector inicial, casi siempre aleatorio. Para el ejemplo, hola podría ser (1,2), cómo (1,3) y estás (3,4) [1:45].

Los vectores no son solo coordenadas decorativas. Permiten medir distancias, hacer restas y sumas, y comparar qué tan parecidas son dos palabras. Esa propiedad es la que abre la puerta al siguiente paso.

¿Qué es un embedding y cómo aprende a representar palabras?

Un embedding es el resultado de entrenar un modelo pequeño que reorganiza esos vectores en el espacio. Su objetivo: agrupar palabras con significados parecidos en zonas cercanas [2:50].

Las palabras de saludo terminan juntas. Los nombres de monarcas también. Y aquí viene lo interesante: como ahora son vectores en un espacio matemático, puedes operar con ellos.

El ejemplo clásico: rey, hombre, mujer y reina

Si restas el vector de hombre al de rey y sumas el de mujer, obtienes un vector muy cercano a reina [3:30]. En el Colab del reto, esa operación da una similitud por coseno de 0.73 con queen, mientras que king y queen tienen 0.65. El resultado queda más cerca de reina que el propio rey.

¿Por qué no es exacto? Porque los embeddings tienen 300 dimensiones (o más) y la operación solo modifica una característica, el género del regente. Las otras 299 siguen ahí.

¿Qué es la similitud por coseno? Es una métrica que mide qué tan cerca están dos vectores en el espacio n dimensional. Cuanto más cerca de 1, más parecidas son las palabras [9:30].

¿Cuántas dimensiones tiene un embedding y por qué tantas?

El lenguaje humano es complejo: español, inglés, mandarín, japonés, jergas, contextos. Reducirlo a dos o tres dimensiones es imposible. Por eso los embeddings reales usan entre 500 y 1000 dimensiones [6:10].

El dataset Word2Vec Google News 300 trabaja con 300 dimensiones y existe una versión con 71000 palabras que pesa varios gigabytes [16:50]. Para visualizarlos, herramientas como TensorFlow Projector proyectan ese espacio n dimensional a tres dimensiones usando PCA (Principal Component Analysis), una técnica de sklearn que reduce dimensionalidad conservando la información más relevante [15:30].

¿Qué muestra TensorFlow Projector con palabras como king o queen?

Al seleccionar king en el dataset Word2Vec de 10000 palabras, los vecinos más cercanos son hijo, reina, trono, emperador, Henry, príncipe y los ordinales tercero, sexto y séptimo [9:00]. Para queen, aparecen Elizabeth, Ana, María, Victoria y rey [10:30].

Las palabras viven en barrios semánticos. Y cada modelo construye sus propios barrios.

¿Por qué los embeddings de OpenAI, Gemini y Claude no son intercambiables?

Cada compañía entrena con técnicas y datasets distintos. Eso significa que el espacio vectorial de OpenAI no coincide con el de Gemini o Claude [12:00]. No puedes mezclar embeddings entre proveedores.

Piénsalo así: cada LLM es un cerebro único que organizó el lenguaje a su manera durante el entrenamiento.

  • Cada modelo tiene su propio tokenizer.
  • Cada modelo tiene su propio espacio de embeddings.
  • Las distancias entre palabras varían según el dataset y la técnica.

¿Cómo replicar embeddings en código con Python y Gensim?

En el Colab del reto, el flujo es directo. Instalas Gensim, cargas el dataset Word2Vec Google News 300 y consultas el embedding de cualquier palabra como un diccionario: model['apple'] devuelve un vector de 300 dimensiones [15:00].

Luego con sklearn.decomposition aplicas PCA para bajar a tres dimensiones, calculas la similitud por coseno y graficas con matplotlib y Axes3D. La función most_similar te devuelve las palabras más cercanas a un vector dado [19:00].

Al probar con el resultado de king - man + woman, las 10 palabras más similares incluyen king, queen, monarca, princesa, sultanes y el consorte de la reina. Te quedas en la misma vecindad semántica aunque hayas hecho una operación matemática.

Ahora te toca a ti: usa el Colab, cambia las palabras y busca qué animales se parecen más al gato o al perro. Cuéntanos en los comentarios qué vecindad descubriste.