Skip to content

English · Español

04 — Panorama de Alignment Tuning (DPO, ORPO, SimPO, RLHF, RLAIF)

🇪🇸 Panorama conceptual. Después de SFT (Fase 28 §1) viene un paso opcional: alinear las preferencias del modelo. RLHF lo hace con un modelo de recompensa + PPO; DPO lo hace cerrado en forma con una pérdida tipo cross-entropy entre pares de respuestas. Este documento explica las ideas; no implementamos ninguna en la Fase 28. Pero entender RLHF es entender el último paso del pipeline moderno.


Por qué existe esta sección

LoRA + SFT (el contenido real de la Fase 28) es el paso uno de un pipeline de dos pasos para el ajuste fino (fine-tuning) moderno:

  1. SFT — enseñar al modelo el formato y la capacidad correctos sobre ejemplos etiquetados.
  2. Alignment tuning — enseñar al modelo las preferencias correctas cuando existen múltiples respuestas válidas.

Para nuestra especialización en verbos irregulares, el paso 1 es suficiente. La respuesta correcta a He __ to school yesterday es went — sin ambigüedad de preferencia. Por eso la Fase 28 se detiene aquí.

Pero la literatura sobre alignment tuning es el área más activa de la investigación moderna en LLM, y desconocerla dejaría un hueco. Este archivo es un panorama de sólo lectura.

El planteamiento que motiva el alignment

Supongamos que un modelo ha sido sometido a SFT sobre seguimiento de instrucciones. Dado un prompt, puede producir completados razonables. Pero:

  • Para "Escríbeme un poema sobre el otoño", todos los completados son gramaticalmente correctos y razonablemente sobre el tema. ¿Cuál es mejor?
  • Para "Explica la fotosíntesis a un niño de 5 años", el modelo puede producir salidas técnicamente correctas pero inapropiadas (densas, con jerga).
  • Para "¿Es este correo phishing?", una probabilidad calibrada de "sí/no" importa más que la respuesta cruda.

SFT entrena al modelo sobre un único completado objetivo por prompt. No le dice al modelo cómo ordenar los completados. El alignment tuning aborda esto.

RLHF — la receta canónica

Aprendizaje por refuerzo (reinforcement learning) a partir de retroalimentación humana (Ouyang et al., InstructGPT, 2022; Christiano et al., 2017).

Tres etapas:

Etapa A: SFT.

Como se cubrió en theory 01.

Etapa B: Entrenamiento del modelo de recompensa.

Recolectar pares (prompt, completion_A, completion_B, label) donde label ∈ {A, B} indica qué completado prefirió el anotador humano. Entrenar un modelo de recompensa r_φ(prompt, completion) → ℝ tal que:

\[ \Pr(\text{A preferida sobre B}) = \sigma(r_\phi(p, A) - r_\phi(p, B)) \]

El modelo de recompensa se inicializa típicamente desde el modelo SFT (los mismos pesos), con la cabeza de LM reemplazada por una cabeza de regresión escalar. Pérdida: cross-entropy sobre la etiqueta de preferencia, equivalente al ranking Bradley-Terry.

Etapa C: Ajuste fino por RL con PPO.

Tratar el modelo como una política π_θ(completion | prompt). Ejecutar RL con recompensa = r_φ(prompt, completion), usando Proximal Policy Optimization (Schulman et al., 2017) para evitar que el modelo colapse en una distribución degenerada. Adición crítica: una penalización KL respecto al modelo SFT:

\[ \mathcal{L}_{\text{RLHF}}(\theta) = - \mathbb{E}_{p, c \sim \pi_\theta} [r_\phi(p, c)] + \beta \cdot \mathbb{E}_{p} [D_{\text{KL}}(\pi_\theta(\cdot | p) \| \pi_{\text{SFT}}(\cdot | p))] \]

El término KL evita el reward hacking — que el modelo encuentre completados con alta puntuación bajo r_φ pero que sean galimatías o poco naturales bajo la distribución original.

Ventajas: Maduro; la técnica detrás de GPT-3.5, GPT-4, Claude, LLaMA-2-chat. Empíricamente efectiva.

Inconvenientes: Pipeline de tres etapas. El modelo de recompensa es a su vez un LLM — pesado. PPO es delicado de ajustar (tasa de aprendizaje, composición del batch, coeficiente KL β). El reward hacking se cuela por caminos sutiles. Requiere un paso de muestreo separado en tiempo de entrenamiento (estás generando completados para evaluarlos, no sólo haciendo backprop sobre etiquetas).

DPO — direct preference optimization

Direct Preference Optimization (Rafailov et al., 2023).

La observación brillante: las etapas B y C de RLHF pueden colapsarse. Hay una expresión cerrada para la política óptima bajo el objetivo RLHF, y permite derivar una única función de pérdida que opera directamente sobre pares de preferencia (prompt, win, lose).

La pérdida DPO:

\[ \mathcal{L}_{\text{DPO}}(\theta) = - \mathbb{E}_{(p, y_w, y_l) \sim D} \log \sigma\Bigl( \beta \log \frac{\pi_\theta(y_w | p)}{\pi_{\text{ref}}(y_w | p)} - \beta \log \frac{\pi_\theta(y_l | p)}{\pi_{\text{ref}}(y_l | p)} \Bigr) \]

Donde π_ref es el modelo SFT (la referencia) y β juega el mismo papel que el coeficiente KL en RLHF.

Mecánicamente: esto es cross-entropy sobre un problema de 2 clases (win vs lose), modulado por los cocientes de log-verosimilitud. Sin modelo de recompensa. Sin RL. Sólo descenso de gradiente sobre pares de preferencia.

Ventajas: Una sola etapa. Estable. Más fácil de implementar y de ajustar hiperparámetros que PPO. Calidad comparable o mejor que RLHF en la mayoría de benchmarks. El estándar de facto desde mediados de 2023.

Inconvenientes: Sigue requiriendo un dataset de preferencias por pares. Sensible a la elección de β. No maneja de forma natural retroalimentación no emparejada (escalas de valoración individual).

ORPO y SimPO — las simplificaciones siguientes

ORPO (Odds Ratio Preference Optimization, Hong et al. 2024) elimina por completo la política de referencia π_ref. La pérdida sólo depende de π_θ:

\[ \mathcal{L}_{\text{ORPO}} \propto \log \sigma\bigl( \log \frac{\pi_\theta(y_w | p)}{1 - \pi_\theta(y_w | p)} - \log \frac{\pi_\theta(y_l | p)}{1 - \pi_\theta(y_l | p)} \bigr) + \lambda \cdot \mathcal{L}_{\text{SFT}} \]

Combina SFT y aprendizaje de preferencias en un único paso de entrenamiento. Sin modelo de referencia no hay memoria extra.

SimPO (Meng et al., 2024) simplifica todavía más usando log-probabilidades normalizadas por longitud y un término de margen. Reporta menos hiperparámetros y resultados empíricos ligeramente más fuertes.

El punto es: la literatura de alignment tuning está convergiendo rápidamente hacia pérdidas simples, de una sola etapa, sobre preferencias emparejadas, con uno o dos hiperparámetros. El stack RLHF se ve ahora como la baseline pesada que los métodos más simples buscan igualar.

RLAIF — cuando los humanos son el cuello de botella

RL a partir de retroalimentación de IA (AI) (Bai et al., Constitutional AI de Anthropic, 2022). Reemplazar a los anotadores humanos de preferencias por un LLM fuerte. El LLM ordena los completados, opcionalmente siguiendo una "constitución" (una lista de principios como "sé útil pero no dañino").

Ventajas: Escalable; no se atasca en el throughput o el presupuesto del anotador. El coste de anotación pasa de $1-5/par (humano) a $0.01/par (LLM).

Inconvenientes: Hereda los sesgos del modelo que ordena. Riesgo de destilación de preferencias (el modelo entrenado se convierte en una copia del rankeador, no en algo mejor que él).

Usado por: Anthropic para Claude, y cada vez más por otros laboratorios de frontera como aumento de datos sintéticos.

Cómo compone LoRA con el entrenamiento de alignment

Práctica estándar: SFT con LoRA (como en la Fase 28), luego DPO con LoRA encima del adapter de SFT. Dos etapas de LoRA, ambas baratas. La receta final de inferencia: cargar el modelo base una vez + cargar ambos adapters de LoRA + fusionar (merge) o aplicar al vuelo.

Esto es mecánicamente directo pero añade complejidad (gestionar adapters multi-etapa). La mayoría de los despliegues en producción fusionan LoRA después de cada etapa; la estructura por etapas no es visible en inferencia.

Dónde se detiene la Fase 28

La Fase 28 implementa SFT con LoRA sobre la tarea de conjugación de verbos irregulares. No implementamos:

  • Un modelo de recompensa.
  • Funciones de pérdida PPO o DPO.
  • Prompts de Constitutional AI.
  • Cadenas de LoRA multi-etapa.

Un aprendiz motivado podría extender la Fase 28 con un pequeño experimento de DPO — p. ej., entrenar un modelo de preferencia para ordenar went > goed > wented (aceptabilidad decreciente), y luego ejecutar DPO. Esto es una side-quest, no está en el DoD.

Una nota sobre la política

El alignment tuning es el sitio inmediato de la mayor parte de la ingeniería de "seguridad" y "valores" en los LLM modernos. La elección del dataset de preferencias, la constitución, el modelo rankeador — todo codifica los valores del equipo que los ejecuta. Esto es una característica, no un bug: la alternativa ("publicar el modelo base sin editar") traslada la responsabilidad al desplegador sin eliminar los valores embebidos.

La matemática es neutral en valores. Los datos no lo son. La Fase 28 esquiva esto por completo (el corpus es gramática verbal en inglés; hay una única respuesta correcta por prompt). A escalas mayores, la composición de los datos es la variable decisiva.

Problemas de práctica

Son conceptuales — sin cómputo. Soluciones en la apertura de la fase en solutions/04-alignment-survey-ref.md.

  1. ¿Por qué RLHF usa un modelo de recompensa separado en lugar de usar las etiquetas de preferencia humana directamente como señal supervisada sobre el modelo de lenguaje?
  2. Deriva la pérdida DPO de manera informal: partiendo del objetivo RLHF (recompensa menos penalización KL), aplica el modelo de preferencia Bradley-Terry y la política óptima en forma cerrada. Esboza el álgebra.
  3. RLHF tiene un modo de fallo de "reward hacking" en el que el modelo encuentra completados con alta puntuación bajo el modelo de recompensa pero degenerados bajo la distribución original. ¿Cómo previene esto la penalización KL? ¿Qué ocurre si β es demasiado pequeño? ¿Demasiado grande?
  4. ¿Por qué la eliminación de la política de referencia π_ref en ORPO es plausible pero arriesgada? ¿Qué aporta π_ref que ORPO reemplaza con el término λ · L_SFT?
  5. Supón que quisiéramos añadir DPO a la Fase 28 como side-quest. Esboza el dataset de preferencias: ¿qué pares (prompt, win, lose) enseñarían al modelo a preferir las conjugaciones irregulares correctas?

Recapitulación en un párrafo

Después de que SFT enseña al modelo qué decir, el alignment tuning le enseña de qué manera decirlo. RLHF es la receta canónica de tres etapas (SFT → modelo de recompensa → PPO con penalización KL), pero pesada. DPO colapsa las etapas B y C en una única pérdida en forma cerrada sobre pares de preferencia, simplificando drásticamente. ORPO y SimPO empujan más allá eliminando la política de referencia. RLAIF reemplaza a los anotadores humanos por LLM fuertes para escalar. LoRA compone con todos ellos — típicamente como cadenas de adapter separadas para SFT y DPO. La Fase 28 implementa sólo SFT-con-LoRA; la superficie de alignment tuning se reseña aquí por completitud, pero no se ejercita. La matemática es general; la elección de qué preferencias entrenar codifica los valores del equipo que ejecuta el entrenamiento.

Siguiente: lab/00-lora-by-hand.md.