Un token es la unidad de texto que un modelo de lenguaje lee y escribe. Puede ser una palabra completa, parte de una palabra, un solo carácter, un signo de puntuación o un espacio unido a una palabra. Antes de que un modelo vea cualquier texto, una herramienta llamada tokenizador lo corta en tokens y sustituye cada uno por un número que el modelo puede procesar.
Un gran modelo de lenguaje trabaja por completo con tokens. Recibe una secuencia de números de token, predice el siguiente token más probable, lo añade a la secuencia y repite. Las palabras que ves en una respuesta son esos tokens convertidos de nuevo en texto.
¿Cómo divide un modelo el texto en tokens?
Cada modelo tiene un vocabulario fijo, una lista de decenas de miles de fragmentos de texto con un número de identificación para cada uno. El vocabulario se construye una sola vez, antes del entrenamiento, a partir de una gran muestra de texto. La mayoría de los modelos modernos usan un método llamado byte pair encoding, que funciona más o menos así:
- Empieza con caracteres individuales (o bytes) como vocabulario.
- Cuenta qué pares de fragmentos vecinos aparecen con más frecuencia en el texto de muestra.
- Fusiona el par más frecuente en un fragmento nuevo y más largo, y añádelo al vocabulario.
- Repite hasta que el vocabulario alcance su tamaño objetivo.
En el vocabulario terminado, las palabras comunes como "the" o "search" son tokens únicos, mientras que las palabras poco frecuentes se forman con varios fragmentos más pequeños. Un tokenizador podría dividir "tokenization" en "token" e "ization", y un nombre de marca poco habitual en tres o cuatro fragmentos. Los espacios iniciales suelen formar parte del token, así que " search" y "search" pueden tener identificadores distintos.
Las distintas familias de modelos usan tokenizadores distintos, por lo que la misma frase puede producir un número diferente de tokens en dos modelos.
¿Por qué los modelos usan tokens en lugar de palabras o letras?
Los tokens son un término medio entre dos opciones peores. Un vocabulario de palabras completas necesitaría millones de entradas y aun así fallaría con palabras nuevas, erratas, códigos de producto y nombres. Un vocabulario de letras sueltas podría manejar cualquier cosa, pero cada frase se convertiría en una secuencia muy larga, y el modelo dedicaría la mayor parte de su capacidad a aprender a deletrear.
Los tokens de subpalabras mantienen las secuencias razonablemente cortas y a la vez cubren cualquier entrada. Una palabra que el modelo nunca ha visto siempre puede escribirse como una combinación de fragmentos más pequeños que conoce.
¿Cuántos tokens tiene un texto?
El recuento depende del tokenizador y del tipo de texto. Para prosa corriente en inglés, una regla práctica habitual es que un token equivale a unos cuatro caracteres, o a unas tres cuartas partes de una palabra. Otros tipos de texto se tokenizan de forma diferente:
| Texto | Tokenización típica |
|---|---|
| Palabras comunes en inglés | Un token cada una |
| Palabras poco frecuentes, nombres, términos técnicos | Varios tokens cada uno |
| Números largos, precios, fechas | Divididos en grupos cortos de dígitos |
| Idiomas con menos datos de entrenamiento | Más tokens por palabra que en inglés |
| HTML, código, espacios repetidos | Muchos tokens para poco contenido legible |
Por eso, una página en alemán, polaco o japonés suele usar más tokens que el mismo contenido en inglés. El marcado y los restos de texto de navegación también añaden tokens sin añadir significado.
¿Qué limitan los tokens?
Casi todos los límites prácticos de un modelo de lenguaje se miden en tokens.
- Ventana de contexto. Es el número máximo de tokens que el modelo puede considerar a la vez, incluidas las instrucciones, la conversación, los documentos recuperados y la respuesta que está escribiendo. El texto que supera el límite se descarta o nunca se envía.
- Longitud de salida. Las respuestas tienen un tope de tokens fijado, y por eso las respuestas largas a veces se cortan a mitad de frase.
- Coste. Los proveedores de API cobran por token, normalmente con tarifas distintas para los tokens de entrada y de salida.
- Velocidad. El modelo produce un token en cada paso, así que una respuesta más larga tarda más en generarse.
Las incrustaciones (embeddings) también parten de tokens. En la búsqueda semántica, un pasaje se tokeniza y luego se convierte en una lista de números que representa su significado, y los modelos de embedding tienen sus propios límites de tokens por pasaje.
¿Por qué los tokens provocan algunos errores extraños en los modelos?
El modelo ve identificadores de token, así que no tiene una visión directa de las letras que hay dentro de un token. Cuando se le pide contar las letras de una palabra, invertir una cadena o comprobar una rima, trabaja a partir de fragmentos que no puede inspeccionar, y puede equivocarse en estas tareas sencillas. La aritmética con números largos tiene un problema parecido, ya que los dígitos pueden agruparse de formas que no coinciden con los valores posicionales.
La tokenización también explica por qué la ortografía importa en los nombres. Una marca escrita siempre igual es una secuencia estable de tokens que el modelo puede asociar con los datos que ha visto. Varias grafías del mismo nombre se dividen en secuencias distintas, y el modelo puede tratarlas como cosas separadas.
¿Qué significan los tokens para un sitio web?
Los sistemas de búsqueda con IA usan generación aumentada por recuperación: obtienen páginas, las dividen en pasajes y pasan una selección al modelo. Cada pasaje cuesta tokens, y la ventana de contexto solo tiene espacio para un número limitado de ellos, así que el sistema conserva un pequeño conjunto de pasajes cortos de cada fuente y descarta el resto.
Los pasajes suelen cortarse según el recuento de tokens, a menudo de unos cientos de tokens cada uno. Un dato que está en un párrafo compacto cerca de un encabezado claro sobrevive intacto a ese corte. Si el mismo dato está repartido entre una introducción larga, una barra lateral y una nota al pie, puede quedar dividido entre fragmentos y perder su contexto. Las páginas cargadas de texto repetitivo, scripts o menús repetidos malgastan parte del presupuesto en texto que no responde a nada.
El paso de clasificación que elige qué pasajes llegan al modelo se explica en cómo elige la búsqueda con IA qué fuentes citar. Para un sitio web, esto significa que cada afirmación que merezca aparecer en una respuesta debe entenderse por sí sola en un tramo corto de texto, escrita con palabras sencillas y con los nombres escritos igual en todas partes.