Saltar al contenido principal

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:

L=−E[r(x,y)]+β⋅DKL(πθ∣∣πref)\mathcal{L} = -\mathbb{E}[r(x,y)] + \beta \cdot D_{KL}(\pi_\theta || \pi_{ref})