Skip to content

English · Español

03 — PPO para lenguaje: la receta de InstructGPT

🇪🇸 La receta InstructGPT: SFT → RM → PPO con penalización KL al modelo de referencia. La restricción KL es lo que evita que el modelo se vaya a la deriva.

La receta en tres etapas

InstructGPT (Ouyang et al. 2022) estandarizó:

  1. SFT. Ajusta el LM preentrenado sobre pares \((x, y_{\text{demo}})\). Llama al resultado \(\pi^{\text{SFT}}\).
  2. RM. Entrena \(r_\phi\) sobre datos de preferencia pareados a partir de muestras de \(\pi^{\text{SFT}}\) (capítulo 02).
  3. PPO. Corre PPO con \(\pi^{\text{SFT}}\) tanto como inicialización como política de referencia congelada \(\pi_{\text{ref}}\). La recompensa en cada token es la recompensa del RM más una penalización KL por token.

El objetivo completo

Para un prompt \(x\) y una respuesta muestreada \(y \sim \pi_\theta(\cdot \mid x)\), la recompensa por trayectoria es

\[ R(x, y) = r_\phi(x, y) - \beta\, \mathrm{KL}\!\left(\pi_\theta(\cdot \mid x) \,\Vert\, \pi_{\text{ref}}(\cdot \mid x)\right) \]

En la práctica el KL se calcula por token y se pliega en la recompensa por token (o como señal de shaping por token):

\[ \tilde r_t = -\beta\, \log \frac{\pi_\theta(y_t \mid x, y_{<t})}{\pi_{\text{ref}}(y_t \mid x, y_{<t})} \]

con \(r_\phi\) añadido solo en el token final de la respuesta. El surrogate completo de PPO es entonces el \(\mathcal{L}^{\text{CLIP}}\) del capítulo 01, pero con ventajas calculadas a partir de esta recompensa shaped.

Por qué KL por token

El KL exacto \(\mathrm{KL}(\pi_\theta \| \pi_{\text{ref}})\) a nivel de secuencia requiere una suma sobre todas las secuencias posibles — intratable. Pero el log-ratio por token

\[ \log \pi_\theta(y_t \mid \cdot) - \log \pi_{\text{ref}}(y_t \mid \cdot) \]

es un estimador insesgado de muestra única del KL por paso cuando \(y_t \sim \pi_\theta\). Sumando estos a lo largo de la trayectoria se obtiene un estimador insesgado del KL a nivel de secuencia. Este es el "log-ratio trick" usado en todo codebase de RLHF.

Por qué la restricción KL es estructural

Sin el término \(\beta\, \mathrm{KL}\), la política se recompensa puramente por \(r_\phi\). Combinado con la curva en U de sobre-optimización (capítulo 02), esto lleva a:

  • Deriva a galimatías que al RM le encanta. El RM es una función. Las funciones tienen argmax. El argmax de un RM pequeño entrenado sobre preferencias de corrección gramatical no es una corrección gramatical — es una secuencia de tokens que casualmente puntúa alto. Sin el anclaje KL, PPO encuentra estas secuencias adversariales en unos pocos cientos de pasos.
  • Pérdida de fluidez. La distribución suave del LM preentrenado se destruye; la perplejidad sobre texto natural retenido explota.

El término KL dice: "permanece cerca de una distribución conocidamente buena." La distribución conocidamente buena es \(\pi^{\text{SFT}}\), que ya sabe producir frases en inglés. PPO solo puede entonces re-ponderar dentro del manifold de frases plausibles, no inventar nuevas.

Elegir \(\beta\)

InstructGPT usó \(\beta \approx 0{,}02\) para el modelo de 1,3B, y la sintonizaba de forma adaptativa (el "KL adaptativo" de Ziegler et al. 2019): incrementa \(\beta\) si la KL medida supera un objetivo, decrementa en caso contrario. Las recetas modernas a menudo usan \(\beta\) fijo en \([0{,}01, 0{,}1]\).

Efecto de \(\beta\):

  • \(\beta\) demasiado pequeña → deriva (sobre-optimización del capítulo 02).
  • \(\beta\) demasiado grande → política congelada en \(\pi^{\text{SFT}}\); sin mejora.

Los hiperparámetros de InstructGPT

Por reproducibilidad, el artículo de InstructGPT (Tabla 6, Ouyang et al. 2022) especifica para el modelo de 6B:

Hiperparámetro Valor
Optimizer Adam
Learning rate (policy) \(9{,}65 \times 10^{-6}\)
Learning rate (value) \(1{,}41 \times 10^{-5}\)
Batch size 512
Minibatch size 64
Epochs por rollout 4
Descuento \(\gamma\) 1,0 (sin descuento; horizonte finito)
GAE \(\lambda\) 0,95
Clip \(\epsilon\) 0,2
Value clip 0,2
Coeficiente KL \(\beta\) adaptativo, target KL ≈ 6 nats
Bonus de entropía 0,0
Rollouts por iteración 32 prompts × 16 muestras

Estos son los números que un entrevistador podría preguntar. La forma de la receta — Adam, LR pequeño, K=4 épocas de PPO, \(\epsilon=0{,}2\), GAE \(\lambda \approx 0{,}95\) — es estable a través de los artículos modernos de RLHF; solo varía el manejo del KL.

Qué falla en la práctica

Modos de fallo conocidos por practicantes (Casper et al. 2023, Zheng et al. 2023):

  1. Reward hacking (capítulo 02): sesgo de longitud, sycophancy, colapso de modo.
  2. Pico de KL. Un puñado de tokens de alta ventaja empuja la KL muy por encima del objetivo; el \(\beta\) adaptativo sobrepasa y oscila.
  3. Retraso de la función de valor. El crítico \(V_\phi\) se inicializa desde el RM; si está mal calibrado a la distribución del actor, las estimaciones de ventaja están sesgadas y el aprendizaje se estanca.
  4. Olvido catastrófico de habilidades SFT. Incluso con penalización KL, la política puede perder capacidades presentes en el modelo SFT que no se ejercitan con los prompts del batch de PPO. Arreglo: mezcla minibatches de pérdida SFT (Ouyang et al. 2022 "PPO-ptx").
  5. Fragilidad del modelo de recompensa en muestras OOD. El actor explora; las muestras exploradas están fuera de la distribución de entrenamiento del RM; las recompensas se vuelven arbitrarias. Arreglo: itera el bucle (recoge nuevas preferencias sobre nuevas muestras del actor, reentrena el RM, repite).

Por qué algunos usan DPO en su lugar

PPO para lenguaje tiene muchas piezas en movimiento: recolección de rollouts, estimación de ventaja, cabeza de valor separada, controlador adaptativo de KL, RM. La complejidad de ingeniería es alta; la reproducibilidad es baja (Wang et al. 2024 reportó una varianza por seed de PPO >5 puntos de tasa de victoria).

DPO (capítulo 04) colapsa el entrenamiento del RM y el RL en una única pérdida supervisada. No necesita rollouts; no necesita función de valor. Es una de las simplificaciones más llamativas en ML moderno — y el siguiente capítulo la deriva.

Enlaces cruzados

Referencias

  • Ziegler et al. 2019, Fine-Tuning Language Models from Human Preferences. arXiv:1909.08593.
  • Ouyang et al. 2022, Training language models to follow instructions with human feedback. arXiv:2203.02155.
  • Casper et al. 2023, Open Problems and Fundamental Limitations of RLHF. arXiv:2307.15217.
  • Zheng et al. 2023, Secrets of RLHF in Large Language Models Part I: PPO. arXiv:2307.04964.
  • Wang et al. 2024, Secrets of RLHF in Large Language Models Part II: Reward Modeling. arXiv:2401.06080.