Descubre qué es un token en redes neuronales, cómo se diferencian de palabras y caracteres, y por qué ChatGPT los utiliza para procesar texto. Aprende cómo influyen en la ventana de contexto y la generación de respuestas.
Los tokens en redes neuronales son pequeños fragmentos de texto en los que el modelo de lenguaje divide una consulta antes de procesarla. Para el usuario, una frase parece una oración común hecha de palabras, pero para ChatGPT es una secuencia de tokens individuales convertidos en números.
Por eso, las limitaciones de los modelos de lenguaje suelen expresarse en tokens y no en palabras o caracteres. El número de tokens determina cuánta información puede procesar el modelo a la vez, qué parte de un diálogo largo puede tener en cuenta y cuán extensa puede ser la respuesta generada.
Un token es la unidad de texto con la que trabaja un modelo de lenguaje. Puede imaginarse como un pequeño fragmento de una cadena de texto al que se asigna un identificador numérico específico.
Un token no tiene por qué ser una palabra completa. Según el tokenizador utilizado, un token puede ser una palabra corta y común, una parte de una palabra más larga, una secuencia de letras, números o un signo de puntuación.
Por ejemplo, la frase sencilla:
"El gato está en la mesa."
Para una persona, consta de cinco palabras y un punto. Sin embargo, la red neuronal puede dividirla de otra manera: algunas palabras quedan enteras y otras se fragmentan. El resultado exacto depende del diccionario y del algoritmo de tokenización del modelo.
Cada fragmento obtenido se convierte en un número. Internamente, la red neuronal ya no trabaja con la palabra "gato" o "mesa", sino con sus representaciones numéricas.
Podría parecer más sencillo asignar un número a cada palabra, pero esto traería problemas: el número de palabras posibles es prácticamente ilimitado.
Una sola palabra en español puede tener muchas formas. Por ejemplo:
trabajo → trabajos → trabajando → trabajos → trabajador
Si cada forma se almacenara como elemento independiente, el diccionario crecería rápidamente. La situación se complica aún más con nombres propios, empresas, términos nuevos, errores tipográficos, números, enlaces y código.
Los tokens permiten dividir palabras largas o poco frecuentes en partes más conocidas por el modelo. Así, la red neuronal puede procesar incluso secuencias de caracteres que nunca ha visto como palabras completas.
Por ello, no es correcto decir que "una palabra equivale a un token". Una palabra común y corta puede ocupar un token, pero una palabra rara o compleja puede dividirse en varios.
Esto también aplica a signos de puntuación y números. Un número, una fecha o una dirección web pueden representarse con varios tokens. Para el modelo, todo esto son elementos de una secuencia, no categorías humanas como "palabra", "coma" o "número".
Por eso, dos textos con el mismo número de palabras pueden diferir mucho en tokens. El tamaño real de la consulta para la red neuronal lo define el resultado de la tokenización, no la cantidad de palabras visible para el usuario.
Cuando envías un mensaje a ChatGPT, el texto no se transmite a la red neuronal tal cual. Primero lo procesa el tokenizador, que lo divide en una secuencia de tokens.
En resumen, el proceso es:
texto → tokenización → tokens → IDs numéricos → procesamiento por la red neuronal
Por ejemplo, si preguntas: "¿Cómo funciona una red neuronal?", para ti son cinco palabras y un signo de interrogación. El tokenizador puede dividir la frase en varios fragmentos, cuyas fronteras no coinciden necesariamente con las de las palabras.
Cada token recibe un identificador del diccionario del modelo. Por ejemplo, un fragmento puede tener el ID 4217, otro el 853 y otro el 19024. Estos números carecen de significado para el usuario: solo identifican elementos del diccionario.
Esta secuencia de identificadores numéricos es la que recibe el modelo para su procesamiento.
La red neuronal realiza operaciones matemáticas y no interpreta letras ni palabras como los humanos. Una frase como "Hoy hace buen tiempo" no significa nada para el sistema hasta que se convierte en números.
Asignar un número a cada palabra sería poco práctico, ya que el idioma cambia constantemente: aparecen nuevos nombres, tecnicismos, jerga y combinaciones de símbolos. Además, una palabra puede tener muchas formas gramaticales.
La tokenización resuelve esto con un nivel intermedio: en vez de almacenar cada palabra posible, el modelo usa un diccionario limitado de fragmentos frecuentes de texto.
Si una palabra está completa en el diccionario, puede convertirse en un solo token. Si no, el tokenizador la divide en partes más pequeñas ya conocidas por el modelo.
Así, la red neuronal puede trabajar no solo con frases comunes, sino también con nombres, números, enlaces, código y palabras nuevas.
El diccionario de tokens se crea de antemano al entrenar el modelo. Secuencias frecuentes de caracteres se almacenan como elementos grandes para acortar la secuencia resultante.
Combinaciones raras, en cambio, se dividen en varios tokens. Por eso, una palabra popular puede ocupar un solo token y un término técnico inusual, varios.
El fragmentado depende del tokenizador, su diccionario y el idioma. Así, la misma frase puede tener diferente número de tokens en distintos modelos.
Si quieres saber más sobre cómo funcionan los tokenizadores y cómo el texto se convierte en números, consulta el artículo Tokenización de texto: cómo las redes neuronales entienden el lenguaje humano.
Usar palabras como unidades de base no es práctico: el idioma es demasiado variado, con millones de formas, nombres, tecnicismos, abreviaturas y expresiones. Si cada una tuviera su propio elemento en el diccionario, este sería enorme y las palabras desconocidas requerirían tratamiento especial.
Los tokens ofrecen mayor flexibilidad. Palabras o fragmentos comunes pueden almacenarse enteros y secuencias raras pueden construirse con varios tokens pequeños. Así, un mismo sistema puede manejar texto, código, números, URLs y varios idiomas.
Esto permite limitar el tamaño del diccionario: en vez de tener un número infinito de palabras, el modelo maneja un conjunto fijo de tokens, cuyas combinaciones cubren casi cualquier texto de entrada.
Por eso, ChatGPT cuenta tokens y no palabras. El número de palabras es cómodo para las personas, pero para el modelo importa la longitud de la secuencia procesada.
Después de procesar la consulta, el modelo recibe una secuencia de tokens y la utiliza como contexto para predecir la continuación.
El proceso simplificado es:
tokens recibidos → análisis del contexto → probabilidades del siguiente token → selección de continuación → repetición
Por ejemplo, si la frase es "La capital de Francia es", el modelo calcula las probabilidades de los siguientes tokens posibles. Algunos tendrán probabilidades muy bajas y el que corresponde a "París" será mucho mayor.
El token elegido se añade a la secuencia y el modelo repite el cálculo, teniendo en cuenta el nuevo elemento.
Este ciclo se repite muchas veces. Por eso, la respuesta no se forma como un párrafo completo, sino que la red genera el texto token por token, eligiendo cada continuación según el contexto existente.
El "siguiente token" no siempre es una palabra completa: puede ser parte de una palabra, un signo de puntuación u otro fragmento. Tras la generación secuencial, el usuario ve frases completas.
El ID numérico del token aún no es óptimo para los cálculos principales. Por eso, cada identificador se transforma en un conjunto de números -una representación vectorial o embedding.
Esto permite al modelo trabajar con tokens en un espacio matemático multidimensional y tener en cuenta las relaciones entre elementos de la secuencia.
Después, los vectores pasan por las capas del modelo. La red neuronal analiza no solo el token aislado, sino también su posición y relación con otros en el contexto.
Por ejemplo, el significado de una palabra puede depender de los elementos cercanos o de los que aparecieron mucho antes en la frase. Así, la misma secuencia de caracteres puede interpretarse de manera diferente según el entorno.
El modelo obtiene una representación interna del contexto y, con base en ella, calcula las probabilidades del siguiente token. El proceso se repite hasta finalizar la respuesta o alcanzar el límite de generación.
Un token no tiene una longitud fija. Puede ser un solo carácter, varias letras, una palabra entera o incluso una secuencia más larga. No existe una regla universal como "1 token = 4 caracteres".
Estas estimaciones solo sirven para cálculos aproximados. En inglés, un token suele corresponder a varios caracteres, pero el valor real depende del contenido y del tokenizador.
Por ejemplo, una palabra corta y común puede ser un solo token. Un término técnico raro de la misma longitud puede dividirse en varios. Números, símbolos y combinaciones inusuales también pueden aumentar la cuenta de tokens.
Por eso, dos frases igual de largas en caracteres no necesariamente ocupan el mismo espacio en el contexto del modelo.
Tampoco es posible convertir exactamente el número de palabras a tokens con un solo coeficiente. A veces, una palabra equivale a un token, a veces a dos, tres o más.
Esto es especialmente notorio con palabras largas o poco frecuentes: el tokenizador puede dividirlas en fragmentos conocidos.
Por ejemplo, para una persona, una palabra técnica como:
"microarquitectura"
es una sola unidad, pero dentro del modelo podría representarse por varios tokens. En el conteo de palabras sigue siendo una, pero para el límite de contexto cuenta como varios elementos.
La situación opuesta también es posible: una combinación frecuente de caracteres puede almacenarse como un solo token y ocupar menos espacio de lo esperado.
Por eso, afirmaciones como "1000 tokens son aproximadamente tantas palabras" solo sirven para cálculos muy groseros. Para un conteo exacto, hay que pasar el texto por el mismo tokenizador que utiliza el modelo.
El número final de tokens depende principalmente del texto en sí y del diccionario del tokenizador.
La diferencia entre idiomas no se debe a que la red neuronal "entienda peor" uno u otro. La razón está en la tokenización.
El diccionario se crea a partir de enormes corpus de texto. Si ciertas secuencias de caracteres aparecen a menudo, el tokenizador puede representarlas como tokens grandes. Las combinaciones menos frecuentes se dividen en tokens más pequeños.
Por eso, traducir una frase del inglés al ruso puede cambiar el número de tokens, aunque el significado y el número de palabras sean similares. Con otro modelo y tokenizador, la proporción puede ser distinta.
Por este motivo, el tamaño de un documento no debe evaluarse solo por páginas, palabras o caracteres. Para la red neuronal, el volumen real lo determina el número de tokens tras la tokenización.
La longitud de los mensajes no solo se mide en tokens individuales. El modelo de lenguaje tiene una ventana de contexto: la cantidad de información que puede tener en cuenta de forma simultánea al procesar una consulta y generar una respuesta.
En el contexto pueden entrar:
Todos estos elementos consumen tokens. Así, incluso una consulta nueva y corta puede procesarse junto con un historial largo que ya ocupa parte importante del contexto disponible.
La ventana de contexto puede imaginarse como el área de trabajo de la red neuronal: mientras la información relevante esté dentro de ella, el modelo puede tenerla en cuenta al generar el siguiente token.
Cada tipo de modelo de lenguaje tiene una limitación en el tamaño de contexto que puede manejar en una sola operación o diálogo, según su arquitectura y la configuración del servicio.
Este límite no se puede traducir directamente a un número fijo de páginas o palabras. Un documento puede consumir tokens de manera eficiente y otro, de longitud similar, mucho más rápido, dependiendo del idioma, el código, los números o el formato.
Además, el texto de entrada y la respuesta generada pueden compartir el mismo espacio disponible o tener límites separados, según el modelo y la interfaz.
Por ejemplo, si gran parte de la ventana de contexto está ocupada por un documento extenso, el historial y las instrucciones, queda menos espacio para nuevo contenido. Así, el tamaño máximo teórico del contexto no significa que el usuario siempre pueda enviar una consulta y recibir una respuesta del mismo volumen.
A medida que la conversación se alarga, la cantidad de información aumenta. Si no cabe toda en el contexto activo, el sistema debe gestionar el historial para mantenerse dentro del límite permitido.
El mecanismo concreto depende del servicio y del modelo. Algunos mensajes antiguos dejan de estar presentes, mientras que algunos datos pueden resumirse o transmitirse de forma más compacta.
Por eso, en una conversación muy larga, la red puede tener más dificultades para recordar detalles discutidos mucho antes. El chat parece un diálogo continuo para el usuario, pero el modelo no procesa cada mensaje desde el principio en cada respuesta.
Esto explica por qué los tokens están tan ligados a la capacidad de la red neuronal para retener el contexto de una conversación extensa.
Si quieres profundizar en cómo se maneja el contexto en diálogos largos, revisa el artículo Cómo las redes neuronales recuerdan conversaciones largas: contexto, memoria y Attention.
La limitación de contexto se nota especialmente al trabajar con grandes cantidades de información.
Por eso, los tokens no son solo una unidad técnica: determinan la cantidad real de información que el modelo puede manejar a la vez.
No hay un número fijo de caracteres por token. Un token puede ser un solo carácter, varias letras, una palabra entera o cualquier otra secuencia. A veces se estima de forma aproximada el número de caracteres por token, pero en la práctica varía mucho según el texto.
La cantidad exacta solo puede determinarse usando el tokenizador del modelo con el que se va a trabajar.
La relación entre palabras y tokens no es constante. Una palabra corta y común puede ocupar un token, pero una larga o poco frecuente puede dividirse en varios. Por eso, un texto de 1000 palabras no tendrá necesariamente el mismo número de tokens en distintos idiomas o con diferente vocabulario.
Para grandes consultas, es más preciso fijarse en el número de tokens, no tratar de convertirlos a palabras con una fórmula fija.
Sí, los signos de puntuación participan en la tokenización, pero eso no significa que cada uno sea siempre un token independiente. Según el tokenizador, el punto, la coma, el paréntesis o cualquier otro símbolo pueden ser elementos propios o formar parte de un token con caracteres vecinos.
Lo mismo ocurre con espacios, saltos de línea, símbolos matemáticos y otros elementos del texto.
La cantidad de tokens depende del diccionario del tokenizador y de cómo se representan las secuencias de caracteres en él. Si palabras y fragmentos comunes en inglés se incluyeron más eficientemente al crear el diccionario, pueden requerir menos tokens. Las palabras rusas, a veces, deben dividirse en más partes.
Sin embargo, no es una regla universal. Los tokenizadores modernos varían, así que la relación depende del modelo y del texto concreto.
Si la cantidad de información supera la ventana de contexto disponible, el modelo no puede procesar toda la secuencia a la vez. Según el servicio, parte del contexto antiguo puede dejar de considerarse, los datos pueden resumirse o el sistema puede limitar el tamaño de la entrada o la respuesta.
Esto es especialmente relevante en conversaciones largas, trabajo con archivos grandes y análisis de fragmentos extensos de código.
Los tokens en redes neuronales son los elementos básicos mediante los cuales el modelo de lenguaje recibe y genera texto. No corresponden exactamente a palabras ni a caracteres: una palabra puede ser un token o dividirse en varios fragmentos.
ChatGPT cuenta tokens porque esta forma permite representar el idioma humano -enorme y cambiante- usando un diccionario limitado de elementos. Tras la tokenización, a cada fragmento se le asigna un identificador numérico, que luego se transforma en una representación adecuada para los cálculos internos del modelo.
El número de tokens tiene importancia práctica: determina cuánto texto ocupa una consulta, cuánta historia cabe en la ventana de contexto y cuánta información puede considerar el modelo a la vez. Por eso, al trabajar con documentos largos, código o grandes diálogos, es más relevante fijarse en el número de tokens que en el de páginas o palabras tras la tokenización.