Qué es en realidad un token
Un token es un fragmento de texto, algo entre un carácter y una palabra, según el tokenizador y el contenido. En prosa limpia en inglés, un token promedia más o menos cuatro caracteres. La palabra inglesa tokenization puede partirse en tres tokens. La palabra the es uno solo. Un espacio antes de una palabra muchas veces se funde en el mismo token que la palabra.
El token no es la palabra. Es la unidad con la que el modelo trabaja de verdad: lo que convierte en un vector, a lo que le presta atención y lo que predice a continuación. Todo lo que está alrededor (límites de contexto, precios, límites de tasa) se mide en tokens, no en palabras ni en caracteres.
Cómo se construye un tokenizador
La mayoría de los tokenizadores modernos se entrenan con Byte-Pair Encoding (BPE). El algoritmo parte de bytes individuales y luego fusiona una y otra vez el par adyacente más frecuente en un símbolo nuevo. Si se repite lo suficiente sobre un corpus grande de texto, se llega a un vocabulario de 50,000 a 100,000 símbolos: las palabras comunes del inglés se vuelven tokens únicos, las más raras se parten y las cadenas nunca vistas se reducen a bytes individuales.
El vocabulario se fija durante el entrenamiento y se distribuye junto con el modelo. GPT-2 y GPT-3 usan un vocabulario de 50,257 tokens. GPT-4 y Claude usan vocabularios actualizados que cubren mejor el código, las escrituras no latinas y los emojis. El tokenizador no es el modelo: es una tabla de consulta determinista que corre antes de la inferencia y nunca cambia durante una conversación.
SentencePiece (que usan LLaMA, Gemma y Mistral) funciona de forma parecida, pero se entrena directamente sobre bytes UTF-8 sin procesar, lo que le da una cobertura multilingüe más fuerte desde el principio. Tiktoken (la biblioteca de código abierto de OpenAI) implementa la misma lógica BPE, pero está optimizada para la velocidad en Python.
Por qué el mismo texto da conteos de tokens distintos en cada modelo
Cada familia de modelos trae su propio tokenizador, entrenado con su propio corpus y sus propias reglas de fusión. Una oración que da 18 tokens con el vocabulario cl100k_base de GPT-4 puede dar 23 con GPT-2 y 16 con un modelo SentencePiece entrenado con más texto en inglés. El tamaño del vocabulario importa: un vocabulario más grande permite representar más subcadenas comunes como tokens únicos, lo que baja los conteos.
Las versiones de los tokenizadores también cambian con el tiempo. Ajustes menores a las reglas de fusión o al manejo de los tokens especiales pueden mover un poco los conteos para la misma entrada. Por eso los campos de conteo de tokens de los conjuntos de datos ya armados a veces no coinciden con un cálculo nuevo: el campo se escribió con una versión un poco más vieja del tokenizador.
Caracteres por token: la proporción práctica
La proporción de caracteres por token es la métrica útil más simple de la capa de tokenización. Se calcula dividiendo la longitud en caracteres de un documento entre su número de tokens. Para prosa típica en inglés, ronda 4.0. Para código, se acerca más a 3.5 (los símbolos se tokenizan de forma ineficiente). Para texto en chino o japonés puede bajar de 2.0: cada carácter suele volverse su propio token o casi, lo que hace que esos idiomas sean bastante más caros por unidad de significado.
¿Por qué importa esto en producción? Porque llamar a un tokenizador en tiempo de ejecución para cada documento antes de decidir si se envía agrega latencia. Si calibró la proporción de caracteres por token para su tipo de contenido específico (prosa en inglés, JSON estructurado, filas de CSV), puede estimar el número de tokens solo con la longitud en caracteres, con una operación de cadena barata, y decidir con la estimación en lugar del conteo exacto.
# Calibre una vez contra una muestra real chars_per_token = total_chars / total_tokens # p. ej. 3.8 para su tipo de contenido # Estime sin llamar al tokenizador estimated_tokens = len(text) / chars_per_token estimated_cost = estimated_tokens * price_per_token
Los tokens especiales y la estructura que llevan
Además de los tokens de texto, todo vocabulario reserva un conjunto de tokens especiales que llevan un significado estructural: <|endoftext|> marca los límites entre documentos durante el entrenamiento, y <|im_start|> y <|im_end|> delimitan los turnos de una conversación con formato de chat. No aparecen en las respuestas: son señales de control a las que el modelo aprendió a responder durante el ajuste fino.
Por eso también la inyección de prompts puede funcionar: si el texto que manda un usuario contiene cadenas que parecen marcadores de tokens especiales, el modelo puede tratarlas como estructura. El tokenizador por sí solo no lo detecta: simplemente codifica lo que llega.
Las ventanas de contexto son un presupuesto de tokens
La ventana de contexto de un modelo (8k, 32k, 128k, 1M de tokens) es el número máximo de tokens que puede tener en memoria durante una sola pasada hacia adelante. Los tokens del prompt y los de la respuesta cuentan contra ese presupuesto. Una vez que se excede, el modelo ya no puede prestar atención a los tokens que se cayeron por el borde izquierdo, así que en la práctica los olvida.
El costo de una ventana de contexto larga no es solo memoria: es cómputo. En un transformer estándar, la atención crece de forma cuadrática con la longitud de la secuencia. Por eso una llamada con 128k de contexto cuesta desproporcionadamente más que una de 4k, y por eso los enfoques con recuperación (traer los 2k tokens relevantes, no todo el corpus) muchas veces dan mejores resultados a menor costo que llenar la ventana de contexto.
Lo que el número de tokens dice sobre la calidad de un documento
En los grandes corpus web, la distribución del número de tokens es una señal de calidad útil. Los documentos muy cortos (menos de 50 tokens) suelen ser fragmentos de navegación, páginas de error o texto de relleno. Los muy largos (más de 50,000 tokens) con frecuencia tienen contenido repetitivo o generado por máquina. Las heurísticas de filtrado que se usan para limpiar conjuntos de datos como FineWeb fijan pisos y techos de número de palabras que, de forma implícita, imponen una ventana de número de tokens.
La misma lógica aplica en la capa de recuperación. Un pipeline de RAG que mete documentos completos al contexto en lugar de fragmentos específicos gasta presupuesto de tokens en contenido que el modelo no necesitaba ver, y lo paga tanto en dinero como en latencia.
Pruébelo: tokenice cualquier texto
Escriba o pegue texto abajo, o cambie el tipo de contenido, y vea cómo se actualizan en vivo los límites entre tokens, el conteo de tokens y la proporción de caracteres por token. Observe cómo los espacios iniciales se funden con el token siguiente, las palabras largas se fragmentan y el texto en chino queda cerca de un token por carácter.
Tokenice cualquier texto
Tokenización aproximada al estilo GPT (la expresión regular real de pretokenización más una división parecida a BPE), no un vocabulario exacto: los conteos son realistas e indican la tendencia, pero no son idénticos a los de ningún modelo. Observe que los espacios iniciales se funden con el token siguiente, las palabras largas se fragmentan y los caracteres chinos, japoneses y coreanos quedan cerca de un token cada uno. Los ejemplos de prosa y de palabras raras se mantienen en inglés porque las proporciones de esta demostración están calibradas sobre el inglés.