Cet article fait partie de Demystifying AI, une série d'articles qui (tentent de) désambiguïser le jargon et les mythes entourant l'IA.
Depuis qu'OpenAI a publié ChatGPT, les progrès des grands modèles de langage (LLM) ont suscité beaucoup d'enthousiasme. Bien que ChatGPT ait à peu près la même taille que les autres LLM à la pointe de la technologie, ses performances sont bien supérieures. Et il promet déjà de permettre de nouvelles applications ou de perturber les anciennes.
L'une des principales raisons des performances étonnantes de ChatGPT est sa technique d'entraînement : l'apprentissage par renforcement à partir de la rétroaction humaine (RLHF). Bien qu'il ait montré des résultats impressionnants avec les LLM, le RLHF date des jours précédant 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 grands modèles de langage.
Qu'est-ce que le RLHF ?
L'apprentissage par renforcement est un domaine de l'apprentissage automatique dans lequel un agent apprend une politique à travers des interactions avec son environnement. L'agent prend des mesures (ce qui peut inclure ne rien faire du tout). Ces actions affectent l'environnement dans lequel se trouve l'agent, qui à son tour passe à un nouvel état et renvoie une récompense. Les récompenses sont les signaux de rétroaction qui permettent à l'agent RL d'ajuster sa politique d'action. Au fur et à mesure que l'agent passe par des épisodes de formation, il ajuste sa politique pour prendre des séquences d'actions qui maximisent sa récompense.
HÌNH ẢNH
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 longtemps dans le futur. Envisagez un agent RL pour jouer aux échecs. Il ne reçoit une récompense positive qu'après avoir battu son adversaire, qui peut prendre des dizaines de coups. Dans ce cas, l'agent perdra une grande partie de son temps d'entraînement initial à effectuer 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 à ce sujet lorsque nous parlons de modèles de langage).
L'apprentissage par renforcement à partir de la rétroaction humaine améliore la formation de l'agent RL en incluant les humains dans le processus de formation. Cela aide à tenir compte des éléments qui ne peuvent pas être mesurés dans le système de récompense.
Pourquoi ne faisons-nous pas toujours RLHF? D'une part, il évolue mal. L'un des avantages importants de l'apprentissage automatique en général est sa capacité à évoluer avec la disponibilité des ressources de calcul. À mesure que les ordinateurs se développent plus rapidement et que les données deviennent plus disponibles, vous pouvez former des modèles d'apprentissage automatique plus volumineux à des rythmes plus rapides. S'appuyer sur les humains pour former les systèmes RL devient un goulot d'étranglement.
Par conséquent, la plupart des systèmes RLHF reposent sur une combinaison de signaux de récompense automatisés et fournis par l'homme. Le système de récompense informatique fournit la rétroaction principale à l'agent RL. Le superviseur humain aide soit en fournissant occasionnellement un signal de récompense/punition supplémentaire, soit les données nécessaires pour former un modèle de récompense.
HÌNH ẢNH
Supposons que vous vouliez créer un robot qui cuit 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ût humain et notez les pizzas que le robot cuisine pendant l'entraînement.
Le langage comme problème d'apprentissage par renforcement
Les grands modèles de langage se sont avérés très efficaces pour plusieurs tâches, notamment 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 LLM peuvent effectuer un apprentissage à zéro et à quelques coups, accomplissant des tâches pour lesquelles ils n'ont pas été formés. L'une des grandes réalisations du modèle de transformateur, l'architecture utilisée dans les LLM, est sa capacité à s'entraîner par un apprentissage non supervisé.
Cependant, malgré leurs réalisations fascinantes, les LLM partagent une caractéristique fondamentale avec d'autres modèles d'apprentissage automatique. À la base, ce sont de très grandes machines de prédiction conçues pour deviner le jeton suivant dans une séquence (l'invite). Formés sur un très grand corpus de textes, les LLM développent un modèle mathématique capable de produire de longues portions de texte qui sont (pour la plupart) cohérentes et cohérentes.
Le grand défi du langage est que dans de nombreux cas, il existe de nombreuses réponses correctes à 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 de texte n'aligne pas le modèle avec toutes les différentes applications dans lesquelles il sera utilisé
HÌNH ẢNH
Heureusement, l'apprentissage par renforcement peut aider à orienter les LLM dans la bonne direction. 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 sortie de texte optimale.
Espace d'action : L'espace d'action est l'ensemble des sorties de langage possibles que le LLM peut générer (ce qui est extrêmement grand).
Espace d'état : l'état de l'environnement comprend les invites de l'utilisateur et les sorties du LLM (également un espace extrêmement grand).
Récompense : 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 de récompense du modèle de langage ne sont pas bien définies. Heureusement, avec l'aide de l'apprentissage par renforcement à partir de la rétroaction humaine, nous pouvons créer un bon système de récompense pour notre modèle de langage.
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 avec un modèle de langage pré-entraîné. Ceci est très important car les LLM nécessitent une énorme quantité de données de formation. Les former à partir de zéro avec des commentaires humains est pratiquement impossible. Un LLM qui est pré-formé par un apprentissage non supervisé aura déjà un modèle solide de la langue et créera des résultats cohérents, bien que certains ou plusieurs d'entre eux puissent ne pas être alignés sur 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, nous formons 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 produire une valeur scalaire au lieu d'une séquence de jetons de texte.
Pour former le modèle de récompense, nous devons créer un ensemble de données de texte généré par LLM étiqueté pour la qualité. Pour composer chaque exemple de formation, 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 formons ensuite le modèle de récompense pour prédire le score à partir du texte LLM. En étant formé sur les scores de sortie et de classement du LLM, le modèle de récompense crée une représentation mathématique des préférences humaines.
HÌNH ẢNH
Dans la phase finale, nous créons la boucle d'apprentissage par renforcement. Une copie du LLM principal devient l'agent RL. Dans chaque épisode de formation, le LLM prend plusieurs invites à partir d'un ensemble de données de formation 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 sorties qui obtiennent un score plus élevé sur le modèle de récompense.
,mBien 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, la mise à jour du LLM principal étant très coûteuse, les équipes de machine learning gèlent parfois plusieurs de ses couches pour réduire les coûts de formation.
Une autre considération dans RLHF pour les modèles de langage est de maintenir l'équilibre entre l'optimisation des récompenses et la cohérence du langage. 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 violant 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 LLM d'origine et formées par RL (également appelée divergence KL) est intégrée dans le signal de récompense en tant que valeur négative pour empêcher le modèle de trop dériver 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 du billet de blog ChatGPT et des détails sur InstructGPT, qui utilise également RLHF.
ChatGPT utilise le cadre général RLHF 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 de paires invite-réponse pour affiner le LLM. OpenAI aurait dépensé une somme importante pour 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 de politique proximale (PPO) pour former le LLM principal. OpenAI ne fournit pas plus de détails sur la question de savoir s'il gèle des parties du modèle ou comment il s'assure que le modèle formé par RL ne dérive pas trop de la distribution d'origine.
HÌNH ẢNH
Les limites de RLHF pour les modèles de langage
Bien qu'il s'agisse d'une technique très efficace, la RLHF présente également plusieurs limites. Le travail humain devient toujours un goulot d'étranglement dans les pipelines 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 ML. C'est à cela que servent les boutons upvote/downvote 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 formés sous forme de questions et les meilleures réponses reçoivent des votes positifs plus élevés. Cependant, ces ensembles de données doivent encore être nettoyés et révisés, ce qui est coûteux et lent. Et rien ne garantit que les données dont vous avez besoin sont disponibles dans une seule source 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 énormes pour créer des ensembles de données RLHF spéciaux. Mais les petites entreprises devront s'appuyer sur des ensembles de données open source et des techniques de grattage Web.
RLHF n'est pas non plus une solution parfaite. La rétroaction humaine peut aider à éviter que les LLM ne génèrent des résultats nuisibles ou erronés. Mais les préférences humaines ne sont pas 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.
Cependant, RLHF fournit un cadre pour mieux aligner les LLM avec les humains. Jusqu'à présent, nous avons vu RLHF fonctionner avec des modèles à usage général tels que ChatGPT. Je pense que RLHF deviendra une technique très efficace pour optimiser les petits LLM pour des applications spécifiques.