Los tokens no son una unidad universal del lenguaje. Son una forma específica de cada modelo de convertir el texto en una secuencia de entradas numeradas que el modelo puede procesar.
Un token es una entrada de un libro de códigos
Piensa en un tokenizador como un libro de códigos compartido por el software que prepara el texto y el LLM que lo procesa. El libro de códigos contiene secuencias de texto o bytes permitidas y asigna a cada una un identificador entero.
Supongamos que un tokenizador ilustrativo divide:
The cat sat.
en:
The | cat | sat | .
Esas partes visibles podrían corresponder a identificadores como:
[814, 3290, 7112, 13]
Los números son inventados para mostrar el mecanismo. Los identificadores y los límites reales dependen del tokenizador. Un espacio inicial puede agruparse con la palabra siguiente, por lo que cat y cat pueden ser entradas diferentes.
En las explicaciones cotidianas, token puede significar tanto la parte visible como su identificador. La distinción importa: el modelo recibe los identificadores, no pequeñas cadenas de texto legible. Cada identificador selecciona una representación numérica inicial aprendida con la que el modelo puede trabajar.
Por qué los modelos usan partes más pequeñas que las palabras
Un vocabulario de palabras completas necesitaría una entrada para cada nombre, ortografía, flexión, término técnico y palabra recién acuñada que el modelo pudiera encontrar. Cualquier palabra ausente sería desconocida.
Un vocabulario compuesto únicamente por caracteres evita las palabras desconocidas, pero convierte el texto corriente en secuencias mucho más largas. Esto aumenta el número de pasos que el modelo debe procesar.
La tokenización de subpalabras es un punto intermedio. Las secuencias frecuentes pueden tener sus propias entradas, mientras que las palabras poco frecuentes pueden ensamblarse a partir de entradas más pequeñas. Una palabra común puede ser un solo token. Un nombre poco frecuente puede convertirse en varios fragmentos. La puntuación y los espacios también pueden ser tokens o formar parte de ellos.
Los fragmentos se eligen para ofrecer una cobertura útil y secuencias compactas, no porque cada fragmento tenga un significado independiente de diccionario. Una parte como ment, una palabra precedida por un espacio o una secuencia de bytes es un token válido si está en el vocabulario del tokenizador.
Cómo funciona la tokenización
El procedimiento exacto varía, pero el recorrido por un modelo de texto tiene la misma forma general:
text
↓
model-specific tokenizer
↓
token pieces
↓
integer token IDs
↓
language model
↓
next token ID
↓
tokenizer decoder
↓
generated textPrimero, el tokenizador aplica sus reglas fijas a la entrada. Según su diseño, puede normalizar el texto, hacer una división inicial y después segmentarlo con un algoritmo como BPE, Unigram o WordPiece.
A continuación, busca cada parte resultante en su vocabulario y emite el identificador correspondiente. También puede añadir identificadores especiales para marcar límites o estructurar la solicitud, entre otros fines. Estos tokens especiales no necesariamente aparecen como texto visible.
El modelo procesa los identificadores de entrada. Al generar texto, asigna probabilidades a los posibles identificadores del token siguiente y selecciona uno según sus ajustes de decodificación. Ese nuevo identificador se incorpora a la secuencia y el proceso se repite. Por último, el decodificador convierte los identificadores generados de nuevo en bytes o texto.
La tokenización normalmente es reversible para una secuencia completa y válida: decodificar los identificadores reproduce el texto. Un token individual no siempre se decodifica como un carácter legible por sí solo, especialmente con tokenizadores basados en bytes. Puede ser necesario combinar primero los tokens vecinos.
Una palabra puede tener distintos recuentos de tokens
No existe una conversión exacta de palabras a tokens.
En un ejemplo de tokenizador de OpenAI, antidisestablishmentarianism se divide mediante una codificación en cinco tokens:
ant | idis | establishment | arian | ism
Otra codificación lo divide en seis:
ant | idis | establish | ment | arian | ism
Ninguna de las dos divisiones cambia la ortografía. Ninguna demuestra que un modelo entienda mejor la palabra. Las codificaciones simplemente tienen vocabularios y reglas de segmentación diferentes.
Los recuentos también varían según el idioma, los espacios, la puntuación, el código, los emojis y las secuencias de caracteres inusuales. Incluso una pequeña modificación puede cambiar los límites a su alrededor. Los promedios aproximados pueden ayudar a hacer una estimación inicial, pero el único recuento fiable procede del tokenizador o del endpoint de recuento del modelo y de la solicitud completa que se vaya a utilizar.
Por qué importan los tokens
Determinan cuánto cabe. La ventana de contexto de un modelo se mide en tokens, no en palabras. La entrada, los mensajes anteriores, la salida generada y, a veces, otro contenido de la solicitud compiten por esa capacidad según las reglas del proveedor.
Miden el uso. Muchas API de IA informan y cobran por los tokens de entrada y los tokens de salida por separado. Las tarifas y categorías varían, por lo que un recuento de tokens por sí solo no es un precio.
Afectan al tiempo de generación. La generación de texto avanza token a token. Una mayor cantidad de tokens de salida generalmente requiere más pasos de generación, aunque la latencia total también depende del modelo, el hardware, la carga y el procesamiento de la entrada.
Determinan la eficiencia del texto. Dos cadenas de longitud similar para un lector pueden consumir cantidades diferentes de tokens. Esto importa cuando una aplicación procesa varios idiomas, código fuente, datos estructurados o identificadores inusuales.
Conectan el tokenizador con el modelo. El modelo aprende con una asignación concreta de identificadores a entradas del vocabulario. Sustituir el tokenizador por otro no relacionado no es un cambio meramente estético: el mismo identificador podría apuntar a una parte diferente, por lo que el modelo recibiría la representación aprendida incorrecta.
Conceptos erróneos comunes
Un token es una palabra
A veces, una palabra corta y común es un token. Un token también puede ser un fragmento de palabra, un signo de puntuación, un fragmento que incluye un espacio, un carácter o una secuencia de bytes. Considera cualquier cifra de tokens por palabra como una estimación para un tipo de texto concreto.
Los límites de los tokens muestran lo que el modelo piensa que significa un concepto
Los límites de los tokens proceden del vocabulario y las reglas de segmentación del tokenizador. No son un mapa de los conceptos del modelo. Que una palabra se divida en cuatro tokens no significa necesariamente que contenga cuatro ideas, y que una frase se almacene como un solo token no implica que se entienda como una idea indivisible.
Todos los modelos cuentan el mismo texto de la misma manera
Los distintos vocabularios producen límites y recuentos diferentes. Incluso los modelos de un mismo proveedor pueden utilizar codificaciones distintas. Cuenta con la interfaz del modelo específico en lugar de reutilizar el recuento de otro modelo.
Solo cuenta el texto que escribiste
Una solicitud de API puede incluir instrucciones del sistema, historial de la conversación, definiciones de herramientas, representaciones de archivos o imágenes y formato añadido por el servicio. Parte de esto puede contribuir al recuento de tokens aunque no sea visible en la interfaz final del chat. Cuando el recuento exacto importa, utiliza el informe de uso del proveedor o una herramienta de recuento para la solicitud completa.
Más tokens significan más significado
El recuento de tokens mide la longitud de la representación del modelo, no la cantidad ni la calidad de la información. El texto repetitivo puede utilizar muchos tokens. Una fórmula compacta puede utilizar pocos tokens y transmitir un significado considerable.
Los tokens de IA son tokens de criptomonedas
Comparten el nombre, no el mecanismo. Un token de texto es una unidad del vocabulario de un modelo. Un token de criptomonedas es un activo digital o un registro en una cadena de bloques.
Cómo encajan los tokens en el sistema más amplio
El vocabulario del tokenizador normalmente se establece antes de entrenar el modelo de lenguaje. El texto de entrenamiento se convierte en identificadores con ese tokenizador, y el modelo aprende patrones sobre esos identificadores. En el momento de la inferencia, la misma asignación convierte una solicitud nueva en identificadores de entrada y convierte los identificadores generados de nuevo en texto.
Esto hace que el tokenizador forme parte del modelo, aunque se distribuya como un archivo o una biblioteca independientes. El modelo, el vocabulario, las reglas del tokenizador y las definiciones de tokens especiales deben ser compatibles.
La palabra token también puede utilizarse de forma más amplia en sistemas multimodales. Un proveedor puede convertir fragmentos de imágenes, intervalos de audio o fotogramas de vídeo en unidades que informa como tokens. Esas unidades cumplen una función similar en el procesamiento y la contabilidad del modelo, pero no son partes producidas por un tokenizador de texto.
Qué leer a continuación
Lee ¿Qué es una ventana de contexto? para ver cómo los tokens establecen el límite de trabajo de un modelo. Para conocer las categorías de uso de las API, continúa con Tokens de entrada frente a tokens de salida y de razonamiento.