Reinforcement learning from Human Feedback
Depuis l’année 2017 et la publication du papier “Transformers” par Google, les modèles de langage ont eu un impact majeur sur les capacités de l’IA. Avec l’apprentissage profond, des modèles de langage de plus en plus grands ont été entraînés sur des corpus de texte volumineux pour générer du texte. Nous allons explorer dans cet exposé comment ces technologies ont contribué à l’amélioration des systèmes de dialogue, notamment avec l’arrivée de ChatGPT, un système de dialogue de plus en plus performant.
Qu’est-ce qu’un robot conversationnel
Un robot conversationnel est un type de programme informatique conçu pour simuler une conversation avec une personne. L’objectif est de donner l’impression que l’utilisateur converse avec une personne réelle plutôt qu’avec une machine. Jusqu’à présent, la plupart des programmes de robot conversationnel utilisaient des approches basées sur des règles prédéfinies pour générer des réponses en fonction des entrées de l’utilisateur.
Qu’est-ce que l’IA vient changer
L’arrivée de l’IA et les avancées dans l’interprétation du langage naturel ont permis de rendre compte du contexte afin que les conversations paraissent plus naturelles.
Traditionnellement, il y avait trois éléments principaux pour guider une conversation:
L’intelligence artificielle permettait grâce à un jeu de données de conversation historique d’automatiquement détecter les entités et les intentions d’un utilisateur. Les robots conversationnels étaient entraînés de manière supervisée, c’est-à-dire que les données d’entraînement étaient annotées. Il fallait donc que les intentions et les types d’entités que le robot conversationnel était capable de détecter soient définis avant l’entraînement du robot. Dans l’élaboration du jeu de données, la principale tâche sur laquelle un concepteur d’interface utilisateur devait se concentrer était de répondre aux questions les plus courantes des clients.
Arrivée des modèles de langage génératifs
Les premières versions de robot conversationnel utilisaient une approche très stricte qui nécessitait de prendre en compte de nombreux paramètres pour guider la conversation. En outre, il fallait réentraîner les modèles sous-jacents à partir de zéro pour arriver à une première version fonctionnelle, ce qui rendait le processus de rétroaction plus long. Cependant, l’arrivée de GPT-3 a brisé ce cadre restrictif. Avec un modèle de compréhension du langage très avancé, il est possible de modifier le contexte pour obtenir une version différente du robot conversationnel souhaité. En effet, ce modèle de langage est capable de comprendre les entités et les intentions de manière native.
De plus, les compréhensions de différents contextes peuvent être affinées sur du texte ou des conditions supplémentaires. C’est ainsi que OpenAI a affiné son modèle sur un texte considéré comme “préférable” pour ChatGPT, en utilisant le système RLHF qui se base sur une rétroaction humaine à plusieurs niveaux pour améliorer les réponses fournies par GPT-3.
Le premier niveau de rétroaction consiste à demander à un expert humain de répondre à une certaine requête en langage naturel, puis à réentraîner le modèle de langage avec ces entrées.
Toutefois, l’utilisation de travailleurs kenyans pour cette tâche a suscité la controverse dans les médias en raison de la faible rémunération proposée.
Il est crucial de comprendre que la contribution de l’humain à l’entraînement et à l’évaluation des systèmes d’intelligence artificielle est très importante pour éviter les dérives. Un exemple célèbre est celui de Tay, un dialogueur de Microsoft, qui a rapidement été influencé par les utilisateurs en ligne pour devenir raciste et offensant.
La rétroaction humaine est nécessaire pour éviter que l’IA transmette des informations fausses, comme cela s’est produit avec le dialogueur Bard de Google. Bard a donné une réponse incorrecte lors de sa première démonstration, ce qui a suscité des critiques de la part d’utilisateurs sur Twitter.
Modèle de préférence
La rétroaction humaine est cruciale pour améliorer les performances des modèles de langage en intelligence artificielle. Un système de rétroaction humaine qui a été mis en place est la création d’un modèle de préférence. L’objectif est de créer un modèle qui prend en entrée une réponse générée par un modèle de langage et retourne une note qui représente la préférence humaine pour cette réponse.
Pour entraîner ce modèle de préférence, un ensemble de données est créé synthétiquement à partir de “prompts”. Les “prompts” sont des entrées qui sont passées à travers le modèle de langage initial pour générer de nouveaux textes. Ces textes sont ensuite classés par des contributeurs humains. Pour simplifier l’entraînement, les contributeurs humains ne notent pas chaque texte individuellement, mais comparent plusieurs sorties à partir d’un classement, ce qui donne des résultats plus régularisés.
La création d’un modèle de préférence est importante, car il peut être utilisé pour noter n’importe quel texte en fonction de la façon dont les humains le perçoivent. Une fois le modèle de préférence entraîné, on a donc un modèle de langage initial qui peut être utilisé pour générer du texte et un modèle de préférence qui attribue une note à n’importe quel texte généré en fonction de la façon dont les humains le perçoivent.
C’est ici que les valeurs éthiques peuvent être filtrées par le modèle en fonction des conditions d’utilisation. Ainsi une réponse jugée éthique aura un meilleur score qu’une réponse jugée raciste ou sexiste.
Affinage avec apprentissage par renforcement
L’entraînement d’un modèle de langage à l’aide de l’apprentissage par renforcement, c’est comme apprendre à un enfant à bien écrire, celui-ci va à partir des notes de ses professeurs être récompensé ou non de ses efforts. Dans le cadre des modèles de langages, cette tâche était considérée comme impossible en raison de contraintes techniques et algorithmiques. Cependant, grâce à l’algorithme d’apprentissage par renforcement Proximal Policy Optimization (PPO), plusieurs organisations ont pu apprendre comment mettre à jour un modèle aussi grand avec un algorithme familier.
Le processus de génération de texte utilise deux modèles, un modèle initial de langage et un modèle de préférence. Lorsqu’un “prompt” est fourni, un texte est généré à partir de l’itération en cours du modèle à affiner. Le texte est ensuite envoyé au modèle de préférence, qui renvoie une note pour ce texte. Cette note permet de calculer comme les paramètres du modèle doivent être modifiés.
Pour éviter que l’optimisation génère du texte incohérent trompant le modèle de récompense pour recevoir une note élevée, une pénalité basée sur la divergence de Kullback-Leibler est appliquée. Cette divergence mesure la distance entre les paramètres des modèles et pénalise le modèle à affiner pour ne pas s’éloigner de manière significative du modèle initial. Ce processus que l’on appelle de régularisation assure que l’apprentissage ne se fasse pas “par coeur” mais bien par une compréhension plus générale du contexte.
La mise à jour du modèle à affiner se fait en maximisant les notes fournies par le modèle de préférence dans un ensemble de données. Tout comme un élève va apprendre et essayer d’avoir la meilleure note, les paramètres du modèle sont ajustés pour maximiser les rétroactions positives.
Après cette mise à jour, le modèle affiné et le modèle de préférence peuvent continuer à s’améliorer de manière itérative. En effet, les utilisateurs peuvent proposer de la rétroaction sur les réponses proposées par le système. Il est ainsi important d’avoir accès à une base d’utilisateurs engagés pour construire le meilleur système avec le plus de rétroaction possible. Comme les données sont une portion importante de ces systèmes, l’industrie doit être consciente que la course à l’IA est importante pour collecter le plus possible les besoins et les rétroactions de leurs clients avant que la concurrence ne le fasse et prenne un avantage sérieux sur ce type d’initiative.
Affinage des modèles génératifs
Pour améliorer les performances des modèles génératifs, il est nécessaire de leur apprendre à répondre de manière adéquate à un “prompt” spécifique. Pour cela, il faut entraîner le modèle en lui fournissant un jeu de données qui correspond aux “prompt” où les réponses doivent être améliorées. Cette procédure permet au modèle de corriger et d’adapter les réponses en se basant sur le jeu de données. Contrairement à l’entraînement initial qui nécessite un grand nombre de données, pour cette étape, il suffit généralement de quelques exemples (entre 30 et 40) pour observer des améliorations significatives.
Cette méthode pourrait être utilisée par les compagnies d’assurance pour améliorer la personnalisation de leurs offres. Par exemple, une compagnie d’assurance automobile pourrait affiner un modèle génératif à l’aide d’une base de connaissances contenant les profils, devis et réclamations d’assurance propre à leurs offres de services pour que le modèle propose les produits adéquats aux clients. L’entreprise peut alors traiter plus rapidement et plus précisément les demandes de réclamation, ce qui améliore la satisfaction des clients et la réputation de l’entreprise.
08
Sep08
Sep