Apprentissage par renforcement à partir des commentaires humains (ARCH)

Apprentissage renforcé à partir de commentaires humains (ARCH)

Une explication simplifiée

Vous avez peut-être entendu parler de cette technique, mais vous ne l’avez pas totalement comprise, surtout la partie PPO. Cette explication pourrait vous aider.

Nous allons nous concentrer sur les modèles de langage texte-à-texte 📝, tels que GPT-3, BLOOM et T5. Les modèles comme BERT, qui sont uniquement des encodeurs, ne sont pas abordés.

Cet article de blog est une adaptation de la substance de ce même auteur.

L’apprentissage par renforcement à partir des commentaires humains (RLHF) a été appliqué avec succès dans ChatGPT, d’où son augmentation majeure de popularité. 📈

RLHF est particulièrement utile dans deux scénarios 🌟 :

  • Vous ne pouvez pas créer de bonne fonction de perte (par exemple, comment calculer une mesure pour déterminer si la sortie du modèle était drôle ?)
  • Vous voulez vous entraîner avec des données de production, mais vous ne pouvez pas facilement étiqueter vos données de production (par exemple, comment obtenir des données de production étiquetées à partir de ChatGPT ? Quelqu’un doit écrire la réponse correcte que ChatGPT aurait dû donner)

Algorithme RLHF ⚙️ :

  1. Pré-entraînement d’un modèle de langage (LM)
  2. Formation d’un modèle de récompense
  3. Fine-tuning du LM avec RL

1 — Pré-entraînement d’un modèle de langage (LM)

Dans cette étape, vous devez soit entraîner un modèle de langage à partir de zéro, soit simplement utiliser un modèle pré-entraîné comme GPT-3.

Une fois que vous avez ce modèle de langage pré-entraîné, vous pouvez également effectuer une étape facultative supplémentaire, appelée Fine-Tuning Supervisé (FTS). Il s’agit simplement d’obtenir quelques paires de textes étiquetées par des humains (entrée, sortie) et de peaufiner le modèle de langage que vous avez. FTS est considéré comme une initialisation de haute qualité pour RLHF.

À la fin de cette étape, nous obtenons notre LM entraîné qui est notre modèle principal, et celui que nous voulons entraîner davantage avec RLHF.

Figure 1 : Notre modèle de langage pré-entraîné.

2 — Formation d’un modèle de récompense

Dans cette étape, nous voulons collecter un ensemble de données contenant des triplets (texte d’entrée, texte de sortie, récompense).

Sur la Figure 2, il y a une représentation du processus de collecte de données : utilisez des données de texte d’entrée (de préférence des données de production), faites-les passer par votre modèle et faites attribuer une récompense générée au texte de sortie par un humain.

Figure 2 : Pipeline pour collecter des données pour la formation du modèle de récompense.

La récompense est généralement un entier entre 0 et 5, mais elle peut être simplement 0/1 dans une expérience 👍/👎.

Figure 3 : Collecte de récompenses simple 👍/👎 dans ChatGPT.
Figure 4 : Une expérience de collecte de récompenses plus complète : le modèle génère deux textes et l'humain doit choisir lequel est meilleur et donner également une note globale avec des commentaires.

Avec ce nouvel ensemble de données, nous formerons un autre modèle de langage pour recevoir le texte (entrée, sortie) et renvoyer une récompense scalaire! Ce sera notre modèle de récompense.

L’objectif principal ici est d’utiliser le modèle de récompense pour imiter l’étiquetage des récompenses humaines et donc pouvoir effectuer un entraînement RLHF hors ligne, sans intervention humaine.

Figure 5: Le modèle de récompense formé, qui imitera les récompenses données par les humains.

3 — Ajustement fin de l’AM avec RL

C’est à cette étape que la magie opère vraiment et que l’apprentissage par renforcement entre en jeu.

L’objectif de cette étape est d’utiliser les récompenses données par le modèle de récompense pour former le modèle principal, votre LM entraîné. Cependant, comme la récompense ne sera pas différentiable, nous devrons utiliser RL pour pouvoir construire une perte que nous pouvons rétropropager vers le LM.

Figure 6: Ajustement fin du LM principal en utilisant le modèle de récompense et le calcul de la perte PPO.

Au début du pipeline, nous ferons une copie exacte de notre LM et figerons ses poids entraînables. Cette copie du modèle aidera à empêcher le LM entraînable de changer complètement ses poids et de commencer à produire un texte sans signification pour tromper le modèle de récompense.

C’est pourquoi nous calculons la perte de divergence Kullback-Leibler entre les probabilités de sortie de texte des deux LM, à la fois figé et non figé.

Cette perte de KL est ajoutée à la récompense produite par le modèle de récompense. En réalité, si vous formez votre modèle en production (apprentissage en ligne), vous pouvez remplacer ce modèle de récompense par le score de récompense humaine directement. 💡

Avec votre récompense et votre perte de KL, nous pouvons maintenant appliquer RL pour rendre la perte de récompense différentiable.

Pourquoi la récompense n’est-elle pas différentiable ? Parce qu’elle a été calculée avec un modèle de récompense qui a reçu du texte en entrée. Ce texte est obtenu par le décodage des probabilités logarithmiques de sortie du LM. Ce processus de décodage n’est pas différentiable.

Pour rendre la perte différentiable, enfin, Proximal Policy Optimization (PPO) entre en jeu ! Rapprochons-nous.

Figure 7: Zoom sur la boîte Mise à jour RL - Calcul de la perte PPO.

L’algorithme PPO calcule une perte (qui sera utilisée pour apporter une petite mise à jour au LM) comme ceci :

  1. Rendre “Probabilités initiales” égal à “Nouvelles probabilités” pour initialiser.
  2. Calculer un rapport entre les nouvelles probabilités de texte et les probabilités de texte initiales.
  3. Calculer la perte en utilisant la formule perte = -min(ratio * R, clip(ratio, 0.8, 1.2) * R), où R est la récompense + KL (ou une moyenne pondérée comme 0.8 * récompense + 0.2 * KL) calculée précédemment et clip(ratio, 0.8, 1.2) limite simplement le rapport à 0.8 <= ratio <= 1.2. Notez que 0.8/1.2 sont des valeurs hyperparamétriques couramment utilisées qui sont simplifiées ici. Notez également que nous voulons maximiser la récompense, c’est pourquoi nous ajoutons le signe moins -, de sorte que nous minimisons la négation de la perte avec la descente de gradient.
  4. Mettre à jour les poids du LM en rétropageant la perte.
  5. Calculer les “Nouvelles probabilités” (c’est-à-dire les nouvelles probabilités de texte de sortie) avec le LM nouvellement mis à jour.
  6. Répéter à partir de l’étape 2 jusqu’à N fois (habituellement, N=4).

C’est tout, voici comment vous utilisez RLHF dans les modèles de langage texte à texte !

Les choses peuvent devenir plus compliquées car il y a aussi d’autres pertes que vous pouvez ajouter à cette perte de base que j’ai présentée, mais c’est l’implémentation centrale.

We will continue to update IPGirl; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Éclairer l'avenir de l'animation cartoon l'innovation d'AnimeInbet dans le tracé intermédiaire des dessins.

L’animation en dessin animé a connu des progrès importants depuis ses débuts au début des années 1900, lorsque ...

AI

Découvrez Baichuan-13B le modèle de langage open source chinois destiné à concurrencer OpenAI.

Wang Xiaochuan, le fondateur du moteur de recherche chinois Sogou, a lancé un nouveau modèle de langage impressionnan...

AI

Hériter du vent

La prévision des vents entre dans l'ère de l'intelligence artificielle.

AI

Démocratiser l'IA avec une solution sans code

En tant que directeur technique d’une entreprise d’IA en pleine croissance, Pixis, mon équipe et moi nous...

AI

Les craintes de tricherie concernant les Chatbots étaient exagérées, selon de nouvelles recherches

Les outils d'IA tels que ChatGPT n'ont pas augmenté la fréquence de la tricherie dans les lycées, affirment les cherc...

AI

L'IA construit des anticorps hautement efficaces que les humains ne peuvent même pas imaginer.

Les robots, les ordinateurs et les algorithmes recherchent des nouvelles thérapies potentielles de manière que les hu...