¿Cómo Funciona la Predicción de Tokens?

Un LLM genera texto de una forma específica: de uno en uno. Token a token. No genera frases enteras de golpe. No planifica un párrafo antes de escribirlo. Predice el siguiente token, lo añade a la secuencia, y repite.
Cuando ves que ChatGPT escribe una respuesta y las palabras van apareciendo poco a poco, eso no es un efecto visual. Es literalmente lo que está pasando. El modelo calcula un token, lo muestra, lo usa como parte de la entrada para calcular el siguiente, y así sucesivamente.
Esto se llama generación autoregresiva. Auto porque se alimenta de sí mismo. Regresiva porque cada predicción depende de todas las anteriores.
El Proceso Paso a Paso
Sección titulada «El Proceso Paso a Paso»Vamos a recorrer lo que pasa cuando escribes “El cielo es” y el modelo tiene que continuar.
Paso 1: El texto se tokeniza. “El cielo es” se convierte en una secuencia de tokens, por ejemplo tres números: [1845, 39211, 388].
Paso 2: Esos tokens entran en el Transformer. Pasan por todos los bloques: atención, feed-forward, atención, feed-forward. Cada bloque enriquece la representación de cada token con información del contexto.
Paso 3: Al final de todos los bloques, el modelo produce un logit por cada token posible del vocabulario. Si el vocabulario tiene 200.000 tokens, hay 200.000 logits. El logit de “azul” puede ser 8.3. El de “verde” puede ser 6.1. El de “rojo” puede ser 5.7. El de “mesa” puede ser -4.2.
Paso 4: Los logits se dividen por la temperatura y pasan por softmax para convertirse en probabilidades.
Paso 5: El mecanismo de sampling elige un token. Supongamos que elige “azul”.
Paso 6: El token “azul” se añade a la secuencia. Ahora la entrada es [1845, 39211, 388, 17535], que corresponde a “El cielo es azul”.
Paso 7: Se repite todo el proceso desde el paso 2 con la nueva secuencia. El modelo ahora predice qué viene después de “El cielo es azul”. Puede que prediga un punto. Puede que prediga una coma y siga con “y”.
Este ciclo se repite hasta que ocurre una de dos cosas: el modelo genera un token especial de fin de secuencia, o se alcanza el límite máximo de tokens de salida.
Lo que Esto Implica
Sección titulada «Lo que Esto Implica»El modelo no ve el futuro. Cuando genera la tercera palabra, no sabe qué va a decir en la décima. Cada decisión se toma mirando solo hacia atrás, hacia lo que ya se ha generado.
Esto explica por qué a veces un LLM empieza una frase con una estructura y acaba en otra diferente. Empezó con una idea y a mitad de camino la predicción lo llevó por otro lado. No hay plan. Solo hay probabilidad del siguiente token.
También explica por qué los LLM pueden contradecirse dentro de una misma respuesta. La segunda mitad del texto no sabe que la primera mitad dijo algo diferente, salvo lo que pueda inferir del contexto que le queda visible.
Por Qué Funciona Tan Bien si es Tan Simple
Sección titulada «Por Qué Funciona Tan Bien si es Tan Simple»La predicción de siguiente token parece un mecanismo demasiado simple para producir texto coherente. Y sin embargo funciona. La razón es la escala.
Un modelo con cientos de miles de millones de parámetros, entrenado con billones de tokens de texto, ha visto suficientes patrones como para que la predicción del siguiente token capture estructuras complejas: gramática, lógica, relaciones causales, conocimiento factual, y hasta cosas que parecen razonamiento.
No es que el modelo entienda esas cosas. Es que la predicción de siguiente token, a escala suficiente, reproduce patrones que son indistinguibles del entendimiento para un observador externo.
La Diferencia entre Entrenamiento e Inferencia
Sección titulada «La Diferencia entre Entrenamiento e Inferencia»Durante el entrenamiento, el modelo ve textos completos y aprende a predecir cada token dado los anteriores. Si el texto de entrenamiento dice “El cielo es azul”, el modelo aprende que después de “El cielo es”, el token “azul” es muy probable. Esto se hace con millones de textos simultáneamente.
Durante la inferencia (cuando tú usas el modelo), el proceso es autoregresivo: genera un token, lo añade, genera otro, lo añade. No tiene acceso a una respuesta correcta. Solo tiene sus parámetros y el contexto acumulado.
El Cache de KV
Sección titulada «El Cache de KV»Un detalle técnico importante: el modelo no recalcula todo desde cero para cada token nuevo. Los bloques de atención necesitan comparar el token nuevo con todos los anteriores, pero los cálculos de los tokens anteriores ya se hicieron. Esos resultados se guardan en lo que se llama KV cache (key-value cache).
Esto es lo que permite que la generación sea razonablemente rápida. Sin el cache, cada nuevo token obligaría a reprocesar toda la secuencia desde el principio, y la generación sería órdenes de magnitud más lenta.
Verifica el Proceso
Sección titulada «Verifica el Proceso»Puedes observar la generación token a token en la API de OpenAI activando el modo streaming:
from openai import OpenAI
client = OpenAI()
stream = client.chat.completions.create( model="gpt-4o", messages=[{"role": "user", "content": "El cielo es"}], stream=True)
for chunk in stream: if chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end="", flush=True)Verás los tokens aparecer uno a uno. Eso es la predicción autoregresiva en tiempo real.
Qué pasa en la práctica
Sección titulada «Qué pasa en la práctica»- Al generar respuestas largas, el modelo puede empezar coherente y desviarse a mitad de camino porque no planifica.
- En tareas de código, a veces genera funciones que compilan pero no hacen exactamente lo pedido porque la predicción fue token a token sin visión global.
Error común
Sección titulada «Error común»Creer que el modelo planifica toda la respuesta antes de empezar. No. Cada token se decide mirando solo hacia atrás.
Para entender cómo los agentes de IA van más allá de la predicción token a token con planificación y herramientas externas, puedes leer sobre la arquitectura ReAct y los agentes autónomos.