Mesures du modèle et ajustements

Reinforcement Learning from Human Feedback (RLHF)

Mina Parham

AI Engineer

Pourquoi utiliser un modèle de référence ?

  • Sorties dénuées de sens

Une série d'émojis.

Reinforcement Learning from Human Feedback (RLHF)

Vérifier la sortie du modèle

Schéma du processus RLHF avec vérification de la réponse.

Reinforcement Learning from Human Feedback (RLHF)

Solution : divergence KL

Schéma du processus RLHF avec divergence KL.

Reinforcement Learning from Human Feedback (RLHF)

Solution : divergence KL

  • Une pénalité est ajoutée au modèle de récompense
  • La pénalité redirige le modèle si la sortie est hors sujet
  • La divergence KL compare le modèle courant et le modèle de récompense

Icône représentant une balance.

  • Entre 0 et 10, et jamais négative
Reinforcement Learning from Human Feedback (RLHF)

Ajuster les paramètres

generation_kwargs = {

"min_length": -1, # don't ignore the EOS token
"top_k": 0.0, # no top-k sampling
"top_p": 1.0, "do_sample": True, "pad_token_id": tokenizer.eos_token_id, "max_new_tokens": 32}

 

  • Les paramètres sont transmis au modèle de stratégie
Reinforcement Learning from Human Feedback (RLHF)

Vérifier le modèle de récompense

  • Vérifier le modèle de récompense

  • Vérifier la sortie (récompense)

reward_model_results.head()
|ID | Commentaire                                 |Sentiment |Récompense|
|---|---------------------------------------------|----------|----------|
| 1 | This event was lit! So much fun!            | Positive |    0.9   |
| 2 | Terrible experience, never attending again. | Negative |   -0.8   |
| 3 | It was okay, nothing extraordinary.         | Neutral  |    0.2   |
| 4 | The event was poorly organized and chaotic. | Negative |   -0.85  |
| 5 | Had an amazing time with great people!      | Positive |    0.95  |
Reinforcement Learning from Human Feedback (RLHF)

Vérifier le modèle de récompense

  • 👍 👎 Vérifier les cas extrêmes
    extreme_positive = reward_model_results[reward_model_results['Reward'] >= 0.9]
    extreme_negative = reward_model_results[reward_model_results['Reward'] <= -0.8]
    
  • 🧘 Assurer un ensemble de données équilibré

    sentiment_distribution = reward_model_results['Sentiment'].value_counts()
    
  • 📊 Normaliser le modèle de récompense

    from sklearn.preprocessing import MinMaxScaler
    scaler = MinMaxScaler(feature_range=(-1, 1))
    scaler.fit_transform(reward_model_results[['Reward']])
    
Reinforcement Learning from Human Feedback (RLHF)

Passons à la pratique !

Reinforcement Learning from Human Feedback (RLHF)

Preparing Video For Download...