Pular para o conteúdo principal

Capítulo 1: Aprendizado por Reforço com Feedback Humano

O Pipeline de RLHF​

1. Pré-treinar o modelo base
2. Fine-tuning supervisionado (SFT) em demonstrações
3. Treinar o modelo de recompensa com preferências humanas
4. Fine-tuning com PPO usando o modelo de recompensa

Treinamento do Modelo de Recompensa​

Humanos comparam pares de respostas:

# Dados de preferência humana
{
"prompt": "Explain quantum computing",
"chosen": "Good explanation...",
"rejected": "Poor explanation..."
}

# O modelo de recompensa aprende: reward(chosen) > reward(rejected)

Treinamento com 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,
)

Restrição de Divergência KL​

Evita que o modelo se afaste demais do original:

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