Phase 18 - Lesson 01
Seguimiento de Instrucciones como Señal de Alineación
Toda crítica posterior a RLHF cuestiona este flujo de trabajo. Antes de estudiar cómo la presión de optimización distorsiona un proxy, debes conocer el proxy. InstructGPT (Ouyang et al., 2022) definió la arquitectura de referencia: ajuste fino supervisado (SFT) en parejas de instrucción-respuesta, un modelo de recompensa entrenado en clasificaciones de preferencia en pares, y PPO contra el modelo de recompensa con una penalidad KL hacia la política SFT. Un InstructGPT de 1.3B fue preferido frente a un GPT-3 de 175B. Ese único resultado es la razón por la cual cada laboratorio de frontera en 2026 todavía distribuye flujos de post-entrenamiento basados en RLHF.
Tipo: Learn Lenguajes: Python (stdlib, flujo simple de tres etapas) Prerrequisitos: Fase 10 · 06 (SFT), Fase 10 · 07 (RLHF), Fase 10 · 08 (DPO) Tiempo: ~45 minutos
Objetivos de Aprendizaje
- Nombrar las tres etapas del flujo de InstructGPT y la pérdida (loss) utilizada en cada una.
- Explicar por qué un modelo de 1.3B ajustado por instrucciones superó a GPT-3 bruto de 175B en las evaluaciones de preferencia humana.
- Definir contra qué protege la penalidad KL en la etapa 3 y por qué su eliminación colapsa a un comportamiento de búsqueda de modo (mode-seeking).
- Describir el impuesto de alineación (alignment tax) y la mitigación PPO-ptx que Ouyang et al. usaron contra él.
El Problema
Los modelos de lenguaje pre-entrenados completan texto. No responden preguntas. Pídele a GPT-3 "escribe una función de Python que invierta una lista" y a menudo obtendrás otro prompt, porque la mayor parte de la distribución de entrenamiento es texto web que continúa con más texto web. El modelo hace su trabajo; el trabajo es incorrecto.
El proxy que todo laboratorio serio utilizó para solucionar esto es la preferencia humana. Dos respuestas van a un evaluador; el evaluador elige la mejor; un modelo de recompensa aprende del evaluador. Luego, un ciclo de RL desplaza la política hacia salidas con puntuaciones altas en el modelo de recompensa. Esa es la tesis completa de InstructGPT en tres oraciones. El resto del artículo es ingeniería.
El Concepto
Etapa 1: ajuste fino supervisado (SFT)
Recopila pares de prompt-respuesta donde la respuesta es lo que escribiría un humano bien intencionado. Ouyang et al. usaron 13k prompts de anotadores y de la API de OpenAI. Ajusta el modelo base con estos datos usando la pérdida estándar de entropía cruzada.
Lo que te da SFT: el modelo ahora responde preguntas en lugar de continuarlas. Lo que no te da: ninguna señal sobre qué respuesta prefiere el evaluador cuando múltiples son plausibles.
Etapa 2: modelo de recompensa (RM)
Para cada prompt, genera K respuestas del modelo SFT. Un anotador las clasifica. Entrena un modelo de recompensa que califica cualquier par de prompt-respuesta de modo que, para los pares donde se prefirió y_w sobre y_l:
L_RM = -log sigmoid(r(x, y_w) - r(x, y_l))
Esta es la pérdida de preferencia en pares de Bradley-Terry. El RM generalmente se inicializa a partir del modelo SFT reemplazando la cabeza de LM por una cabeza escalar.
Los modelos de recompensa son pequeños: 6B fue suficiente para InstructGPT de 175B. También son frágiles; la sección 5 del artículo trata principalmente sobre comportamientos de hackeo de recompensa (reward hacking) que aparecieron a escala pequeña.
Etapa 3: PPO con penalidad KL
Define el objetivo:
J(pi) = E_{x~D, y~pi(.|x)} [ r(x, y) ] - beta * KL(pi(.|x) || pi_SFT(.|x))
Maximiza con PPO. El término KL evita que pi se desvíe lejos de la política SFT. Sin él, el optimizador encuentra ejemplos adversarios —cadenas que obtienen puntajes altos en el RM porque el RM nunca las vio, no porque los humanos realmente las prefieran.
El coeficiente KL beta es el hiperparámetro de RLHF más importante. Demasiado bajo: hackeo de recompensa. Demasiado alto: sin mejoras respecto a SFT.
El impuesto de alineación (alignment tax)
Después de RLHF, el modelo es preferido por los humanos pero regresa en benchmarks estándar (SQuAD, HellaSwag, DROP). Ouyang et al. llaman a esto el impuesto de alineación y lo solucionan con PPO-ptx: mezclando gradientes de pre-entrenamiento en el objetivo de RL para que el modelo no olvide cómo resolver tareas posteriores para las cuales nunca fue recompensado.
J_ptx(pi) = J(pi) + gamma * E_{x~D_pretrain} [ log pi(x) ]
PPO-ptx se convirtió en un estándar. Anthropic, DeepMind y Meta utilizan alguna variante.
El resultado
Los anotadores prefirieron un InstructGPT de 1.3B (SFT + RM + PPO-ptx) sobre el GPT-3 base de 175B aproximadamente el 70% de las veces. La brecha se amplía en prompts de prueba ocultos del tráfico de producción. Dos conclusiones clave de esta cifra:
- La alineación es un eje diferente de la capacidad. El modelo de 175B tenía más capacidad; el modelo de 1.3B tenía más alineación; los anotadores prefirieron el modelo alineado.
- El límite mínimo de capacidad lo define el modelo base. No puedes usar RLHF para que un modelo conozca hechos que nunca vio.
Por qué este es el punto de referencia para la Fase 18
Toda crítica en lecciones posteriores —hackeo de recompensa (Lección 2), DPO (Lección 3), adulación (Lección 4), CAI (Lección 5), agentes encubiertos (Lección 7), fingimiento de alineación (Lección 9)— ataca alguna parte de este flujo. El hackeo de recompensa ataca la etapa 2. DPO unifica las etapas 2 y 3. CAI reemplaza al anotador humano. La adulación muestra que el anotador es una señal sesgada. El fingimiento de alineación muestra que la política puede evadir la etapa 3 por completo. No puedes seguir ninguna de estas críticas sin comprender primero este flujo.
Use It
El arquivo code/main.py simula las tres etapas con datos de preferencia ficticios. La "política" base es una moneda sesgada sobre las acciones {A, B, C}. El SFT de la etapa 1 imita las acciones de anotadores en 200 prompts. La etapa 2 ajusta un modelo de recompensa Bradley-Terry de 500 clasificaciones en pares. La etapa 3 ejecuta una actualización simplificada de PPO con penalidad KL hacia la política SFT. Puedes ver cómo sube la recompensa, crece la divergencia KL y se desvía la política; además, puedes desactivar el término KL para ver aparecer el hackeo de recompensa en 50 pasos de actualización.
Qué observar:
- Trayectoria de la recompensa con
beta = 0.1vsbeta = 0.0. - KL(pi || pi_SFT) a lo largo de los pasos de entrenamiento.
- Distribuição de ações final em comparação com a preferência do anotador. -> - Distribución de acciones final en comparación con la preferencia del anotador.
Ship It
Esta lección produce outputs/skill-instructgpt-explainer.md. Dada la descripción de un flujo de RLHF o el resumen de un artículo, identifica cuál de las tres etapas está siendo modificada, qué pérdida se utiliza en cada etapa y si hay una penalidad KL o un regularizador equivalente.
Ejercicios
- Ejecuta
code/main.py. Configurabeta = 0.0e informa la distribución de acciones después de 200 pasos de PPO. Explica el comportamiento de búsqueda de modo (mode-seeking) en un párrafo. - Modifica el modelo de recompensa para tener un sesgo de +0.5 para la acción B (un error de recompensa simulado). Ejecuta PPO con
beta = 0.1. ¿Evita la penalidad KL que la política explote el sesgo? ¿En qué valor debetase hace visible la explotación? - Lee la Figura 1 de Ouyang et al. (arXiv:2203.02155). Reproduce la curva de preferencia del anotador ejecutando PPO durante 1, 5, 20, 100 pasos y midiendo la preferencia frente al modelo SFT.
- La Sección 4.3 del artículo informa que un InstructGPT de 1.3B supera al GPT-3 de 175B aproximadamente el 70% de las vezes. ¿Por qué la tasa sería mayor en prompts de producción ocultos que en los propios prompts de los anotadores? -> ¿Por qué la tasa sería mayor en prompts de producción ocultos que en los propios prompts de los anotadores?
- Reemplaza la pérdida de PPO con DPO (Fase 10 · 08) con los mismos datos de preferencia. Compara el desvío final de la política (KL a SFT) y la recompensa final. ¿Qué método se desvía más para una recompensa equivalente?
Términos Clave
| Término | Lo que dice la gente | Lo que realmente significa |
|---|---|---|
| SFT | "ajuste de instrucciones" | Etapa 1: ajuste fino de entropía cruzada en parejas de prompt-respuesta |
| Modelo de recompensa | "el RM" | Regresor escalar sobre (prompt, respuesta) entrenado con Bradley-Terry en etiquetas de pares |
| Bradley-Terry | "pérdida de preferencia en pares" | -log sigmoid(r_w - r_l); reduce la clasificación por parejas a clasificación binaria |
| Penalidad KL | "el regularizador" | beta * KL(pi |
| PPO-ptx | "PPO con mezcla de pre-entrenamiento" | Agrega una fracción de la log-verosimilitud de pre-entrenamiento al objetivo de PPO para compensar el impuesto de alineación |
| Impuesto de alineación | "la regresión de RLHF" | Caída posterior a RLHF en benchmarks estándar que RLHF no tenía como objetivo |
| Preferencia del anotador | "la verdad de referencia" | Muestra de clasificaciones humanas; el RM es un proxy estadístico de esto, no de "valores humanos" |