Réponse courte
L’apprentissage par renforcement à partir de la rétroaction humaine (RLHF) est une façon d’entraîner un modèle de langage avec le jugement de personnes plutôt qu’avec du texte brut seulement. Des gens rédigent de bonnes réponses et classent les tentatives du modèle, un second modèle apprend à prédire ces classements, puis le modèle de langage est ajusté pour produire des réponses auxquelles ce second modèle donne une note élevée.
Question de suivi Pourquoi les évaluations humaines rendent-elles un modèle plus utile?
Un modèle de langage comme GPT-3 apprend en prédisant le mot suivant dans une immense quantité de texte tiré du Web. Il y apprend la grammaire, des faits et des styles, mais jamais ce que veut vraiment la personne assise au clavier. L’apprentissage par renforcement à partir de la rétroaction humaine, qu’on abrège habituellement en RLHF (reinforcement learning from human feedback), ajoute cet ingrédient manquant. Il transforme les préférences humaines en signal d’entraînement.
La semaine dernière, OpenAI a publié l’article de recherche complet derrière ses modèles InstructGPT, « Training language models to follow instructions with human feedback », de Long Ouyang et ses collègues. Il explique comment le RLHF fonctionne sur un modèle généraliste, étape par étape et chiffres à l’appui.
Trois termes à connaître d’abord
- L’ajustement fin (fine-tuning) consiste à prendre un modèle déjà entraîné et à l’entraîner encore un peu sur un ensemble d’exemples plus petit et ciblé.
- L’apprentissage par renforcement est un entraînement par essai et récompense : le système tente quelque chose, reçoit une note et est poussé vers ce qui a obtenu les meilleures notes.
- Un modèle de récompense est un réseau de neurones distinct dont la seule tâche est d’examiner un prompt et une réponse, puis de produire un seul nombre : à quel point une personne aimerait probablement cette réponse.
Le RLHF combine les trois. Son astuce principale : les gens ne peuvent pas noter des millions de réponses à la main; ils en notent donc un échantillon raisonnable, et un modèle de récompense apprend à les imiter.
Les trois étapes de l’article sur InstructGPT
OpenAI a engagé une équipe d’environ 40 contractuels, choisis au moyen d’un test de sélection, pour fournir la part humaine. Les prompts provenaient surtout de demandes que des clients de l’API avaient envoyées à des modèles de test antérieurs, et certains avaient été rédigés par les annotateurs eux-mêmes.
| Étape | Ce que font les gens | Ce qui est entraîné | Taille des données |
|---|---|---|---|
| 1. Démonstrations | Rédiger la réponse qu’ils voudraient obtenir pour un prompt | GPT-3 subit un ajustement fin sur ces réponses (ajustement fin supervisé, ou SFT) | Environ 13 000 prompts |
| 2. Classements | Lire plusieurs réponses du modèle à un même prompt et les classer de la meilleure à la pire | Un modèle de récompense apprend à prédire l’ordre | Environ 33 000 prompts |
| 3. Apprentissage par renforcement | Rien de nouveau; le modèle de récompense les remplace | Le modèle SFT est ajusté pour obtenir des notes de récompense élevées, à l’aide d’un algorithme appelé PPO | Environ 31 000 prompts |
Le PPO, pour proximal policy optimization (optimisation de politique proximale), est une méthode courante d’apprentissage par renforcement qui modifie le modèle par petits pas prudents. L’article ajoute une protection : une pénalité chaque fois que le modèle ajusté s’éloigne trop du modèle de l’étape 1. Sans elle, un modèle peut apprendre à exploiter les bizarreries du modèle de récompense. Les auteurs mêlent aussi un peu d’entraînement ordinaire de prédiction du mot suivant pendant l’étape 3, pour que le modèle ne recule pas sur les bancs d’essai habituels.
Un exemple de classement
L’étape 2 est le cœur de la méthode, et on peut facilement l’essayer sur papier. Dans l’étude, les annotateurs voyaient de quatre à neuf réponses à la fois et les mettaient en ordre. Voici une version réduite, avec quatre réponses à une même demande.
Explique ce qu’est une cote de crédit à quelqu’un qui vient de décrocher son premier emploi. Limite-toi à trois phrases.| Réponse | Ce qu’elle dit, en bref | Rang |
|---|---|---|
| A | Une explication claire en trois phrases, avec un conseil sur le paiement des factures à temps | 1 |
| B | Une explication juste, mais de sept phrases | 2 |
| C | Une liste d’autres questions sur l’argent, sans réponse | 4 |
| D | Trois phrases, sympathiques, mais qui énoncent une règle inventée sur les plages de cotes | 3 |
Un classement de quatre réponses contient six paires : A bat B, A bat D, A bat C, B bat D, B bat C, D bat C. Le modèle de récompense est entraîné sur des paires comme celles-là. Pour chaque paire, il apprend à donner un nombre plus élevé à la réponse préférée qu’à l’autre. Après des dizaines de milliers de prompts, il peut noter une réponse qu’il n’a jamais vue.
Remarquez ce que l’annotateur a dû soupeser. B est juste, mais ignore la limite de longueur. D respecte le format, mais se trompe. Classer oblige à choisir entre ces deux échecs.
À essayer : posez une question que vous connaissez bien et écrivez-y quatre réponses différentes : une excellente, une trop longue, une hors sujet, une fluide mais avec une erreur factuelle. Classez-les, dressez la liste de toutes les paires qu’implique votre classement et notez celles qui ont été difficiles à trancher. Ces paires difficiles sont exactement celles où les annotateurs humains sont le plus en désaccord.
D’où vient l’idée?
Le RLHF n’a pas commencé avec InstructGPT. L’article cite des travaux antérieurs, dont une étude d’OpenAI de 2020 sur les résumés. Dans ce projet, des gens comparaient des paires de résumés de publications Reddit, un modèle de récompense apprenait leurs choix, et un outil de résumé était ajusté en fonction de ce modèle. Les résumés obtenus étaient préférés aux résumés de référence rédigés par des humains dans le jeu de données. InstructGPT applique la même recette à un large éventail de consignes.
Pourquoi les évaluations humaines rendent-elles un modèle plus utile?
Les évaluations humaines aident parce qu’elles mesurent ce qui nous importe vraiment. La prédiction du mot suivant récompense le texte qui ressemble à Internet. Un modèle de récompense entraîné sur des classements récompense le texte que des gens ont jugé utile, véridique et adapté à la demande. Optimiser pour cette seconde cible amène le modèle à répondre à la question plutôt qu’à poursuivre une page.
Les résultats de l’article montrent l’ampleur de l’effet. Les annotateurs ont préféré les réponses d’un modèle InstructGPT de 1,3 milliard de paramètres à celles du GPT-3 de 175 milliards de paramètres. À pleine taille, les réponses d’InstructGPT ont été préférées à celles de GPT-3 dans 85 % des cas, à 3 points près, et à celles de GPT-3 doté d’un prompt few-shot soigneusement rédigé dans 71 % des cas. Pour les tâches où la réponse ne devait s’appuyer que sur le texte fourni, comme le résumé, InstructGPT inventait de l’information environ deux fois moins souvent.
Les classements se prêtent aussi mieux que les démonstrations à un usage à grande échelle. Dire « celle-ci est meilleure » demande moins d’effort que de rédiger la réponse idéale à partir de rien, et montrer plusieurs réponses à la fois aux annotateurs, comme le fait l’article, transforme une seule séance de jugement en de nombreuses paires d’entraînement.
Les limites viennent de la même source. Un modèle ajusté de cette façon reflète les personnes qui ont classé ses réponses, surtout les annotateurs et les chercheurs qui ont rédigé leurs consignes, et non une norme universelle. Les auteurs l’écrivent clairement : InstructGPT n’est pas moins biaisé que GPT-3, il commet encore des erreurs et il peut suivre des consignes nuisibles. La rétroaction humaine rend un modèle plus utile aux personnes dont il a appris le jugement; c’est pourquoi l’identité de ces personnes compte autant.
Sources
- Training language models to follow instructions with human feedback — OpenAI (arXiv), 4 mars 2022
- Aligning Language Models to Follow Instructions — OpenAI, 27 janvier 2022
- Learning to summarize from human feedback — OpenAI (arXiv), 2 septembre 2020