Aller au contenu principal

Chapitre 1 : Apprentissage par renforcement à partir de feedback humain

Le pipeline RLHF​

1. Pré-entraîner le modèle de base
2. Ajustement supervisé (SFT) sur des démonstrations
3. Entraîner le modèle de récompense sur les préférences humaines
4. Ajuster avec PPO en utilisant le modèle de récompense

Entraînement du modèle de récompense​

Les humains comparent des paires de réponses :

# Données de préférence humaine
{
"prompt": "Expliquez l'informatique quantique",
"chosen": "Bonne explication...",
"rejected": "Mauvaise explication..."
}

# Le modèle de récompense apprend : reward(chosen) > reward(rejected)

Entraînement 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,
)

Contrainte de divergence KL​

Empêcher le modèle de s'écarter trop de l'original :

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