🧮 Computational Mathematics

Inicio · Parte 16 — Matemática de Transformers, modelos generativos, grafos y RL

328 — Transformer completo

experto clase 8 de 20 4 horas demostración transformer_block

El bloque es atención más feed-forward, cada uno envuelto en residual y normalización.

Fórmulas

x ← LayerNorm(x + MultiHead(x))
x ← LayerNorm(x + FFN(x))
FFN con expansión ×4: d_ff = 4·d_model

Desarrollo

El bloque Transformer combina dos subcapas con la misma envoltura. Primero atención multi-cabeza, que mezcla información entre posiciones; después una red feed-forward aplicada a cada posición por separado, que procesa cada representación individualmente. Ambas van rodeadas de conexión residual y normalización.

La conexión residual es la que hace entrenables las pilas profundas. Sumar la entrada a la salida crea un camino por el que el gradiente pasa sin multiplicarse, exactamente la misma solución que la LSTM de la clase 315 y que ResNet. Sin ella, apilar 96 bloques sería inviable.

La normalización estabiliza la escala. Se usa layer norm y no batch norm porque las secuencias tienen longitud variable y el tamaño de lote efectivo cambia, como se explicó en la clase 308. Su colocación importa: la variante pre-norm —normalizar antes de la subcapa— es más estable en modelos muy profundos y es la que usan los modelos actuales, aunque el artículo original usaba post-norm.

La expansión ×4 en la red feed-forward es una constante empírica notablemente estable a lo largo de los años. Ahí reside la mayor parte de los parámetros del modelo, y hay evidencia de que esas capas funcionan como una memoria asociativa de conocimiento factual, más que como un simple procesador local.

Ejemplo trabajado

Estructura y dimensiones de un bloque.

arquitectura:
  multi-head attention
  + residual
  layer norm
  feed-forward
  + residual
  layer norm

d_model = 8      d_ff = 32      razón = 4
tokens = 4

norma media de entrada: 3,214373

Reparto de parámetros en un modelo real:
  atención:      4·d²   = 4·d_model²
  feed-forward:  8·d²   = 2·(d_model·4·d_model)
  el feed-forward tiene el doble de parámetros

Pre-norm frente a post-norm: pre-norm es más estable
con muchas capas y es lo estándar hoy.

Qué calcula el laboratorio

Bloque Transformer: atención, residual, layer norm y feed-forward.

python classes/part-16-matematica-de-transformers-modelos-generativos-grafos-y-rl/328-transformer-completo/lab.py
compmath run 328

Salidas del laboratorio (12)

Muestra de la ejecución real

{
  "arquitectura": [
    "multi-head attention",
    "+residual",
    "layer norm",
    "feed-forward",
    "+residual",
    "layer norm"
  ],
  "d_model": 8,
  "d_ff": 32,
  "razon_d_ff/d_model": 4,
  "tokens": 4,
  "norma_media_entrada": 3.214373
}

Errores comunes

Dónde se usa

GPT, BERT, Vision Transformers, modelos de audio y prácticamente toda la arquitectura moderna de gran escala.

Idea rectora de la parte

Temperatura, top-k y top-p reescriben la distribución antes de muestrear.

Error a evitar

Confundir temperatura alta con mayor calidad en lugar de mayor entropía.

Conexión con IA

Esta parte es la traducción matemática directa de los papers que definen el estado del arte actual.

Bibliografía de la clase

Archivos de la clase