Saltar al contenido
← AI Alignment: de RLHF a la interpretabilidad

Lección 12 de 16 · Lecturas complementarias · 25 min

RLHF: aprender de preferencias humanas

De Christiano et al. (2017) a InstructGPT: SFT, reward model con Bradley-Terry y PPO con penalización KL, con las ecuaciones completas.


La idea central

Muchas veces no sabemos escribir una función de recompensa, pero sí sabemos comparar. Es difícil definir qué es "un buen resumen", pero si te muestro dos resúmenes, puedes decir cuál prefieres. Comparar es más fácil y más consistente entre personas que puntuar en escala absoluta.

RLHF (Reinforcement Learning from Human Feedback, aprendizaje por refuerzo desde feedback humano) explota esto en dos pasos: primero aprende una función de recompensa a partir de comparaciones humanas, y después optimiza una política contra esa recompensa aprendida.

Christiano et al. (2017): el origen moderno

El paper Deep Reinforcement Learning from Human Preferences mostró que este esquema funciona en entornos de control (MuJoCo) y en juegos de Atari. El loop era:

  1. La política actual genera pares de segmentos de trayectoria (clips cortos).
  2. Un humano indica cuál de los dos clips prefiere.
  3. Un reward model r^\hat r se entrena para predecir esas preferencias.
  4. La política se optimiza con RL contra r^\hat r.
  5. Se repite, consultando al humano en los pares más informativos.

El resultado notable fue la eficiencia: comportamientos complejos (como que un robot simulado haga una voltereta hacia atrás) se aprendieron con del orden de cientos a pocos miles de consultas humanas, una fracción mínima de las interacciones del agente con el entorno.

El modelo de Bradley-Terry

¿Cómo convertimos comparaciones en una recompensa escalar? Asumimos que existe una recompensa latente r(x,y)r(x, y) para un prompt xx y una respuesta yy, y que la probabilidad de que un humano prefiera ywy_w (winner) sobre yly_l (loser) sigue el modelo de Bradley-Terry:

P(yw≻yl∣x)=exp⁡(r(x,yw))exp⁡(r(x,yw))+exp⁡(r(x,yl))=σ(r(x,yw)−r(x,yl))P(y_w \succ y_l \mid x) = \frac{\exp\big(r(x, y_w)\big)}{\exp\big(r(x, y_w)\big) + \exp\big(r(x, y_l)\big)} = \sigma\big(r(x, y_w) - r(x, y_l)\big)

donde σ\sigma es la función sigmoide. Solo importa la diferencia de recompensas: sumarle una constante a rr no cambia nada. Esto es importante para DPO, en la próxima lección.

Parametrizamos rϕr_\phi con una red (en LLMs, típicamente el mismo transformer con una cabeza lineal que produce un escalar) y maximizamos la verosimilitud del dataset de comparaciones D\mathcal{D}:

LRM(ϕ)=− E(x,yw,yl)∼D[log⁡σ(rϕ(x,yw)−rϕ(x,yl))]\mathcal{L}_{\text{RM}}(\phi) = -\,\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}}\Big[ \log \sigma\big(r_\phi(x, y_w) - r_\phi(x, y_l)\big) \Big]

para cada par de respuestas, que el reward model rϕr_\phi le ponga más nota a la que eligió la persona (ywy_w) que a la otra (yly_l). σ\sigma convierte esa diferencia en una probabilidad

Es una regresión logística sobre diferencias. En código:

python
import torch
import torch.nn.functional as F

def reward_model_loss(r_chosen: torch.Tensor, r_rejected: torch.Tensor) -> torch.Tensor:
    """
    r_chosen, r_rejected: tensores de forma (batch,) con la recompensa escalar
    que el reward model asigna a la respuesta preferida y a la rechazada.
    """
    # -log σ(r_w - r_l), usando logsigmoid por estabilidad numérica
    return -F.logsigmoid(r_chosen - r_rejected).mean()

Comprueba tu comprensión

Si a todas las salidas del reward model les sumamos una constante c, ¿qué pasa con la pérdida de Bradley-Terry?

InstructGPT: el pipeline de tres etapas

Ouyang et al. (2022) aplicaron RLHF a GPT-3 y establecieron el pipeline que, con variaciones, se convirtió en estándar:

Etapa 1 — SFT (Supervised Fine-Tuning). Etiquetadores escriben demostraciones de respuestas ideales para prompts reales. Se hace fine-tuning supervisado del modelo preentrenado. Resultado: πSFT\pi^{\text{SFT}}.

Etapa 2 — Reward model. Para cada prompt, se muestrean varias respuestas de πSFT\pi^{\text{SFT}} y los etiquetadores las ordenan. Un ranking de KK respuestas genera (K2)\binom{K}{2} comparaciones por pares. InstructGPT usó KK entre 4 y 9, y trató todas las comparaciones de un mismo prompt como un solo elemento del batch para evitar overfitting (las comparaciones de un prompt están muy correlacionadas).

Etapa 3 — RL con PPO. Se optimiza la política contra el reward model con PPO (Proximal Policy Optimization), con una penalización por alejarse del modelo SFT.

El resultado más citado: los evaluadores humanos prefirieron las salidas del modelo InstructGPT de 1.3B parámetros sobre las de GPT-3 de 175B. Alinear el comportamiento con la intención del usuario rindió más que dos órdenes de magnitud de escala.

El objetivo de RL con penalización KL

La recompensa que optimiza PPO en InstructGPT no es solo rϕr_\phi. Es:

R(x,y)=rϕ(x,y)−βlog⁡πθ(y∣x)πSFT(y∣x)R(x, y) = r_\phi(x, y) - \beta \log \frac{\pi_\theta(y \mid x)}{\pi^{\text{SFT}}(y \mid x)}

la nota que se optimiza: la del reward model, menos una multa por cuánto más probable hace la política actual esa respuesta que el modelo SFT

El segundo término es, en esperanza, la divergencia KL entre la política actual y la de SFT. El objetivo completo es:

max⁡πθ  Ex∼D, y∼πθ(⋅∣x)[rϕ(x,y)]−β DKL(πθ(⋅∣x) ∥ πSFT(⋅∣x))\max_{\pi_\theta} \; \mathbb{E}_{x \sim \mathcal{D},\, y \sim \pi_\theta(\cdot \mid x)} \big[ r_\phi(x, y) \big] - \beta \, D_{\text{KL}}\big( \pi_\theta(\cdot \mid x) \,\|\, \pi^{\text{SFT}}(\cdot \mid x) \big)

en resumen: maximizar la nota del reward model sin alejarse demasiado del modelo SFT; β\beta pesa esa distancia (la KL)

Es exactamente la ecuación de Goodhart de la lección anterior, con el reward model como proxy y el modelo SFT como referencia. La penalización KL cumple dos funciones:

  1. Anti-Goodhart. El reward model fue entrenado con respuestas de πSFT\pi^{\text{SFT}}. Lejos de esa distribución, sus predicciones no son confiables. La KL mantiene a la política en la zona donde el RM sabe de qué habla.
  2. Anti-colapso. Sin KL, la política tiende a colapsar en unas pocas respuestas de alta recompensa (pérdida de diversidad) o a generar texto degenerado que explota al RM.

InstructGPT además mezcló gradientes de preentrenamiento (la variante "PPO-ptx") para mitigar la alignment tax (impuesto de alineación): las caídas de rendimiento en benchmarks académicos que aparecían tras RLHF.

Comprueba tu comprensión

¿Por qué el reward model se vuelve poco confiable si la política se aleja mucho de π^SFT?

PPO en dos párrafos

PPO es un algoritmo de policy gradient que evita actualizaciones demasiado grandes. Define el ratio ρt(θ)=πθ(at∣st)/πθold(at∣st)\rho_t(\theta) = \pi_\theta(a_t \mid s_t) / \pi_{\theta_{\text{old}}}(a_t \mid s_t) y optimiza un objetivo "recortado":

LCLIP(θ)=Et[min⁡(ρt(θ)A^t,  clip(ρt(θ),1−ϵ,1+ϵ) A^t)]\mathcal{L}^{\text{CLIP}}(\theta) = \mathbb{E}_t\Big[ \min\big( \rho_t(\theta) \hat A_t,\; \text{clip}(\rho_t(\theta), 1-\epsilon, 1+\epsilon)\, \hat A_t \big) \Big]

donde A^t\hat A_t es una estimación de la ventaja (cuánto mejor fue la acción que el promedio), típicamente con GAE y una value network (red de valor) entrenada en paralelo. En LLMs cada token es una acción, el estado es el prompt más los tokens generados, y la recompensa del RM llega solo al final de la secuencia, mientras la penalización KL se aplica por token.

En la práctica, RLHF con PPO implica tener en memoria cuatro modelos: la política, la referencia, el reward model y la value network. Es caro, inestable y sensible a hiperparámetros. Esa fricción es la motivación directa de DPO.

Límites conocidos de RLHF

  • Calidad del evaluador. La señal es tan buena como el juicio humano. Si los evaluadores no pueden detectar errores sutiles (código con bugs, afirmaciones fácticas incorrectas pero convincentes), el RM aprende a premiar lo convincente.
  • Sycophancy. Hay evidencia empírica (por ejemplo, Sharma et al., 2023) de que modelos entrenados con RLHF tienden a coincidir con las opiniones expresadas por el usuario, un patrón coherente con que los evaluadores prefieren respuestas que les dan la razón.
  • Sobreoptimización del RM. Con suficiente presión, la política explota al RM (Gao et al., 2022).
  • Agregación de preferencias. Un único RM escalar promedia preferencias de muchas personas que pueden no estar de acuerdo. ¿Las preferencias de quién estamos optimizando?

Comprueba tu comprensión

¿Cuál de estos es el principal costo práctico de RLHF con PPO que motiva alternativas como DPO?

¿Qué tal esta lección?

Sé el primero en calificarla

Entra para calificar

¿Terminaste la lección?

Márcala para sumar +50 XP y mantener tu racha.