Ajustement fin efficace en RLHF

Reinforcement Learning from Human Feedback (RLHF)

Mina Parham

AI Engineer

Ajustement fin économe en paramètres

  • Ajuster finement un modèle complet

Illustration représentant un réseau de neurones.

Reinforcement Learning from Human Feedback (RLHF)

Ajustement fin économe en paramètres

  • Ajustement fin avec PEFT

Illustration représentant un réseau de neurones avec la plupart des paramètres figés.

  • LoRA : ajuste seulement quelques couches
  • Quantification : réduit la précision du type de données
Reinforcement Learning from Human Feedback (RLHF)

Étape 1 : charger votre modèle actif en précision 8 bits

from peft import prepare_model_for_int8_training

pretrained_model = AutoModelForCausalLM.from_pretrained( model_name, load_in_8bit=True )
pretrained_model_8bit = prepare_model_for_int8_training(pretrained_model)
Reinforcement Learning from Human Feedback (RLHF)

Étape 2 : ajouter des adaptateurs entraînables avec peft

from peft import LoraConfig, get_peft_model


config = LoraConfig(
r=32, # Rang des matrices à faible rang
lora_alpha=32, # Facteur d'échelle pour les mises à jour LoRA
lora_dropout=0.1, # Taux d'abandon pour les couches LoRA
bias="lora_only"# Mettre à jour seulement les biais des couches LoRA, le reste demeure figé
)
lora_model = get_peft_model(pretrained_model_8bit, config) model = AutoModelForCausalLMWithValueHead.from_pretrained(lora_model)
Reinforcement Learning from Human Feedback (RLHF)

Étape 3 : utiliser un seul modèle pour les logits de référence et actifs

ppo_trainer = PPOTrainer(
    config, # La config que nous venons de définir
    model, # Notre modèle PPO
    ref_model=None, 
    tokenizer=tokenizer, 
    dataset=dataset, 
    data_collator=collator, 
    optimizer=optimizer
)
Reinforcement Learning from Human Feedback (RLHF)

Passons à la pratique !

Reinforcement Learning from Human Feedback (RLHF)

Preparing Video For Download...