Parte: 06 — Modelos fundacionales e ingeniería de LLM
Nivel: avanzado · Horas estimadas: 6
Laboratorio: probability · Estado: EXECUTABLE_CORE
Comprender rlhf, rlaif y dpo dentro de la evolución de la inteligencia artificial, implementar un experimento mínimo verificable y distinguir qué parte constituye evidencia frente a una afirmación todavía no comprobada.
Al finalizar podrás:
- Explicar rlhf, rlaif y dpo usando los conceptos
preferencias,reward model,RLHF,DPO. - Ejecutar el laboratorio con una semilla explícita y revisar su contrato JSON.
- Identificar al menos un supuesto, una limitación y un riesgo de aplicación.
- Comparar el enfoque con la etapa anterior de la ruta de aprendizaje.
- Producir una evidencia reproducible y una conclusión que no exceda los datos.
preferencias, reward model, RLHF, DPO
El SFT (clase 076) enseña a imitar demostraciones, pero no a preferir: entre dos respuestas plausibles no sabe cuál es más útil, honesta o inocua. El aprendizaje por preferencias cierra el ciclo de alineamiento: RLHF (InstructGPT, 2022) lo hizo con un modelo de recompensa y PPO — la receta detrás de ChatGPT — y DPO (2023) demostró que el mismo objetivo se optimiza con una pérdida supervisada simple, sin RL explícito. Aquí se conectan el aprendizaje por refuerzo (parte 07 de la ruta usa estas bases) y la ingeniería práctica de LLM.
Etapa 1 — SFT: fine-tuning sobre demostraciones humanas → política π_SFT.
Etapa 2 — Modelo de recompensa (RM): humanos ORDENAN K respuestas por prompt;
se entrena r_φ(x, y) para predecir la preferencia.
Etapa 3 — RL (PPO): optimizar la política π_θ para maximizar la recompensa,
penalizando alejarse de π_SFT.
La probabilidad de que la respuesta y_w ("winner") sea preferida a y_l ("loser") se modela con Bradley–Terry:
P(y_w ≻ y_l | x) = σ(r_φ(x, y_w) − r_φ(x, y_l)) σ = sigmoide
L_RM = −E[log σ(r_φ(x, y_w) − r_φ(x, y_l))]
Solo importan las diferencias de recompensa: r_φ está definida salvo una constante. Comparar es más fiable que puntuar: los anotadores discrepan menos en "¿cuál es mejor?" que en "¿cuánto vale esta del 1 al 10?".
Maximizar r_φ a secas invita al reward hacking (respuestas largas, aduladoras o degeneradas que engañan al RM). Por eso el objetivo real es:
max_θ E_{y~π_θ} [ r_φ(x, y) ] − β · KL( π_θ(·|x) ‖ π_ref(·|x) )
La penalización KL ancla la política a la referencia π_ref (el modelo SFT): β pequeño permite explorar más (y hackear más); β grande congela el modelo. En la práctica se añade como término por token a la recompensa y se optimiza con PPO, manteniendo 3–4 copias del modelo en memoria (política, referencia, RM, crítico).
DPO (Rafailov et al., 2023) parte de que el óptimo del objetivo anterior tiene forma cerrada π*(y|x) ∝ π_ref(y|x)·exp(r(x,y)/β). Despejando r y sustituyendo en Bradley–Terry, la recompensa desaparece y queda una pérdida supervisada sobre los propios pares de preferencia:
L_DPO = −E[ log σ( β·( log π_θ(y_w|x)/π_ref(y_w|x) − log π_θ(y_l|x)/π_ref(y_l|x) ) ) ]
Intuición: sube la probabilidad relativa (vs. referencia) de la respuesta preferida y baja la de la rechazada, con β controlando la fuerza. Sin RM separado, sin muestreo online, sin PPO: entrena como un fine-tuning normal con dos forwards por ejemplo (θ y ref). RLAIF sustituye anotadores humanos por un LLM que juzga con una constitución/criterios — misma matemática, otra fuente de preferencias.
Modelo de recompensa sobre un par: r(x, y_w) = 2,0 y r(x, y_l) = 0,5.
P(y_w ≻ y_l) = σ(2,0 − 0,5) = σ(1,5) = 1/(1+e^−1,5) ≈ 0,817
L_RM = −ln 0,817 ≈ 0,202
Si el RM se equivocara (r_w = 0,5, r_l = 2,0): P = σ(−1,5) ≈ 0,182 → L ≈ 1,703.
Paso DPO con β = 0,1 (log-probs totales de cada respuesta):
log π_θ(y_w) = −12,0 log π_ref(y_w) = −12,5 → ventaja_w = +0,5
log π_θ(y_l) = −10,0 log π_ref(y_l) = −9,0 → ventaja_l = −1,0
margen = β·(0,5 − (−1,0)) = 0,1·1,5 = 0,15
L_DPO = −ln σ(0,15) ≈ −ln 0,537 ≈ 0,621
El gradiente empuja a aumentar π_θ(y_w) y reducir π_θ(y_l), con más fuerza cuanto más "sorprendido" está el modelo (margen pequeño o negativo).
| Aspecto | RLHF (PPO) | DPO | RLAIF |
|---|---|---|---|
| Modelo de recompensa | Explícito, entrenado aparte | Implícito en la pérdida | Explícito o implícito |
| Fuente de preferencias | Humanos | Humanos | LLM juez con criterios |
| Muestreo durante el entrenamiento | Online (genera y evalúa) | Offline (dataset fijo) | Según variante |
| Modelos en memoria | 3–4 (π, ref, RM, crítico) | 2 (π, ref) | Según variante |
| Estabilidad / complejidad | Frágil, muchos hiperparámetros | Estable, tipo SFT | Hereda del método base |
| Riesgo característico | Reward hacking del RM | Sobreajuste al dataset de pares | Sesgos del juez amplificados |
flowchart TD
A[Modelo SFT] --> B[Generar K respuestas por prompt]
B --> C[Humanos o LLM ordenan pares y_w vs y_l]
C --> D{Metodo}
D -->|RLHF| E[Entrenar RM con Bradley-Terry]
E --> F[PPO: max r - beta·KL vs referencia]
D -->|DPO| G[Perdida directa sobre pares con beta]
F --> H[Politica alineada]
G --> H
H -.reward hacking / sobreajuste.-> C
- "El RM mide la calidad verdadera." Mide preferencias de anotadores bajo incentivos y guías concretas; optimizarlo demasiado produce adulación y verbosidad (reward hacking), no calidad.
- "La KL es un tecnicismo opcional." Sin ella, PPO destruye el modelo en pocos pasos (texto degenerado con recompensa alta). β es el hiperparámetro central.
- "DPO no tiene modelo de recompensa." Lo tiene implícito: r̂ = β·log(π_θ/π_ref); DPO evita entrenarlo por separado, no lo elimina.
- "RLHF enseña hechos nuevos." Ajusta comportamiento y estilo sobre las capacidades ya existentes; no añade conocimiento.
- "Preferencias = verdad." Los anotadores prefieren respuestas seguras, largas y confiadas; el modelo aprende también esos sesgos (p. ej., confianza injustificada).
Un pipeline real necesita: miles-millones de comparaciones con control de calidad inter-anotador; evaluación del RM en pares retenidos (accuracy ~65–75 % es lo normal — los humanos también discrepan); vigilancia de reward hacking con evals adversariales; decisión RLHF vs DPO según infraestructura (DPO domina en equipos pequeños); y monitoreo del "impuesto de alineamiento" sobre capacidades base tras cada ronda.
python lab.pyEl laboratorio llama a ai_evolution.labs.run_lab("probability"). Esta
decisión evita 183 implementaciones divergentes: cada clase tiene un entrypoint
propio, pero los motores didácticos se prueban como una biblioteca común.
- tipo de laboratorio y semilla;
- entradas o decisiones observables;
- resultado estructurado;
- lista
evidencecon hechos que pueden inspeccionarse; - lista
limitationsque impide presentar la demo como producción.
- 📓
notebook.ipynb: recorrido guiado con la materia resumida. - ✍️
notebook_student.ipynb: ejercicios para resolver. - ✅
notebook_solution.ipynb: solución de referencia explicada.
| Criterio | Peso |
|---|---|
| Comprensión conceptual | 25 % |
| Ejecución reproducible | 25 % |
| Interpretación basada en evidencia | 25 % |
| Riesgos, límites y mejora propuesta | 25 % |
Consulta assessment.md para preguntas y criterio de aceptación.
| Síntoma | Causa probable | Corrección |
|---|---|---|
| El código corre, pero no hay conclusión | Se confundió ejecución con aprendizaje | Explica qué demuestra y qué no demuestra |
| El resultado cambia sin explicación | No se registró semilla o configuración | Conserva semilla, versión y parámetros |
| Se promete uso real | Se extrapoló desde una demo educativa | Declara entorno, datos, límites y revisión humana |
| Se copia una métrica aislada | No existe baseline ni costo de error | Añade comparación y criterio de decisión |
¿Debo usar una API comercial?
No. El núcleo funciona localmente. Las extensiones LIVE se documentan por separado.
¿El laboratorio representa una implementación industrial?
No por sí solo. Enseña el contrato y el patrón; producción exige integración,
seguridad, observabilidad, pruebas y operación.
¿Dónde profundizo?
Revisa las especializaciones enlazadas en el README raíz y la ruta siguiente.
- Ouyang et al. (2022), Training language models to follow instructions with human feedback (InstructGPT/RLHF): https://arxiv.org/abs/2203.02155 — uso: fuente primaria del mecanismo estudiado
- Rafailov et al. (2023), Direct Preference Optimization: Your Language Model is Secretly a Reward Model: https://arxiv.org/abs/2305.18290 — uso: fuente primaria del mecanismo estudiado
- Christiano et al. (2017), Deep Reinforcement Learning from Human Preferences: https://arxiv.org/abs/1706.03741 — uso: fuente primaria del mecanismo estudiado
- Bai et al. (2022), Constitutional AI: Harmlessness from AI Feedback (RLAIF): https://arxiv.org/abs/2212.08073 — uso: fuente primaria del mecanismo estudiado
- Schulman et al. (2017), Proximal Policy Optimization Algorithms (PPO): https://arxiv.org/abs/1707.06347 — uso: fuente primaria del mecanismo estudiado
- Sutton y Barto, Reinforcement Learning: An Introduction (2.ª ed.): http://incompleteideas.net/book/the-book-2nd.html — uso: desarrollo extendido del tema
Bloque generado por
python scripts/link_papers_to_classes.py. La fuente espapers/catalog/papers.json.
| Paper | Año | Qué desbloqueó | Miniatura |
|---|---|---|---|
| P12 · Entrenar modelos de lenguaje para seguir instrucciones con retroalimentación humana | 2022 | El salto de «modelo que completa texto» a «asistente que sigue instrucciones»: alineación con preferencias humanas. | notebook |
| P15 · Optimización directa de preferencias: tu modelo de lenguaje ya es un modelo de recompensa | 2023 | Alinear un modelo con preferencias humanas sin modelo de recompensa explícito ni bucle de aprendizaje por refuerzo. | notebook |
| P22 · DeepSeek-R1: incentivar la capacidad de razonamiento mediante aprendizaje por refuerzo | 2025 | El razonamiento se incentiva con refuerzo puro, sin trazas humanas anotadas; y es el primer LLM de pesos abiertos publicado tras revisión por pares. | notebook |
| P50 · IA constitucional: inocuidad a partir de retroalimentación de IA | 2022 | Sustituye parte del juicio humano por un conjunto de principios explícitos y auditables, y por la autocrítica del modelo. | notebook |
Cada ficha explica el problema anterior, la matemática mínima, los límites y los errores de atribución más frecuentes. Para leerlas con método: cómo leer un paper de IA · anexos matemáticos.
Bloque generado por
python scripts/link_sources_to_classes.py. Cada obra lleva su localizador verificado ensources/bibliography.json.
Los papers dicen de dónde salió el mecanismo. Estas obras lo desarrollan con el espacio que una clase no tiene: teoría completa, demostraciones y ejercicios.
| Obra | Edición | Localizador | Papel en esta clase |
|---|---|---|---|
| Sutton, Richard S. y Barto, Andrew G. — Reinforcement Learning: An Introduction | 2.ª · 2018 | ISBN 9780262039246 · web de la obra | citada en las referencias de esta clase |
| Jurafsky, Daniel y Martin, James H. — Speech and Language Processing | 2.ª (la 3.ª circula como borrador abierto sin ISBN) · 2009 | ISBN 9780131873216 · web de la obra | obra de referencia de la parte 06 · capítulos de modelos de lenguaje y transformadores |
| Goodfellow, Ian, Bengio, Yoshua y Courville, Aaron — Deep Learning | 2016 | ISBN 9780262035613 · web de la obra | obra de referencia de la parte 06 · optimización y entrenamiento a escala |