top of page
Rechercher
  • Photo du rédacteurHerve Blanc

Qu’est-ce que l’apprentissage par renforcement à partir de rétroaction humaine (RLHF) ?

Dernière mise à jour : 4 déc. 2023


apprentissage par renforcement à partir de rétroaction humaine (RLHF)

Cet article fait partie de Démystifier l’IA, une série d’articles qui (tentent de) clarifier le jargon et les mythes entourant l’IA


Depuis qu’OpenAI a publié ChatGPT, il y a eu beaucoup d’enthousiasme pour les progrès des grands modèles de langage (LLM : Large Language Models). Bien que ChatGPT soit à peu près de la même taille que les autres LLM avancés (SOTA : State-Of-The-Art), ses performances sont de loin supérieures. Et il promet déjà de permettre la création de nouvelles applications ou de perturber les applications existantes.


L’une des principales raisons de l’incroyable performance de ChatGPT est sa technique d’entraînement: l’apprentissage par renforcement à partir de la rétroaction humaine (RLHF Reinforcement Learning from human feedback). Bien qu’il ait montré des résultats impressionnants avec les LLMs, RLHF n’est pas nouveau et a été créer bien avant la sortie du premier GPT. Et sa première application n’était pas pour le traitement du langage naturel.


Voici ce que vous devez savoir sur RLHF et comment il s’applique aux LLMs.


Qu’est-ce que l'apprentissage par renforcement RLHF?


L’apprentissage par renforcement est un domaine de l’apprentissage automatique dans lequel un agent apprend une stratégie grâce à des interactions avec son environnement. L’agent prend des mesures (ne rien faire du tout peut être un stratégie valable). Ces actions affectent l’environnement dans lequel se trouve l’agent, qui à son tour passe à un nouvel état et renvoi à l'agent une récompense. Les récompenses sont les signaux de rétroaction qui permettent à l’agent RL d’ajuster sa stratégie d’action. Au fur et à mesure que l’agent passe par des épisodes d’entrainement, il ajuste sa stratégie pour prendre des séquences d’actions qui maximisent sa récompense.

L’apprentissage par renforcement est un domaine de l’apprentissage automatique dans lequel un agent apprend une stratégie grâce à des interactions avec son environnement

Concevoir le bon système de récompense est l’un des principaux défis de l’apprentissage par renforcement. Dans certaines applications, la récompense est retardée à plus tard. Considérons un agent RL pour jouer aux échecs. Il ne reçoit une récompense positive qu’après avoir battu son adversaire, ce qui peut prendre des dizaines de coups. Dans ce cas, l’agent perdra beaucoup de son temps d’entraînement initial à faire des mouvements aléatoires jusqu’à ce qu’il tombe accidentellement sur une combinaison gagnante. Dans d’autres applications, la récompense ne peut même pas être définie par une formule mathématique ou logique (plus d'info sur ce sujet lorsque nous parlons de modèles de langage).


L’apprentissage par renforcement à partir de rétroaction humaine améliore l’entrainement de l’agent RL en incluant les humains dans le processus d’entrainement. Cela permet de tenir compte d’éléments qui ne peuvent pas être facilement mesurés, ou subjectifs, dans le système de récompense.


Alors pourquoi ne faisons-nous pas toujours RLHF? D’une part, il n’est bien adapté au passage à l’échelle. L’un des avantages importants de l’apprentissage automatique en général est sa capacité à évoluer, à se redimensionner, avec la disponibilité des ressources de calcul. À fur et à mesure que les ordinateurs deviennent plus rapides et que les données sont de plus en plus disponibles, vous pouvez entrainer des modèles d’apprentissage automatique plus volumineux à un rythme plus rapide. Compter sur l’humains pour entrainer les systèmes RL devient un goulot d’étranglement.


Par conséquent, la plupart des systèmes RLHF reposent sur une combinaison de rétroactions de récompense fournis par l’homme ainsi que données automatisées. Le système de récompense automatisé fournit la rétroaction principale à l’agent RL. Le superviseur humain aide soit en fournissant un signal de récompense / punition supplémentaire occasionnellement, soit les données nécessaires pour entrainer un modèle de récompense.


Exemple d’apprentissage par renforcement à partir de la rétroaction humaine (Source de l’image: cs.utexas.edu)

Exemple d’apprentissage par renforcement à partir de la rétroaction humaine (Source de l’image: cs.utexas.edu)


Disons que vous vouliez créer un robot qui fait des pizzas. Vous pouvez intégrer certains des éléments mesurables dans le système de récompense automatisé (par exemple, l’épaisseur de la croûte, la quantité de sauce et de fromage, etc.). Mais pour vous assurer que la pizza est délicieuse, vous avez un goûteur (humain) qui annotent les pizzas que le robot prépare pendant l’entraînement.


La langage comme problème d’apprentissage par renforcement


Les LLMs se sont avérés très efficaces pour plusieurs tâches, y compris le résumé de texte, la réponse aux questions, la génération de texte, la génération de code, le repliement des protéines, etc. À très grande échelle, les LLMs peuvent refaire un apprentissage en zéro ou très peu d’étapes, accomplissant des tâches pour lesquelles ils n’ont pas été formés. L’une des grands succès des modèles transformer, l’architecture utilisée dans les LLMs, est sa capacité à être entrainer par apprentissage non supervisé.


Cependant, malgré leurs succès fascinants, les LLMs partagent une caractéristique fondamentale avec d’autres modèles d’apprentissage automatique. À la base, ce sont d’énormes machines de prédiction conçues pour deviner le prochain mot dans une séquence (l’invite). Entrainés sur un très grand corpus de textes, les LLMs développent un modèle mathématique capable de produire de longues portions de texte qui sont (pour la plupart) cohérentes et consistantes.


Le gros problème en langage est que dans de nombreux cas, il existe de nombreuses réponses correctes en réponse à une invite. Mais tous ne sont pas souhaitables en fonction de l’utilisateur, de l’application et du contexte du LLM. Malheureusement, l’apprentissage non supervisé sur de grands corpus textuels n’aligne pas le modèle avec toutes les différentes applications pour lesquelles il sera utilisé.


l’apprentissage par renforcement peut aider à orienter les LLM sur la bonne voie

Heureusement, l’apprentissage par renforcement peut aider à orienter les LLM sur la bonne voie. Mais d’abord, définissons le langage comme un problème RL:


Agent: Le modèle de langage est l’agent d’apprentissage par renforcement et doit apprendre à créer une réponse textuelle optimale.

Action space: L’espace d’action est l’ensemble des sorties linguistiques possibles que le LLM peut générer (ce qui est extrêmement volumineux).

State space: L’ensemble des états de l’environnement comprend les invites utilisateur et les sorties du LLM (également un espace extrêmement grand).

Reward: La récompense mesure l’alignement de la réponse du LLM avec le contexte de l’application et l’intention de l’utilisateur.


Tous les éléments du système RL ci-dessus sont triviaux, à l’exception du système de récompense. Contrairement aux échecs ou au Go ou même aux problèmes de robotique, les règles pour récompenser le modèle de langage ne sont pas bien définies. Heureusement, avec l’aide de l’apprentissage par renforcement à partir de rétroaction humaine, nous pouvons créer un bon système de récompense pour notre modèle linguistique.


RLHF pour les modèles de langage


RLHF pour les modèles de langage se compose de trois phases. Tout d’abord, nous commençons par un modèle linguistique pré-entraîné. Ceci est très important car les LLMs nécessitent une énorme quantité de données d’entrainement. L’entrainement en partant de zéro, sur la base des commentaires humains est pratiquement impossible. Un LLM pré-entrainé par apprentissage non supervisé aura déjà un modèle solide de langage et créera des résultats cohérents, bien que certains ou beaucoup d’entre eux puissent ne pas être alignés avec les objectifs et les intentions des utilisateurs.


Dans la deuxième phase, nous créons un modèle de récompense pour le système RL. Dans cette phase, c’est l’entrainement d’un autre modèle d’apprentissage automatique qui prend en compte le texte généré par le modèle principal et produit un score de qualité. Ce deuxième modèle est généralement un autre LLM qui a été modifié pour générer une valeur scalaire au lieu d’une séquence de mots.


Pour entrainer le modèle de récompense, on doit créer un ensemble de données de texte généré par LLM étiqueté pour la qualité. Pour composer chaque exemple d’apprentissage, nous donnons une invite au LLM principal et lui faisons générer plusieurs sorties. Nous demandons ensuite à des évaluateurs humains de classer le texte généré du meilleur au pire. Nous entraînons ensuite le modèle de récompense pour prédire le score à partir du texte LLM. En étant entrainé sur les résultats et les scores de qualité du LLM, le modèle de récompense crée une représentation mathématique des préférences humaines.


cadre général de RLHF pour les modèles de langage

Dans la phase finale, nous créons la boucle d’apprentissage par renforcement. Une copie du LLM principal devient l’agent RL. A chaque étape de l’entrainement, le LLM prend plusieurs invites d’un jeu de données d’apprentissage et génère du texte. Sa sortie est ensuite transmise au modèle de récompense, qui fournit un score qui évalue son alignement avec les préférences humaines. Le LLM est ensuite mis à jour pour créer des résultats qui obtiennent un score plus élevé sur le modèle de récompense.


Bien qu’il s’agisse du cadre général de RLHF pour les modèles de langage, différentes implémentations apportent des modifications. Par exemple, étant donné que la mise à jour du LLM principal est très coûteuse, les équipes d’apprentissage automatique figent parfois plusieurs de ses couches pour réduire les coûts d’entrainement.


Une autre considération dans RLHF pour les modèles de langage est le maintien de l’équilibre entre l’optimisation des récompenses et la cohérence des sorties textuelles. Le modèle de récompense est une approximation imparfaite des préférences humaines. Comme la plupart des systèmes RL, l’agent LLM peut trouver un raccourci pour maximiser les récompenses tout en transgressant les cohérences grammaticales ou logiques. Pour éviter cela, l’équipe d’ingénierie ML conserve une copie du LLM original dans la boucle RL. La différence entre la sortie des LLMs originaux et entraînés par RL (également appelée divergence KL) est intégrée dans le signal de récompense en tant que valeur négative pour éviter que le modèle ne s’éloigne trop de la sortie d’origine.


Comment ChatGPT utilise RLHF


OpenAI n’a pas (encore) publié les détails techniques de ChatGPT. Mais beaucoup peut être appris de l’article de blog ChatGPT et des détails sur InstructGPT, qui utilise également RLHF.


ChatGPT utilise le framework RLHF général que nous avons décrit ci-dessus, avec quelques modifications. Dans la première phase, les ingénieurs ont effectué un « réglage fin supervisé » sur un modèle GPT-3.5 pré-entraîné. Ils ont embauché un groupe d’écrivains (humains) et leur ont demandé d’écrire des réponses à un tas d’invites. Ils ont utilisé l’ensemble de données des paires invite-réponse pour affiner le LLM. OpenAI aurait dépensé une grande somme d’argent sur ces données, ce qui explique en partie pourquoi ChatGPT est supérieur à d’autres LLM similaires.


Dans la deuxième phase, ils ont créé leur modèle de récompense basé sur la procédure standard, générant plusieurs réponses aux invites et les faisant classer par des annotateurs humains.


Dans la phase finale, ils ont utilisé l’algorithme RL d’optimisation convexe de la stratégie (PPO proximal policy optimization) pour entrainer le LLM principal. OpenAI ne fournit pas plus de détails sur la question de savoir s’il fige des parties du modèle ou comment il s’assure que le modèle entraîné par RL ne dérive pas trop de la distribution d’origine.


Processus d’entrainement de ChatGPT (source: OpenAI)

Processus d’entrainement de ChatGPT (source: OpenAI)


Les limites de RLHF pour les modèles de langage


Bien qu’il s’agisse d’une technique très efficace, RLHF présente également plusieurs limites. Le travail humain devient toujours un goulot d’étranglement dans les flots d’apprentissage automatique. L’étiquetage manuel des données est lent et coûteux, c’est pourquoi l’apprentissage non supervisé a toujours été un objectif recherché depuis longtemps par les chercheurs en apprentissage automatique.


Dans certains cas, vous pouvez obtenir un étiquetage gratuit auprès des utilisateurs de vos systèmes de ML. C’est à cela que servent les boutons approuver / contester (like/dislike) que vous voyez dans ChatGPT et d’autres interfaces LLM similaires. Une autre technique consiste à obtenir des données étiquetées à partir de forums en ligne et de réseaux sociaux. Par exemple, de nombreux messages Reddit sont formattés comme des questions et les meilleures réponses reçoivent des votes positifs plus élevés. Cependant, ces ensembles de données ont encore besoin d’être nettoyés et revus, ce qui est coûteux et lent. Et il n’y a aucune garantie que les données dont vous avez besoin soient disponibles dans une de vos sources en ligne.


Les grandes entreprises technologiques et les laboratoires solidement financés tels que OpenAI et DeepMind peuvent se permettre de dépenser des sommes exorbitantes pour créer des ensembles de données spécifiques pour RLHF. Mais les petites entreprises devront s’appuyer sur des ensembles de données open source et des techniques d’exploitation des contenus du Web.


RLHF n’est pas non plus une solution parfaite. La rétroaction humaine peut aider à éviter que les LLMs ne génèrent des résultats nuisibles ou erronés. Mais les préférences humaines ne sont pas toujours claires, et vous ne pouvez jamais créer un modèle de récompense conforme aux préférences et aux normes de toutes les sociétés et structures sociales de la planète.


Cependant, RLHF fournit un cadre pour mieux aligner les LLMs avec les humains. Jusqu’à présent, nous avons vu RLHF à l’œuvre avec des modèles à usage général tels que ChatGPT. Je pense que RLHF deviendra une technique très efficace pour optimiser les LLMs plus petits pour des applications spécifiques.


Remerciements


Cet article est la traduction française la plus fidèle possible de « What is reinforcement learning from human feedback (RLHF)? » avec l'aimable permission de son auteur Ben Dickson


留言


bottom of page