Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

PPO (Proximal Policy Optimization)

ia

Définition

PPO (Proximal Policy Optimization) est un algorithme de Reinforcement Learning developpe par Schulman et al. (OpenAI, 2017) qui est utilise dans le pipeline RLHF pour optimiser le comportement d'un LLM selon les scores du reward model, tout en maintenant la politique dans un voisinage de la politique de reference (le SFT model). C'est l'algorithme qui a entraine InstructGPT, ChatGPT, et Claude 1/2. Le principe de PPO dans le contexte RLHF : a chaque iteration, le LLM (politique courante) genere des reponses pour des prompts sampled du dataset. Le reward model score ces reponses. PPO met a jour les parametres du LLM pour maximiser le reward tout en gardant un KL-divergence faible par rapport au SFT model de reference — ce qui evite le reward hacking (maximiser le score RM en produisant du texte degenere). La contrainte KL-divergence est critique dans le RLHF : sans elle, le LLM apprendrait rapidement a 'tricher' le reward model (produire des textes qui maximisent le score RM sans etre utiles). Le coefficient beta controle le trade-off : beta eleve conserve le modele proche de la reference, beta faible permet plus de divergence. PPO est computationnellement expensive : pendant l'entrainement, il faut maintenir en memoire simultanement (1) le modele courant (politique), (2) le SFT model de reference (pour le KL), (3) le reward model, et (4) un value model (critique). Cela necessite 4x la memoire du modele seul. Face a ces complexites, DPO et ses variantes (ORPO, SimPO) ont largement remplace PPO dans la communaute open-source pour l'alignement des modeles 7B-70B. Cependant, PPO reste pertinent pour les modeles frontier (GPT-4, Claude Opus) ou les grandes quantites de donnees de feedback RL sont disponibles.

Architecture RLHF-PPO

  • Politique (Actor) : le LLM entraine, parameters theta
  • Reference (SFT) : modele gele pour la contrainte KL
  • Reward Model : evalue les reponses generees
  • Value Model (Critic) : estime la valeur attendue (peut etre le RM lui-meme)

Formule PPO clip

L_PPO = E[min(r_t * A_t, clip(r_t, 1-epsilon, 1+epsilon) * A_t)]

ou r_t = ratio probabilites nouvelle/ancienne politique, A_t = avantage estime, epsilon = 0.2

Implementation avec TRL

from trl import PPOTrainer, PPOConfig

ppo_config = PPOConfig(
    model_name='mistralai/Mistral-7B-Instruct-v0.3',
    learning_rate=1.41e-5,
    batch_size=32,
    mini_batch_size=4,
    ppo_epochs=4,
    kl_penalty='kl',
    target_kl=6.0,
    init_kl_coef=0.2
)

trainer = PPOTrainer(
    config=ppo_config, model=model, ref_model=ref_model,
    tokenizer=tokenizer, reward_model=reward_model
)

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis