Modelos autorregresivos: predecir el próximo token
Token: la unidad mínima de texto que procesa un LLM. Una ficha no es una letra ni una palabra, es algo intermedio. La palabra increíble se divide mediante el algoritmo BPE en tres tokens: `un` + `believ` + `able`. Los LLM modernos tienen vocabularios de 32 000 a 128 000 tokens. Regla general: 1 ficha ≈ 4 caracteres, 100 fichas ≈ 75 palabras en inglés.
La regla de la cadena: un condicional a la vez

Un modelo de lenguaje aprende a calcular P(siguiente token | todos los tokens anteriores). Esto se deriva directamente de la regla de multiplicación de la probabilidad: la probabilidad de una secuencia es igual al producto de las probabilidades condicionales de cada token dado todo lo anterior. Los modelos creados según este principio se denominan autoregresivos porque cada salida se retroalimenta como entrada para el siguiente paso.

Formalmente:

P(t1,t2,,tn)=i=1nP(tit1,,ti1)P(t_1, t_2, \ldots, t_n) = \prod_{i=1}^{n} P(t_i \mid t_1, \ldots, t_{i-1})
Cada paso de generación es una inferencia de probabilidad condicional. Para generar una respuesta de 200 tokens, el modelo ejecuta este pase directo 200 veces.

Un paso generacional: el proceso completo

Presione cada paso para rastrear lo que sucede dentro del modelo cuando elige la siguiente ficha:

Haga clic en cada paso: un paso = un token generado ▶
Contexto
Todos los tokens hasta ahora
incrustar
Fichas → vectores densos
Transformador
Autoatención + FFN
logits
Un número por ficha de vocabulario
softmax
Logits → probabilidades
Muestreo
Elige la siguiente ficha
Logits: los números brutos generados por la última capa del modelo, uno por token de vocabulario. Los logits no son probabilidades: pueden ser cualquier número real, no suman 1 y pueden ser negativos. Cuanto más grande es el logit, más "prefiere" el modelo ese token. La función softmax convierte logits en una distribución de probabilidad adecuada.
De logits a probabilidades: softmax

Softmax:σ(xi)=exijexj\sigma(x_i) = \frac{e^{x_i}}{\sum_j e^{x_j}}. Cada salida es positiva, todas las salidas suman 1. Arrastre los logits a continuación: observe cómo un pequeño cambio en un logit aleja la probabilidad de todos los demás. El parámetro de temperatura T divide todos los logits antes de softmax: una T baja agudiza la distribución, una T alta la aplana.

Arrastre logits o cambie la temperatura: observe cómo cambian las probabilidades
SOFTMAX · 6 classes
z=3.8techo
z=3.2sofá
z=2.4piso
z=1.8ventana
z=0.9cama
z=0.3agua
softmaxT=1.0
p=0.50techo
p=0.27sofá
p=0.12piso
p=0.07ventana
p=0.03cama
p=0.01agua
T = 1.00
T→0
winner-
takes-all
T→∞
uniform
Entropy H = 1.878 / 2.585
softmax(z)ᵢ = exp(zᵢ/T) / Σⱼexp(zⱼ/T). Winner: techo · p = 0.496
El bucle de generación en el código.
Haga clic en una línea para ver su explicación ▼
python
1
def generate(model, prompt_tokens, max_new=50):
2
    tokens = list(prompt_tokens)              # context
3
    for _ in range(max_new):
4
        logits = model(tokens)               # [vocab_size]
5
        probs  = softmax(logits)             # sum = 1.0
6
        next_token = sample(probs)           # pick one
7
        tokens.append(next_token)            # context grows
8
        if next_token == EOS_TOKEN: break    # stop signal
9
    return tokens
Observe cómo crece el contexto: token por token

Cada barra muestra la probabilidad que el modelo asignó a ese token candidato en esa posición. La barra verde es la que se muestreó y se agregó al contexto.

Presione "Siguiente token": observe cómo crece el contexto y cambia la distribución ▶
elgatose sentóen|
Ventana de contexto: la cantidad máxima de tokens que el modelo puede "ver" en un pase hacia adelante. GPT-2: 1.024 fichas. GPT-4 Turbo: 128 000. Claude 3: hasta 200 000. Todo lo que está más allá de la ventana es invisible para el modelo. Ampliar el contexto es costoso: la complejidad de la atención del transformador es O(n²) en la longitud de la secuencia.

Conclusiones clave

Un modelo de lenguaje autorregresivo genera texto prediciendo repetidamente el siguiente token más probable dados todos los tokens anteriores. Cada paso de generación es un paso completo hacia adelante a través del modelo; no hay atajos.
Token ≈ 4 caracteres. El algoritmo BPE construye un vocabulario de 32 000 a 128 000 unidades de subpalabras.
El modelo predice P(tᵢ | t₁…tᵢ₋₁): la regla de la cadena convierte esto en la probabilidad de cualquier secuencia
Canalización: Contexto → Transformador → Logits → Softmax → Probabilidades → Muestra → Nuevo token
Los logits son puntuaciones brutas, no probabilidades. Softmax los convierte: todos ≥ 0, suma = 1
La generación es secuencial: un paso hacia adelante por token. Una respuesta de 200 tokens cuesta 200 pases