# Tokens y embeddings: cómo la IA convierte palabras en números

> Una red neuronal no sabe leer. No ve la palabra "gato", ve números. Antes de que un modelo pueda predecir nada, tu texto atraviesa dos traducciones fundamentales: primero se parte en tokens y después cada token se convierte en un vector de números llamado embedding. Entender estas dos piezas explica un montón de comportamientos raros…

- Canonical: [https://blog.floe.com.ar/tokens-y-embeddings-como-la-ia-convierte-palabras-en-numeros/](https://blog.floe.com.ar/tokens-y-embeddings-como-la-ia-convierte-palabras-en-numeros/)

- Author: Juan Cufré

- Published: 2026-07-18T13:00:00+00:00

- Modified: 2026-07-14T19:52:48+00:00

Una red neuronal no sabe leer. No ve la palabra “gato”, ve números. Antes de que un modelo pueda predecir nada, tu texto atraviesa dos traducciones fundamentales: primero se parte en tokens y después cada token se convierte en un vector de números llamado embedding. Entender estas dos piezas explica un montón de comportamientos raros de la IA, desde por qué a veces cuenta mal las letras de una palabra hasta cómo hace búsquedas por significado. Segundo artículo de la serie IA por dentro.

### Paso uno: la tokenización

El modelo trabaja con un vocabulario fijo de piezas llamadas tokens. Un token suele ser un fragmento de palabra, no una palabra entera. La técnica más usada es Byte Pair Encoding (BPE), propuesta para traducción por Sennrich y colegas en 2016 y adoptada por los modelos GPT.

La lógica de BPE: arrancás con letras sueltas y vas fusionando los pares de símbolos más frecuentes del corpus, una y otra vez, hasta armar un vocabulario de un tamaño elegido (por ejemplo, 50.000 o 100.000 tokens). Las palabras comunes terminan siendo un solo token; las raras se parten en pedazos.

```
"perro"        => ["perro"]              (1 token, palabra frecuente)
"inentendible" => ["in", "entend", "ible"] (3 tokens, se arma por partes)
"ChatGPT"      => ["Chat", "G", "PT"]      (nombre propio, se fragmenta)
```

Esto resuelve un dilema práctico. Un vocabulario de palabras enteras sería gigante y se quedaría mudo ante cualquier término nuevo. Un vocabulario de letras sueltas sería chico pero obligaría a secuencias larguísimas. Los subtokens dan el equilibrio: cubren cualquier texto posible con un vocabulario manejable. De paso, esto explica por qué un modelo a veces se traba contando cuántas erres tiene “ferrocarril”: para él esa palabra puede ser uno o dos tokens, no una fila de letras.

### Paso dos: del token al vector

Cada token del vocabulario tiene un número de identificación (un id, del 0 al tamaño del vocabulario). Ese id se usa para buscar una fila en una tabla enorme de números: la matriz de embeddings. Cada fila es un vector de dimensión fija, típicamente entre 768 y varios miles de valores en los modelos grandes.

```
token "gato" => id 5123 => fila 5123 de la matriz de embeddings
                        => [0.12, -0.44, 0.98, ..., 0.03]  (vector de d valores)
```

Ese vector es la forma en que la máquina representa el significado del token. Los valores individuales no tienen un nombre legible; lo que importa es la posición del vector en un espacio de cientos o miles de dimensiones. A ese espacio lo llamamos espacio semántico o espacio latente.

### El espacio semántico: geometría del significado

Acá pasa la magia. Cuando el modelo aprende buenos embeddings, los tokens con significados parecidos quedan cerca en ese espacio. “Perro” y “gato” caen en una región vecina; “auto” y “camión” en otra. La cercanía se mide con la similitud coseno, que compara la dirección de dos vectores.

El trabajo de word2vec (Mikolov y colegas, 2013) mostró algo aún más llamativo: el significado se vuelve aritmética. Las relaciones entre palabras aparecen como direcciones consistentes en el espacio.

```
vector("rey") - vector("hombre") + vector("mujer")  ≈  vector("reina")
vector("Paris") - vector("Francia") + vector("Italia") ≈ vector("Roma")
```

Que una resta de vectores capture la relación “de género” o “capital de país” es la prueba tangible de que el modelo codifica estructura semántica real, sin que nadie se la haya programado a mano. GloVe (Pennington y colegas, 2014) llegó a resultados parecidos partiendo de estadísticas de coocurrencia global.

### Cómo se aprenden esos vectores

word2vec entrena con una tarea sencilla: predecir las palabras que rodean a una dada (skip-gram) o predecir una palabra a partir de su contexto (CBOW). Al forzar al modelo a esa predicción, los vectores se acomodan solos para que las palabras que aparecen en contextos similares terminen cerca. La hipótesis de fondo tiene nombre en lingüística: una palabra se define por la compañía que tiene.

En los modelos de lenguaje modernos, la matriz de embeddings se aprende junto con todo el resto de la red durante el entrenamiento. Y hay un salto clave: los embeddings iniciales son estáticos (un token, un vector fijo), pero adentro del Transformer se vuelven contextuales. La palabra “banco” recibe un vector distinto según hable de un asiento, de una entidad financiera o de un banco de peces. Ese refinamiento por contexto lo produce el mecanismo de atención, que es el tema del próximo artículo.

### Por qué esto te importa en la práctica

Los embeddings son la base de la búsqueda semántica: el sistema compara vectores para encontrar textos con significado parecido aunque no compartan las mismas palabras. Sobre esa idea se apoyan los sistemas que le dan datos frescos a la IA, que vemos cuando lleguemos a RAG. Y en el terreno de negocio, entender que la IA razona por proximidad de significado ayuda a escribir contenido que el modelo ubica bien.

Este artículo continúa lo que arrancamos en [qué es un modelo de lenguaje y por qué predice texto](https://blog.floe.com.ar/como-aprende-a-hablar-una-maquina-que-es-un-modelo-de-lenguaje/). Lo que sigue es el corazón de la IA de hoy: [atención y Transformers](https://blog.floe.com.ar/atencion-y-transformers-la-arquitectura-que-hizo-posible-la-ia-de-hoy/).

### Fuentes

- Mikolov et al. (2013), [Efficient Estimation of Word Representations in Vector Space](https://arxiv.org/abs/1301.3781) (word2vec).

- Pennington et al. (2014), [GloVe: Global Vectors for Word Representation](https://nlp.stanford.edu/projects/glove/).

- Sennrich et al. (2016), [Neural Machine Translation of Rare Words with Subword Units](https://arxiv.org/abs/1508.07909) (BPE).
