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ó:
- SFT. Ajusta el LM preentrenado sobre pares \((x, y_{\text{demo}})\). Llama al resultado \(\pi^{\text{SFT}}\).
- RM. Entrena \(r_\phi\) sobre datos de preferencia pareados a partir de muestras de \(\pi^{\text{SFT}}\) (capítulo 02).
- 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
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):
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
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):
- Reward hacking (capítulo 02): sesgo de longitud, sycophancy, colapso de modo.
- 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.
- 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.
- 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").
- 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¶
- Fase 19 — Dinámica de entrenamiento: los picos de KL, los coeficientes adaptativos y el gradient clipping viven aquí.
- Fase 28 — LoRA / QLoRA: PPO se suele correr sobre adaptadores LoRA; PPO con full-finetune es demasiado caro.
- Teoría 04 — DPO: el siguiente capítulo, que muestra que puedes saltarte casi todo esto.
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.