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: