Capítulo 1: Aprendizaje por Refuerzo a partir de Retroalimentación Humana
El pipeline de RLHF
1. Preentrenar el modelo base
2. Ajuste fino supervisado (SFT) con demostraciones
3. Entrenar el modelo de recompensa con preferencias humanas
4. Ajuste fino con PPO utilizando el modelo de recompensa
Entrenamiento del modelo de recompensa
Las personas comparan pares de respuestas:
# Datos de preferencia humana
{
"prompt": "Explique la computación cuántica",
"chosen": "Buena explicación...",
"rejected": "Explicación deficiente..."
}
# El modelo de recompensa aprende: reward(chosen) > reward(rejected)
Entrenamiento con PPO
from trl import PPOTrainer, PPOConfig
ppo_config = PPOConfig(
learning_rate=1.41e-5,
batch_size=256,
mini_batch_size=1,
)
ppo_trainer = PPOTrainer(
model=model,
ref_model=ref_model,
tokenizer=tokenizer,
config=ppo_config,
)
Restricción de divergencia KL
Evita que el modelo se desvíe demasiado del original: