Sesión 10: Modelos Pre-entrenados (BERT, GPT y T5)

1. Logro de la sesión

Comparar familias de modelos preentrenados y decidir estrategia de adaptación según tarea y restricciones.


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 Autosupervisión

Aprendizaje en gran corpus sin etiquetas manuales.

Implicaciones prácticas:

3.2 BERT

Encoder-only fuerte en comprensión y clasificación.

Implicaciones prácticas:

3.3 GPT

Decoder-only dominante en generación autoregresiva.

Implicaciones prácticas:

3.4 T5

Unifica tareas bajo formato text-to-text.

Implicaciones prácticas:

3.5 Prompting

Ajuste sin actualizar pesos mediante instrucciones.

Implicaciones prácticas:

3.6 Fine-tuning

Actualiza parámetros para dominio específico.

Implicaciones prácticas:

3.7 Alineamiento

Mejora utilidad y seguridad en interacción humana.

Implicaciones prácticas:

3.8 Trade-off costo-calidad

Modelo mayor no siempre es mejor decisión de producto.

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
Jacob Devlin BERT y MLM bidireccional. Referente para contextualizar decisiones metodológicas actuales
Alec Radford Escalamiento GPT autoregresivo. Referente para contextualizar decisiones metodológicas actuales
Tom Brown Capacidades emergentes por escala. Referente para contextualizar decisiones metodológicas actuales
Colin Raffel Marco unificado T5. 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.