Comment créer un ChatGPT privé à l'aide d'une technologie open source ? Téléchargez notre livre blanc gratuit.

Révolutionner l'analyse des sentiments grâce à des adaptateurs

Découvrez comment nous révolutionnons l'analyse des sentiments en incorporant la technique révolutionnaire AdapterFusion, en surmontant l'oubli catastrophique et en permettant un apprentissage multitâche efficace. Découvrez l'architecture légère des adaptateurs et leurs performances supérieures dans notre étude de cas détaillée.

Présentation

Imaginez avoir du mal à entraîner efficacement un modèle linguistique sur de multiples tâches, pour découvrir qu'il oublie les apprentissages antérieurs au fur et à mesure que de nouvelles informations sont acquises. C'est le problème auquel de nombreux chercheurs et développeurs ont été confrontés en travaillant sur des modèles d'analyse des sentiments.

L'incapacité de conserver et de partager les connaissances issues de plusieurs tâches a entravé les progrès et a conduit au phénomène redouté connu sous le nom de oubli catastrophique.

Découvrez la solution qui change la donne : Adaptateurs. Ces composants innovants dotés d'une architecture légère transforment le paysage de l'analyse des sentiments car ils peuvent être entraînés plus rapidement, avec moins de ressources GPU par rapport aux grands modèles linguistiques et sans dégrader les performances.

Le secret du succès des adaptateurs réside dans leur capacité à surmonter les défis de l'apprentissage par transfert, en combinant les connaissances issues de divers ensembles de données de manière non destructive et sans compromettre les performances.

Bienvenue dans la nouvelle génération d'analyse des sentiments, pilotée par la technique de pointe AdapterFusion. Il est temps de mettre fin à l'oubli catastrophique et d'envisager un avenir doté de modèles intelligents et polyvalents capables d'apprendre et de partager efficacement des connaissances issues de multiples tâches.

Dans cet article de blog, nous explorons le potentiel des architectures d'adaptateurs pour les tâches d'analyse des sentiments, en utilisant notamment la technique AdapterFusion.

  1. Nous commençons par fournir des informations générales sur les adaptateurs et le modèle Transformer, en soulignant leurs avantages par rapport à la mise au point traditionnelle, en mettant l'accent sur leur architecture légère.
  2. Ensuite, nous présentons un exemple détaillé d'utilisation d'adaptateurs pour l'analyse des sentiments, en évaluant à la fois des modèles à adaptateur unique et des modèles de fusion.

→ Nos résultats montrent que les deux modèles surpassent celui actuellement en production, mais étonnamment, le modèle de fusion ne surpasse pas significativement l'adaptateur unique. Cependant, des expériences supplémentaires sont nécessaires pour tirer une conclusion plus solide.

Relever le défi avec AdapterFusion

L'oubli catastrophique, principal obstacle auquel sont confrontés les chercheurs, peut désormais être surmonté à l'aide d'AdapterFusion, une technique présentée dans l'article AdapterFusion : composition non destructive des tâches pour l'apprentissage par transfert par J. Pfeiffer et coll.

Les adaptateurs sont essentiellement des couches légères ajoutées aux modèles BERT, qui offrent deux avantages remarquables :

  1. Tout en ayant beaucoup moins de paramètres d'entraînement, les adaptateurs offrent des performances comparables à celles des modèles entièrement ajustés, ce qui en fait un choix efficace.
  2. Les adaptateurs excellent dans l'apprentissage par transfert, car ils peuvent apprendre à partir de différents ensembles de données et combiner efficacement ces connaissances à l'aide d'une composition de tâches non destructive qui fait appel à des mécanismes d'attention dynamiques.

En tirant parti des adaptateurs, nous pouvons créer des modèles qui partagent les connaissances relatives à diverses tâches tout en évitant les oublis catastrophiques, garantissant ainsi un processus d'apprentissage fiable et stable.

Avancement et étapes clés du projet

Nous avons commencé ce projet le 1er février, dans le but de terminer le modèle des sentiments et des émotions d'ici avril.

La conception du modèle permet des améliorations continues sur la base d'évaluations internes et de précieux commentaires des clients, garantissant ainsi qu'il répond toujours aux attentes, voire les dépasse.

Architecture des adaptateurs : libérer toute la puissance

Les adaptateurs constituent une technique architecturale puissante pour les modèles de transformateurs qui permettent un réglage précis efficace sans qu'il soit nécessaire de réentraîner l'ensemble du modèle.

En insérant de petits modules pouvant être entraînés entre les couches d'un modèle pré-entraîné, les adaptateurs permettent de personnaliser des tâches spécifiques tout en réduisant le nombre de paramètres pouvant être entraînés, ce qui permet d'accélérer les temps d'entraînement et de réduire les besoins en mémoire.

Cela fait des adaptateurs une option intéressante pour les tâches de traitement du langage naturel, telles que la prédiction des sentiments et des émotions, pour lesquelles une adaptation rapide et des performances élevées sont essentielles.

Architecture en goulot d'étranglement

Les couches adaptatrices sont constituées d'une matrice de projection vers le bas, d'une fonction de non-linéarité, d'une matrice de projection vers le haut et d'une connexion résiduelle.

Un hyperparamètre clé est la dimension du goulot d'étranglement m, qui apparaît dans facteur_de réduction définition ci-dessous. Ce facteur définit le rapport entre la dimension cachée de la couche d'un modèle et la dimension du goulot d'étranglement :

reduction\_factor = \frac{d_{hidden}}{d_{bottleneck}} = \frac{d}{m}

Depuis m << d, l'architecture en goulot d'étranglement réduit considérablement le nombre de paramètres et agit comme un encodeur capable de filtrer les informations cruciales.

En pratique, les adaptateurs entraînent l'équivalent de 0,5 % à 8 % des paramètres du modèle d'origine, ce qui permet d'économiser de l'espace de stockage pour le modèle et de réduire le temps d'apprentissage.

AdapterFusion : extraction et composition des connaissances

AdapterFusion combine plusieurs adaptateurs, chacun étant entraîné indépendamment sur une tâche ou un ensemble de données spécifique. L'adaptateur qui en résulte est une fusion d'adaptateurs individuels. Ce processus comporte deux étapes :

  1. Extraction de connaissances: apprentissage indépendant des paramètres spécifiques à la tâche pour chaque adaptateur.
  2. Composition des connaissances: Combiner efficacement les connaissances de manière non destructive.

Cette méthode permet aux adaptateurs d'éviter les oublis catastrophiques de manière plus efficace que les réglages précis séquentiels sur plusieurs tâches.

Activation contextuelle

En termes simples, l'activation contextuelle est une technique utilisée pendant la phase de composition des connaissances pour améliorer les performances du modèle en combinant les connaissances de plusieurs adaptateurs entraînés.

Cela se fait en utilisant un mécanisme d'attention, introduit pour la première fois dans le document L'attention est tout ce dont vous avez besoin par A. Vaswani et coll., 2017.

Cela permet au modèle de se concentrer sur les informations les plus utiles pour une entrée donnée. Cette approche permet de former des adaptateurs sur des ensembles de données sur les sentiments et les émotions plus efficacement que les méthodes traditionnelles d'apprentissage par transfert.

AdapterFusion identifie un mélangeur paramétré à partir des adaptateurs entraînés disponibles et identifie les adaptateurs les plus utiles pour une entrée donnée.

Paramètres Φ utilisés dans AdapterFusion sont composés de Clé, Valeur, et Requête matrices à chaque couche l, désigné par Kl, Vl, et Ql. En utilisant la sortie de chaque adaptateur zgauche, t comme entrée pour Clé et Valeur, AdapterFusion apprend l'activation contextuelle.

En fin de compte, cette approche puissante permet de former efficacement des adaptateurs sur des ensembles de données sur les sentiments et les émotions tout en surmontant les limites des techniques traditionnelles d'apprentissage par transfert.

Mise en œuvre d'adapt

Dans cette section, nous aborderons les principaux points concernant la mise en œuvre des adaptateurs et leur application dans notre cas d'utilisation.

Tâches à effectuer

La prédiction des sentiments et des émotions est un défi complexe en raison de la nature complexe des langages naturels. Par exemple, un seul mot peut exprimer un large éventail de sentiments et d'émotions, et le fait de modifier ou d'ajouter des mots peut en modifier le sens et l'interprétation.

Heureusement, les deux tâches partagent de nombreux aspects communs, tels que l'utilisation de modèles d'adaptateurs-transformateurs et la configuration des hyperparamètres pendant l'entraînement, même si les tâches de prédiction diffèrent. L'analyse des sentiments est un problème de classification multiple, tandis que l'analyse des émotions est un problème de classification multi-étiquettes.

Il est crucial de recueillir des commentaires et de tirer parti de la modularité des adaptateurs pour améliorer le modèle pour chaque client. Ces prévisions peuvent être entièrement basées sur les décisions des clients, ce qui nécessite d'affiner des données aussi proches que possible des leurs. Par exemple, il existe deux manières de prédire le sentiment :

  • Sentiment basé sur le locuteur: J'aime vraiment me moquer des gens avec mes amis serait plutôt classé comme positif.
  • Sentiment moral: J'aime vraiment me moquer des gens avec mes amis serait classé dans la catégorie négative.

L'analyse des avis sera généralement basée sur le premier type de sentiment, tandis qu'une banque, par exemple, optera pour une analyse basée sur des critères moraux.

Prédiction des sentiments

Le résultat souhaité pour la prédiction du sentiment est un nombre flottant compris entre [-1 ; 1] (-1 pour négatif, 0 pour neutre et 1 pour positif). Cependant, les ensembles de données utilisés pour entraîner les modèles sont généralement conçus pour des problèmes de classification multiples, car la cible est constituée d'étiquettes discrètes (étiquettes binaires, ternaires ou à cinq points d'échelle).

L'objectif est de mettre en œuvre un entraînement à classification multiple capable d'apprendre à partir d'ensembles de données comportant un nombre arbitraire d'étiquettes et de renvoyer une sortie continue comprise entre [-1 ; 1]. Cela peut être facilement réalisé par une transformation affine.

Prédiction des émotions

Le résultat final pour la prédiction des émotions sera des émotions identifiées à partir d'une liste d'émotions prédéfinies. L'objectif est de générer une probabilité pour chacune des 28 émotions possibles suivantes :

[« admiration », « amusement », « colère », « agacement », « attention », « confusion », « curiosité », « désir », « déception », « désapprobation », « dégoût », « embarras », « excitation », « peur », « gratitude », « chagrin », « joie », « amour », « nervosité », « optimisme », » fierté », « réalisation », « soulagement », « remords », « tristesse », « surprise », « neutre »].

Le choix de ces émotions a été directement inspiré par aller aux émotions ensemble de données, qui est un ensemble de données annoté par l'homme de 58 000 Reddit commentaires en anglais. Il comporte 27 émotions, dont 12 catégories positives, 11 négatives, 4 catégories d'émotions ambiguës et 1 classe supplémentaire : « neutre ».

Présentation des ensembles de données

L'idée est d'utiliser divers ensembles de données d'entraînement pour notre modèle afin d'acquérir un maximum de connaissances et de généraliser autant que possible, c'est-à-dire de bien prédire sur des données d'entrée invisibles.

De même, en termes d'évaluation, plus il y a d'ensembles de données, mieux c'est. En particulier, avant de mettre un modèle en production, il est recommandé de l'évaluer sur la base des données du client (éventuellement assez bruyantes) afin de mieux anticiper les performances du modèle.

Sentiment

Voici quelques ensembles de données publics intéressants pour l'analyse des sentiments contenant un nombre relativement élevé d'échantillons :

La plupart de ces ensembles de données sont en anglais et correspondent à des critiques. Par conséquent, notre modèle est peut-être plus susceptible de classer les avis que les autres types de données, ce qui fonctionne très bien pour nous chez Lettria, car nous travaillons principalement sur la prévision des avis. Cependant, cela peut être limitatif pour d'autres types de données.

La majorité de ces ensembles de données ont des étiquettes binaires, ce qui peut être problématique pour prédire les classes positives, neutres et négatives. D'autre part, les ensembles de données à 5 étiquettes contiennent des informations beaucoup plus utiles pour classer les sentiments en trois classes, même si la formation peut prendre plus de temps en raison de la complexité accrue.

Parmi ces ensembles de données, c'est Amazon-Reviews-Multi qui a été choisi. Il comprend 200 000 échantillons avec des critiques contenant au moins 20 caractères et comporte 5 étiquettes.

Ensemble de données pour évaluer les prévisions de sentiment

Nos modèles seront évalués sur un ensemble de données français anonymisé contenant environ 661 échantillons. Les étiquettes ont été définies avec soin et manuellement, et les entrées trop ambiguës ont été éliminées.

Comme le montre le graphique circulaire, l'ensemble de données reste assez déséquilibré en raison du petit nombre d'étiquettes neutres.

Émotion

L'ensemble de données public go_emotions disponible sur HuggingFace en anglais sera utilisé.

Cela correspond à un ensemble de données annoté par l'homme de 58 000 Reddit commentaires extraits de subreddits populaires en anglais et étiquetés avec le 28 catégories d'émotions défini ci-dessus.

Il contient 211 225 annotations, fournies par 82 annotateurs, sur 58 011 exemples de texte trouvés sur Reddit. Chaque texte d'entrée a été annoté par plusieurs annotateurs pour atteindre un consensus compte tenu de la subjectivité des annotations.

Pour prédire les émotions en français et en anglais, l'ensemble de données original a été traduit en français et en espagnol à l'aide de API DeepL.

Paramètres et configurations

L'architecture adapteur-transformateur sera insérée dans un modèle multilingue basé sur un transformateur pré-entraîné : XLM-RobertaBase pour gérer l'anglais, le français, l'espagnol (et d'autres langues à l'avenir). Il a été formé à la modélisation du langage masqué et contient environ 280 millions de paramètres.

Par rapport au modèle BERT utilisé, il existe beaucoup moins de paramètres entraînables : seulement 1,5 million de paramètres, soit 0,5 %.

L'idée est de suivre au plus près les métriques du modèle pour comprendre ses performances. L'utilisation de Débit ML sera particulièrement utile pour obtenir une évaluation approfondie des performances du modèle.

PyTorch Lightning Un cadre sera utilisé pour entraîner nos modèles.

Avant d'optimiser le modèle, les ensembles de données ont été prétraités. Cela inclut :

  • Suppression des modèles indésirables non pris en charge par les bibliothèques de manipulation de données
  • Traduire les ensembles de données pour obtenir les versions française, anglaise et espagnole
  • Standardisation les étiquettes des ensembles de données pour gérer les ensembles de données dont les libellés sont des entiers commençant à 0

Une fois les jeux de données prêts à être utilisés, l'optimisation consiste à trouver les configurations appropriées pour :

  • lr: le taux d'apprentissage
  • patience
  • min_époques/max_epochs
  • pas_minimes/max_étapes
  • perte de poids_distribution: poids pour prendre en compte le déséquilibre de l'ensemble de données
  • perte: le choix de la fonction de perte
  • fonction_d'activation: il est possible d'utiliser softmax et de considérer l'analyse des émotions comme un problème de classification multiple au détriment d'un problème multi-étiquettes

La perte d'entropie croisée sera utilisée comme fonction de perte pour l'analyse des sentiments, car il s'agit d'un problème de classification multiclasse. Pour l'analyse des émotions, la perte d'entropie croisée binaire peut être utilisée car il s'agit d'un problème de classification multi-étiquettes.

Want to learn how to build a private ChatGPT using open-source technology?

Évaluation du modèle : exemple d'analyse des sentiments

Métriques d'évaluation

Pour évaluer les performances de notre modèle sur les problèmes de classification multi-classes (et également sur les problèmes de classification multi-étiquettes), nous pouvons utiliser des outils tels que matrices de confusion et celui de Sklearn rapports de classification. Ils fournissent des résultats détaillés pour chaque classe, ce qui nous aide à comprendre les performances du modèle. Étant donné que notre ensemble de données de test est déséquilibré, la précision n'est peut-être pas la meilleure métrique. Nous allons plutôt nous concentrer sur Score de F1, qui prend en compte à la fois la précision et le rappel et convient parfaitement aux ensembles de données déséquilibrés.

Expérience : AdapterFusion pour combiner des langues

Selon les recherches de J. Pfeiffer et al., AdapterFusion est une caractéristique intéressante des modèles basés sur des adaptateurs. Nous verrons si cela peut améliorer les performances de notre modèle. Des expériences précédentes ont montré que Amazon - Critiques - Multi L'ensemble de données est particulièrement utile pour entraîner des adaptateurs individuels. Par conséquent, tous les modèles de cette expérience seront entraînés sur cet ensemble de données multilingue.

Nous entraînerons nos modèles sur 90 000 échantillons en français, anglais et espagnol, à l'aide d'un taille_du lot de 8 et un lr de 1e-4. Le premier modèle (Modèle à adaptateur unique) seront entraînés sur un ensemble de données combiné des trois langues. Le deuxième modèle (Modèle AdapterFusion) fusionnera trois adaptateurs uniques, chacun entraîné sur un jeu de données linguistique distinct, puis affinera le modèle fusionné sur le jeu de données combiné.

Il est important de noter que nous ne pouvons pas dire de manière concluante si la fusion est meilleure que les adaptateurs simples sur la seule base de cette expérience. Une comparaison plus approfondie impliquerait de faire la moyenne des résultats sur plusieurs formations avec différentes configurations et d'afficher les écarts types.

Résumé des résultats

Les résultats de l'expérience montrent que le SingleAdapterModel et l'AdapterFusionModel surpassent le modèle actuel en production en termes de score F1 et de précision. Le modèle SingleAdapter a atteint une précision de 0,871 et un score F1 moyen macroéconomique de 0,664. En comparaison, le modèle AdapterFusion avait une précision de 0,861 et un score F1 moyen macroéconomique de 0,674.

Bien que les deux modèles présentent des améliorations par rapport au modèle de production actuel, les différences entre eux ne sont pas suffisamment importantes pour déterminer de manière concluante la supériorité d'une approche par rapport à l'autre.

Conclusion

Fait intéressant, le modèle de fusion ne surpasse pas de manière significative l'adaptateur unique.

Comme nous utilisons un modèle de base multilingue (modèle XLM-Roberta-Base), il est possible que l'entraînement sur un ensemble de données multilingue ne cause pas de problèmes d'interférences catastrophiques. Selon l'article de J. Pfeiffer et al., les modèles de fusion sont plus performants que les adaptateurs simples sur des ensembles de données à faibles ressources (ceux dont les données d'inférence sont limitées), tandis que les adaptateurs individuels fonctionnent légèrement mieux sur les ensembles de données à ressources élevées (ceux pour lesquels de nombreuses données sont disponibles).

Si les performances des deux approches sont comparables, le modèle Fusion nécessite plus d'espace de stockage : le modèle ONNX occupe 1,13 Go contre 1,04 Go pour l'adaptateur unique. En outre, il peut être plus pratique d'améliorer un modèle unique plutôt qu'un modèle de fusion.

En fin de compte, il est important de se rappeler que une seule expérience ne suffit pas pour tirer des conclusions définitives.

Cependant, il est évident que les deux modèles testés surpassent de manière significative le modèle de production actuel avec les configurations données.

Sources

Callout

Créez votre pipeline NLP gratuitement
Commencez ->