Qu’est-ce qui rend un agent de dialogue utile ?
Quel rend un agent de dialogue utile ?
Les techniques derrière ChatGPT : RLHF, IFT, CoT, Red teaming, et plus
Cet article a été traduit en chinois simplifié 简体中文.
Il y a quelques semaines, ChatGPT est apparu et a lancé le débat public sur un ensemble d’acronymes obscurs : RLHF, SFT, IFT, CoT, et plus encore, tous attribués au succès de ChatGPT. Que signifient ces acronymes obscurs et pourquoi sont-ils si importants ? Nous avons étudié tous les articles importants sur ces sujets pour classer ces travaux, résumer les enseignements tirés de ce qui a été fait et partager ce qui reste à démontrer.
Commençons par examiner le paysage des agents conversationnels basés sur des modèles de langage. ChatGPT n’est pas le premier, en fait de nombreuses organisations ont publié leurs agents de dialogue basés sur des modèles de langage avant OpenAI, notamment Meta’s BlenderBot, LaMDA de Google, Sparrow de DeepMind et l’Assistant d’Anthropic (un développement continu de cet agent sans attribution parfaite est également connu sous le nom de Claude). Certains groupes ont également annoncé leurs plans de construire un chatbot open-source et ont partagé publiquement une feuille de route (l’Open Assistant de LAION) ; d’autres le font sûrement et ne l’ont pas annoncé.
Le tableau suivant compare ces chatbots IA en fonction des détails de leur accès public, des données d’entraînement, de l’architecture du modèle et des directions d’évaluation. ChatGPT n’est pas documenté, nous partageons donc des détails sur InstructGPT, qui est un modèle finement ajusté aux instructions d’OpenAI et qui est censé avoir servi de base à ChatGPT.
- Utilisation de LoRA pour un affinage de diffusion stable et efficace
- Génération d’actifs 2D IA pour le développement de jeux #4
- L’état de la vision par ordinateur chez Hugging Face 🤗
Nous observons qu’il y a certes de nombreuses différences dans les données d’entraînement, le modèle et le finetuning, mais il y a aussi des similitudes. Un objectif commun à tous ces chatbots est le suivi des instructions, c’est-à-dire suivre les instructions spécifiées par l’utilisateur. Par exemple, donner à ChatGPT l’instruction d’écrire un poème sur le finetuning.
**********************************************************************************************De la prédiction de texte au suivi des instructions :**********************************************************************************************
En général, l’objectif de modélisation du langage du modèle de base n’est pas suffisant pour apprendre à suivre les instructions d’un utilisateur de manière utile. Les créateurs de modèles utilisent le Finetuning des Instructions (IFT), qui consiste à affiner le modèle de base sur des démonstrations d’instructions écrites sur un ensemble de tâches très diversifié, en plus des tâches NLP classiques telles que le sentiment, la classification de texte, la résumé, etc. Ces démonstrations d’instructions sont composées de trois composants principaux : l’instruction, les entrées et les sorties. Les entrées sont facultatives, certaines tâches ne nécessitent que des instructions, comme dans l’exemple ci-dessus avec ChatGPT. Une entrée et une sortie, lorsqu’elles sont présentes, forment une instance. Il peut y avoir plusieurs instances d’entrées et de sorties pour une instruction donnée. Voir ci-dessous pour des exemples (repris de [Wang et al., ’22]).
Les données pour l’IFT sont généralement une collection d’instructions rédigées par des humains et d’instances d’instructions amorcées à l’aide d’un modèle de langage. Pour l’amorçage, le LM est sollicité (comme dans la figure ci-dessus) dans un contexte de quelques exemples et on lui demande de générer de nouvelles instructions, entrées et sorties. À chaque tour, le modèle est sollicité avec des échantillons choisis à la fois par des humains et générés par le modèle. La contribution humaine et celle du modèle à la création de l’ensemble de données se situe sur un spectre ; voir la figure ci-dessous.
D’un côté, il y a l’ensemble de données IFT entièrement généré par le modèle, comme les Instructions non naturelles (Honovich et al., ’22), et de l’autre, il y a un effort communautaire important pour créer des instructions sur mesure, comme les Instructions surnaturelles (Wang et al., ’22). Entre les deux, on trouve des travaux qui utilisent un petit ensemble de données de départ de haute qualité suivi d’un amorçage, comme l’auto-instruction (Wang et al., ’22). Une autre façon de constituer un ensemble de données pour l’IFT est de prendre les ensembles de données NLP de haute qualité générés par la foule existants sur diverses tâches (y compris les sollicitations) et de les transformer en instructions en utilisant un schéma unifié ou des modèles diversifiés. Cette ligne de travail comprend le T0 (Sanh et al., ’22), l’ensemble de données d’instructions naturelles (Mishra et al., ’22), le FLAN LM (Wei et al., ’22) et l’OPT-IML (Iyer et al., ’22).
Suivre les instructions en toute sécurité
Cependant, les LM finement ajustés aux instructions peuvent ne pas toujours générer des réponses qui sont ********utiles******** et **********sûres.********** Des exemples de ce type de comportement comprennent l’évitement en donnant toujours une réponse inutile telle que “Je suis désolé, je ne comprends pas.” ou en générant une réponse non sécurisée aux entrées de l’utilisateur sur un sujet sensible. Pour atténuer ce comportement, les développeurs de modèles utilisent le Finetuning Supervisé (SFT), en affinant le modèle de langage de base avec des données annotées par des humains de haute qualité en termes d’utilité et d’innocuité. Par exemple, voir le tableau ci-dessous tiré de l’article sur Sparrow (Annexe F).
SFT et IFT sont très étroitement liés. L’ajustement des instructions peut être considéré comme un sous-ensemble du réglage fin supervisé. Dans la littérature récente, la phase de SFT a souvent été utilisée pour des sujets de sécurité, plutôt que pour des sujets spécifiques aux instructions, ce qui est fait après l’IFT. À l’avenir, cette taxonomie et cette délimitation devraient évoluer vers des cas d’utilisation et une méthodologie plus clairs.
LaMDA de Google est également réglé finement sur un ensemble de données de dialogue avec des annotations de sécurité basées sur un ensemble de règles (Annexe A). Ces règles sont généralement prédéfinies et développées par les créateurs de modèles et englobent un large éventail de sujets, notamment les préjudices, la discrimination et la désinformation.
Ajustement fin des modèles
En revanche, InstructGPT d’Open AI, Sparrow de DeepMind et Constitutional AI d’Anthropic utilisent des annotations humaines de préférences dans une configuration appelée “apprentissage par renforcement à partir des commentaires humains (RLHF)”. Dans RLHF, un ensemble de réponses du modèle est classé en fonction des commentaires humains (par exemple, en choisissant un extrait de texte préféré par rapport à un autre). Ensuite, un modèle de préférence est entraîné sur ces réponses annotées pour retourner une récompense scalaire pour l’optimiseur RL. Enfin, l’agent de dialogue est entraîné à simuler le modèle de préférence via l’apprentissage par renforcement. Consultez notre précédent article de blog sur RLHF pour plus de détails.
Prompts de chaîne de pensée (CoT) (Wei et al., ’22) est un cas particulier de démonstration d’instructions qui génère une sortie en sollicitant un raisonnement étape par étape de l’agent de dialogue. Les modèles réglés finement avec CoT utilisent des ensembles de données d’instructions avec des annotations humaines de raisonnement étape par étape. C’est l’origine de la célèbre demande, **************************pensons étape par étape**************************. L’exemple ci-dessous est tiré de Chung et al., ’22. La couleur orange met en évidence l’instruction, la couleur rose montre l’entrée et la sortie, et la couleur bleue représente le raisonnement CoT.
Les modèles réglés finement avec CoT ont montré une bien meilleure performance sur des tâches impliquant le bon sens, les calculs et le raisonnement symbolique, comme dans Chung et al., ’22.
Le réglage fin avec CoT a également montré une grande efficacité pour l’innocuité (parfois meilleur que RLHF) sans que le modèle soit évasif et génère des réponses du type “Désolé, je ne peux pas répondre à cette question”, pour des prompts sensibles, comme le montre Bai et al., ’22. Consultez l’annexe D de leur article pour plus d’exemples.
Points à retenir :
- Vous n’avez besoin que d’une infime fraction de données pour l’ajustement fin des instructions (de l’ordre de quelques centaines) par rapport aux données de pré-entraînement.
- L’ajustement fin supervisé utilise des annotations humaines pour rendre les sorties du modèle plus sûres et utiles.
- L’ajustement fin avec CoT améliore les performances du modèle sur les tâches nécessitant une réflexion étape par étape et les rend moins évasifs sur des sujets sensibles.
Prochaines étapes pour les agents de dialogue
Ce blog résume une grande partie des travaux existants sur ce qui rend un agent de dialogue utile. Mais il reste encore de nombreuses questions ouvertes à explorer. Nous en énumérons certaines ici.
- Quelle est l’importance de RL dans l’apprentissage à partir des commentaires humains ? Pouvons-nous obtenir les performances de RLHF en s’entraînant sur des données de meilleure qualité dans l’IFT ou le SFT ?
- Comment SFT + RLHF, comme dans Sparrow, se compare-t-il à l’utilisation uniquement de SFT, comme dans LaMDA, pour la sécurité ?
- Combien de pré-entraînement est nécessaire, étant donné que nous avons IFT, SFT, CoT et RLHF ? Quels sont les compromis ? Quels sont les meilleurs modèles de base que les personnes devraient utiliser (à la fois ceux disponibles publiquement et ceux qui ne le sont pas) ?
- Beaucoup des modèles référencés dans cet article ont été soigneusement conçus avec des tests de pénétration, où les ingénieurs recherchent spécifiquement les modes de défaillance et influencent l’entraînement futur (prompts et méthodes) en fonction des problèmes révélés. Comment pouvons-nous enregistrer systématiquement les effets de ces méthodes et les reproduire ?
PS : Veuillez nous informer si vous trouvez des informations manquantes ou incorrectes dans ce blog.
****************Référence****************
Rajani et al., "What Makes a Dialog Agent Useful?", Hugging Face Blog, 2023.
Citation BibTeX :
@article{rajani2023ift,
author = {Rajani, Nazneen and Lambert, Nathan and Sanh, Victor and Wolf, Thomas},
title = {What Makes a Dialog Agent Useful?},
journal = {Hugging Face Blog},
year = {2023},
note = {https://huggingface.co/blog/dialog-agents},
}
We will continue to update IPGirl; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Une plongée dans les modèles Vision-Language
- Accélérer les transformateurs PyTorch avec Intel Sapphire Rapids – partie 2
- Présentation de ⚔️ AI vs. AI ⚔️ un système de compétition multi-agents en apprentissage par renforcement profond
- Génération d’histoires IA pour le développement de jeux #5
- Synthèse vocale, reconnaissance et bien plus avec SpeechT5
- Fine-tuning efficace des paramètres en utilisant 🤗 PEFT
- Génération d’images à texte sans apprentissage avec BLIP-2