Clase 05 — Modelos de lenguaje y decodificación
Un entrenador de BPE que cuenta pares y fusiona de verdad sobre el texto que escribas; un modelo de lenguaje pequeño pero real, con sus probabilidades contadas de un corpus; y los tres mandos de decodificación —temperatura, top-k y top-p— implementados como en las librerías.
El algoritmo completo: parte de caracteres sueltos, cuenta todos los pares adyacentes, fusiona el más frecuente y repite. Escribe lo que quieras y verás aparecer las subpalabras que tu texto justifica.
BPE no es el único: WordPiece fusiona maximizando verosimilitud, y Unigram/SentencePiece parte de un vocabulario grande y poda.
Modelo de bigramas con suavizado, con las probabilidades contadas de un corpus incluido en esta página. No hay guion prefijado: cada token se muestrea de la distribución real. La factorización es la de siempre:
Las continuaciones más probables dado el contexto actual, según los conteos del corpus. Al muestrear, el token elegido se marca en la secuencia.
Las barras son las probabilidades ya renormalizadas: lo que realmente se muestrea. Los tokens descartados aparecen en 0.
Frecuencias observadas al muestrear repetidamente de la distribución filtrada: la comprobación empírica de que el filtro hace lo que dice.
| Token | logit | p tras T | acum. | final |
|---|
Arrastra los deslizadores para repartir la probabilidad entre cuatro continuaciones. Se renormaliza sola.
| Situación | Entropía | PPL |
|---|---|---|
| Certeza absoluta (p = 1) | 0 bits | 1 |
| Moneda al aire (2 opciones) | 1 bit | 2 |
| 8 opciones equiprobables | 3 bits | 8 |
| Vocabulario de 50 000 al azar | 15.6 bits | 50 000 |
La perplejidad es "entre cuántas opciones equiprobables está dudando el modelo". Bajar de PPL 50 000 a PPL 20 es todo el trabajo de un modelo de lenguaje.
- En la 1, carga el corpus del apunte y da dos fusiones: deben salir es y luego est, tal como dice 5.1.2.
- Escribe tu propio nombre repetido diez veces en el corpus y mira cómo BPE lo convierte en un solo token.
- En la 2, pon la temperatura en 0.1 y luego en 1.8: el mismo modelo pasa de repetirse a decir disparates. No cambió ningún peso.
- En la 3, con el preset del apunte y \(T=1\), pon top-p = 0.9: debe quedar el núcleo {A, B, C} y p = [0.665, 0.245, 0.090].
- En la 4, reparte la probabilidad a partes iguales entre 4 tokens: H = 2 bits exactos, PPL = 4.