Skip to content

English · Español

00 — Por qué modelos de secuencia pre-transformer, en absoluto

🇪🇸 La fase 14 es deliberadamente corta. Existe por dos razones: para fijar una baseline numérica honesta (la perplejidad de un n-gram sobre el corpus de conjugaciones), y para que en la Fase 15 derivemos attention contra algo, no en el vacío. Sin esta fase, el transformer es magia. Con esta fase, es una respuesta a problemas concretos.


La posición de la Fase 14 en el arco

Llegas a la Fase 14 con: un tokenizer BPE construido a mano (Fase 11), un corpus curado de conjugaciones de verbos en inglés + traducciones al español (Fase 12), y embeddings aprendidos de cada token de ese corpus (Fase 13). Lo que no tienes, todavía, es un modelo de lenguaje — una distribución de probabilidad sobre el siguiente token dados los tokens anteriores.

La Fase 15 construirá un modelo de lenguaje a partir de attention. La Fase 17 lo ensamblará en un Mini-GPT. La Fase 18 lo entrenará.

Antes de nada de eso, deben existir dos cosas que aún no existen:

  1. Una baseline de perplejidad. Sin ella, "la Fase 18 entrenó el modelo a perplejidad X" es un número sin contexto. ¿Es X buena? ¿Es X mala? No se puede decir sin baseline.
  2. Una intuición mecánica de por qué existe attention en absoluto. Attention se presenta en todos los libros de texto como un hecho consumado. Las matemáticas caen del cielo. Y entonces funciona. La Fase 14 vive en el mundo al que reemplazó, así que para la Fase 15 las matemáticas se sienten como una respuesta, no como una definición.

Eso es todo. La Fase 14 no intenta ser un curso de RNNs. Construye el número baseline y los priors mecánicos, y luego se aparta.

El corpus, brevemente

El corpus de la Fase 12 son conjugaciones de verbos en inglés con traducciones al español pareadas, en una gramática fija:

  • 20 verbos: 12 regulares (work, play, walk, talk, listen, watch, study, finish, start, look, want, like) y 8 irregulares (be, have, do, go, come, see, eat, write).
  • 5 tiempos verbales: infinitive, present simple, past simple, past participle, simple future.
  • 3 personas: 1ª-sg (I), 2ª-sg (you), 3ª-sg (he/she/it).
  • Cada forma en inglés está emparejada con su traducción al español en un formato determinista.

Ejemplos de filas del corpus:

I work / yo trabajo
you work / tú trabajas
he works / él trabaja
I worked / yo trabajé
he will work / él trabajará
he is going to work / él va a trabajar

El corpus entero son unas 600 parejas de formas. Genuinamente microscópico. Cada token es uno de: un pronombre, una raíz verbal, un sufijo de inflexión (-s, -ed, -ing), un auxiliar (will, is, going, to), o un token de puntuación/separador. El vocabulario es lo bastante pequeño como para caber en una sola página.

La tarea canónica de la Fase 14 es completado de conjugación: dado I work, you work, he ?, el modelo debería rankear works por encima de work, worked o working. Este es un mapeo determinista en nuestro corpus — hay exactamente una respuesta correcta para cada prompt. Eso hace que la evaluación sea nítida.

Por qué un n-grama es una baseline real aquí, no un juguete

Para la mayoría de corpora de lenguaje natural, los n-gramas son una baseline cómicamente débil — no tienen noción de estructura de largo alcance, similitud semántica, o composicionalidad. Son juguetes.

Para nuestro corpus de gramática de verbos, un n-grama es la herramienta correcta para la mayor parte de la tarea. Pronombre-sujeto → forma verbal es una dependencia local: la forma verbal depende del pronombre que la precede inmediatamente, separados por cero o un token auxiliar. Una ventana de 3-grama o 4-grama lo cubre. El suavizado add-\(\alpha\) maneja los prefijos no vistos. El modelo es tonto pero la tarea es local.

Esto es una característica, no un bug. Significa:

  • El Mini-GPT (Fase 17) tiene que ganarse su victoria. No puede batir a un 5-grama solo por existir.
  • El número baseline que comprometes al final de la Fase 14 es un objetivo duro, no un hombre de paja.
  • Cuando el transformer eventualmente se imponga, sabrás que no es porque la baseline estuviera amañada.

Si el n-grama bate al transformer en este corpus, eso es información — probablemente significa que el transformer necesita más datos de entrenamiento, un contexto más grande, o un objetivo diferente. El punto de construir ambos es saber cuál.

Por qué aún necesitamos dejar atrás los n-gramas

Tres razones por las que attention va a demoler eventualmente a los n-gramas, aunque sean competitivos en este corpus:

  1. Generalización entre paradigmas. Un n-grama que aprendió you work no generaliza que you play, you walk, you talk tienen la misma forma. Trata cada bigrama (pronombre, verbo) como independiente. Un modelo con embeddings compartidos (Fase 13) y attention (Fase 15) sí generaliza — el embedding de you está en un sitio y se enruta de la misma forma hacia cada verbo.
  2. Interacciones de tiempo verbal. El simple future going to + infinitive es una dependencia de 3 tokens: he is going to work. Un n-grama con ventana \(n < 4\) lo pierde. El laboratorio de la Fase 14 demuestra exactamente cuándo se rompen los n-gramas.
  3. Alineamiento bilingüe. El lado en español tiene su propia lógica de conjugación (trabajo / trabajas / trabaja) que debe alinearse con el lado en inglés (work / work / works) sin fugas. Un n-grama no aprende ningún alineamiento — solo memoriza coocurrencia. Attention aprenderá este alineamiento como efecto secundario de su enrutamiento.

Estas tres razones no son visibles hasta que has construido y medido un n-grama de verdad. De ahí la Fase 14.

Lo que vamos a sentir al final de la fase

Dos sensaciones concretas:

  1. El estado oculto como cuello de botella. Cuando observes un forward pass de RNN en NumPy sobre ["I", "work", ",", "you", "work", ",", "he", "?"] y puedas leer cada \(h_t\) como un array de 16 o 32 floats, verás que toda la información sobre los tokens anteriores tiene que caber en ese vector de tamaño fijo. El pronombre I ocurrió hace 7 tokens; lo que sea que el modelo sepa de él está en \(h_7\) si sobrevivió a las contracciones de \(W_{hh}\). La mayoría de las veces no sobrevivió.
  2. Decaimiento del gradiente a lo largo del tiempo. Cuando computes la norma del gradiente en cada paso de un BPTT de 50 pasos y la plotees en eje logarítmico, verás la línea volverse vertical. No es gradual; es catastrófico. Tras 20 pasos, el gradiente desde la pérdida hasta los primeros tokens ha desaparecido. El modelo literalmente no puede aprender dependencias de largo alcance. LSTMs y GRUs aplanan la curva pero no arreglan el problema subyacente.

Si ambas sensaciones aterrizan, la Fase 14 ha hecho su trabajo. El resto es contabilidad (escribir el número, comprometer el plot, seguir adelante).

Lo que esta fase NO va a hacer

Para mayor claridad, lo siguiente está fuera del alcance de la Fase 14:

  • Entrenar la RNN/GRU/LSTM. Solo forward pass. La especificación es "no es necesario entrenar del todo".
  • Comparar con PyTorch. Anti-objetivo §10 — no hay PyTorch hasta la Fase 24. La RNN de NumPy de Borja se contrasta consigo misma.
  • Implementar Mamba, S4, RWKV, o cualquier revivificación recurrente moderna. Eso es territorio de la Fase 36 (arquitecturas de frontera).
  • Cubrir seq2seq, encoder-decoder, o cross-attention más allá de una nota de una línea. El currículo es decoder-only.
  • Cubrir el suavizado Kneser-Ney en profundidad. Add-\(\alpha\) es el default; KN es un comentario de 2 párrafos en theory/01-ngram-models.md.
  • Cubrir personas en plural. Según A13, we / you-pl / they / they-fem / they-pl se aplazan. Los ejemplos en la Fase 14 se quedan en 1ª-sg / 2ª-sg / 3ª-sg.

El camino a través de la Fase 14

  • Teoría 01 trata los n-gramas con suficiente detalle para que puedas computar el número baseline a mano sobre un corpus juguete de 20 tokens.
  • Teoría 02 deriva la RNN vanilla, luego la GRU, y luego esboza la LSTM. El marco es: cada una es una máquina de estados, y cada una es un parche sobre la anterior.
  • Teoría 03 es la derivación del BPTT. Es donde nace el gradiente desvaneciente/explosivo.
  • Laboratorios 00–03 implementan todo sobre el corpus de gramática de verbos.

Párate aquí si

Estás tentado de saltarte la Fase 14 porque "voy a entrenar el Mini-GPT directamente". No lo hagas. El Mini-GPT (a) batirá al n-grama y no sabrás por cuánto, o (b) perderá contra él y no sabrás por qué. La Fase 14 es una inversión de 10–15 horas que rinde en cada evaluación posterior.

🇪🇸 La intuición que necesitas al salir de la fase: "los modelos recurrentes pueden funcionar para tareas locales como nuestras conjugaciones, pero su mecanismo (un estado oculto de tamaño fijo + multiplicaciones encadenadas en el tiempo) los hace incapaces de escalar". Attention es la respuesta a ambos problemas en una sola idea.


Siguiente: theory/01-ngram-models.md.