Sesión 8: Arquitectura Transformer

1. Logro de la sesión

Entender los bloques del transformer y su impacto en paralelización, calidad y costo computacional.


2. Marco y alcance

Esta sesión combina teoría, formalización matemática y decisiones de ingeniería para construir soluciones NLP robustas y reproducibles.

Dimensión Pregunta guía Entregable esperado
Lingüística ¿Qué fenómeno modelamos? Definición operativa del problema
Estadística ¿Qué objetivo y supuestos usamos? Modelo con límites explícitos
Ingeniería ¿Cómo aseguramos reproducibilidad? Pipeline versionado y trazable
Producto ¿Qué error es tolerable? Métricas y SLA alineados

3. Fundamentos conceptuales

3.1 Self-attention

Cada token pondera su dependencia con todos los demás.

Implicaciones prácticas:

3.2 Scaled dot-product

Escalado por raíz de dimensión para estabilidad numérica.

Implicaciones prácticas:

3.3 Multi-head attention

Permite modelar relaciones diversas en paralelo.

Implicaciones prácticas:

3.4 Positional encoding

Inyecta información de orden sin recurrencia.

Implicaciones prácticas:

3.5 Residual connections

Facilitan entrenamiento profundo y estabilidad.

Implicaciones prácticas:

3.6 Layer normalization

Normaliza activaciones por token y acelera convergencia.

Implicaciones prácticas:

3.7 Stacks encoder/decoder

Arquitectura modular reutilizable por familia de modelos.

Implicaciones prácticas:

3.8 Costo O(n^2)

Atención completa limita contexto largo y memoria.

Implicaciones prácticas:


4. Fundamentos matemáticos

Probabilidad de secuencia:

\[P(w_{1:n}) = \prod_{t=1}^{n} P(w_t \mid w_{1:t-1})\]

Objetivo de entrenamiento regularizado:

\[\min_{\theta} \frac{1}{N}\sum_{i=1}^{N}\mathcal{L}(f_\theta(x_i), y_i) + \lambda\,\Omega(\theta)\]

Entropía cruzada multiclase:

\[\mathcal{L}_{CE} = -\sum_{c=1}^{C} y_c\log(\hat{y}_c)\]

Perplejidad:

\[PP = \exp\left(-\frac{1}{N}\sum_{t=1}^{N}\log P(w_t\mid w_{<t})\right)\]

Relación sesgo-varianza (forma conceptual):

\[Error_{gen} = Error_{train} + Error_{complejidad}\]

5. Historia y protagonistas

NLP moderno es acumulativo: avances teóricos, de cómputo y de evaluación.

Investigador/a Contribución relacionada Lectura en esta sesión
Vaswani Propuesta original de transformer. Referente para contextualizar decisiones metodológicas actuales
Shazeer Contribuciones en escalamiento y MoE. Referente para contextualizar decisiones metodológicas actuales
Parmar Diseño del bloque base y entrenamiento. Referente para contextualizar decisiones metodológicas actuales
Rush Difusión pedagógica de implementación. Referente para contextualizar decisiones metodológicas actuales

Línea temporal breve:


6. Metodología y pipeline

6.1 Definir caso de uso y variable objetivo.

Control mínimo de calidad:

6.2 Establecer corpus y criterios de calidad.

Control mínimo de calidad:

6.3 Diseñar preprocesamiento reproducible.

Control mínimo de calidad:

6.4 Construir baseline interpretable.

Control mínimo de calidad:

6.5 Entrenar modelo principal de sesión.

Control mínimo de calidad:

6.6 Validar con métricas técnicas y de negocio.

Control mínimo de calidad:

6.7 Analizar errores críticos.

Control mínimo de calidad:

6.8 Planificar despliegue y monitoreo.

Control mínimo de calidad:


7. Evaluación y validación

Escenario Métricas sugeridas Criterio de interpretación
Clasificación F1 macro, precisión, recall Evitar depender solo de accuracy
Etiquetado secuencial F1 por clase/entidad Reportar clases raras por separado
Generación BLEU/ROUGE + evaluación humana Fluidez no garantiza fidelidad factual
Operación Latencia p95, throughput, costo Score alto sin SLA no es suficiente

Principios de evaluación:


8. Casos aplicados y decisiones de producto

8.1 Atención al cliente e intención

Checklist de despliegue:

8.2 Extracción de entidades en documentos

Checklist de despliegue:

8.3 Resumen y control de factualidad

Checklist de despliegue:

8.4 Búsqueda semántica y recuperación

Checklist de despliegue:

8.5 Moderación de contenido

Checklist de despliegue:

8.6 Asistentes internos con trazabilidad

Checklist de despliegue:


9. Implementación orientativa en Python

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
from sklearn.metrics import f1_score

df = pd.DataFrame({
    "texto": ["consulta urgente", "mensaje informativo", "reclamo de servicio", "agradecimiento"],
    "label": [1, 0, 1, 0],
})

X_train, X_test, y_train, y_test = train_test_split(
    df["texto"], df["label"], test_size=0.5, random_state=42, stratify=df["label"]
)

pipe = Pipeline([
    ("tfidf", TfidfVectorizer(ngram_range=(1, 2))),
    ("clf", LogisticRegression(max_iter=1000)),
])

pipe.fit(X_train, y_train)
pred = pipe.predict(X_test)
print("F1:", f1_score(y_test, pred, zero_division=0))

10. Glosario técnico mínimo


Referencias bibliográficas principales

  1. Jurafsky, D., & Martin, J. H. Speech and Language Processing.
  2. Manning, C., Raghavan, P., & Schutze, H. Introduction to Information Retrieval.
  3. Eisenstein, J. Introduction to Natural Language Processing.
  4. Goldberg, Y. Neural Network Methods for NLP.
  5. Goodfellow, I., Bengio, Y., & Courville, A. Deep Learning.
  6. Vaswani, A., et al. (2017). Attention Is All You Need.
  7. Devlin, J., et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers.
  8. Raffel, C., et al. (2020). Exploring the Limits of Transfer Learning with T5.
  9. Hu, E., et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models.
  10. Conneau, A., et al. (2020). Cross-lingual Representation Learning at Scale.