Maison > Article > Périphériques technologiques > Le modèle PNL ne peut-il pas lire le langage humain ? Microsoft AdaTest rend la recherche de pannes cinq fois plus efficace
Les modèles de traitement du langage naturel (NLP) ne peuvent pas lire la parole humaine et interpréter le texte dans le sens opposé, ce qui constitue un problème chronique dans l'industrie. Microsoft affirme désormais avoir développé une solution à ce problème.
Elle peut être utilisée comme modèle à grande échelle sur diverses fondations d'applications, ou les progrès des modèles de plate-forme ont considérablement amélioré la capacité de l'IA à traiter le langage naturel. Mais les modèles de traitement du langage naturel (NLP) sont encore loin d’être parfaits, et leurs défauts peuvent parfois être révélés de manière embarrassante.
Par exemple, il existe un modèle commercial haut de gamme qui traduit « Je ne recommande pas ce plat » en portugais par « Je recommande vivement ce plat » en anglais.
Ces échecs se poursuivent en partie parce que la recherche et la correction des bogues dans les modèles NLP sont si difficiles que des bogues graves affectent presque tous les principaux modèles NLP open source et commerciaux. Il existe actuellement deux méthodes pour rechercher et corriger les erreurs du modèle NLP : soit pilotée par l'utilisateur, soit automatique.
L'approche axée sur l'utilisateur est flexible et peut tester n'importe quel aspect du comportement du modèle PNL. Mais cette méthode s'appuie sur l'imagination extrêmement variable et la capacité des humains à identifier les erreurs, et est extrêmement exigeante en main-d'œuvre, de sorte qu'en pratique, seule une petite quantité de données d'entrée peut être utilisée pour les tests.
D'un autre côté, les méthodes automatiques sont rapides et peuvent donc gérer une grande partie des données d'entrée. Cependant, faute de contrôle humain, ils ne peuvent tester si un modèle est bon ou mauvais que dans des circonstances très limitées, par exemple lorsque le modèle traite une formulation légèrement modifiée et que ses prédictions deviennent incohérentes.
Les chercheurs de Microsoft estiment que les grands modèles de langage (LLM) modernes comme GPT-3 offrent à l'industrie l'opportunité d'essayer de combiner les avantages des méthodes pilotées par l'utilisateur et des méthodes automatiques, permettant aux utilisateurs de définir le modèle testé. devrait le faire, tout en tirant parti des capacités de génération des modèles de langage modernes à grande échelle pour générer des tests à grande échelle dans des catégories spécifiques de comportement du modèle.
Les chercheurs de Microsoft appellent ce type de chemin d'intégration homme-machine « Adaptive Testing and Bug Removal », en abrégé AdaTest. Avec AdaTest, un grand modèle de langage se voit confier la lourde tâche de générer un grand nombre de tests pour détecter les erreurs dans le modèle testé.
L'intervention humaine guide la génération de modèles de langage en sélectionnant des tests efficaces et en les organisant en sujets sémantiquement liés. Ce type de guidage humain améliore considérablement les performances de génération du modèle de langage et le guide vers le domaine cible.
Étant donné que ces tests sont en fait une forme de données étiquetées, ils peuvent non seulement identifier les erreurs dans les modèles NLP, mais peuvent également être utilisés pour corriger les erreurs du modèle NLP dans un cycle de débogage itératif similaire au développement logiciel traditionnel.
AdaTest offre des améliorations d'efficacité significatives pour les utilisateurs professionnels, tout en étant suffisamment simple pour que les personnes ordinaires sans expérience en programmation puissent l'utiliser efficacement. Cela signifie que les utilisateurs professionnels et les utilisateurs ordinaires peuvent mieux comprendre et contrôler le comportement dans une série de scénarios du modèle NLP, ce qui non seulement améliore les performances du système d'IA, mais permet également au système d'IA de répondre aux besoins des utilisateurs. plus efficacement.
Le mode AdaTest se compose d'une boucle de test interne et d'une boucle de débogage externe, la première est utilisée pour rechercher les erreurs et la seconde est utilisée pour corriger les erreurs.
Bien que cette tâche semble simple, même les modèles SOTA du marché commettent souvent des erreurs. Par exemple, certains modèles SOTA classeront la phrase double négative « Je ne pense pas avoir passé un meilleur moment dans ma vie » comme émotionnellement négative, ou la phrase « Je suis une minorité » sera classée comme émotionnellement négative. .
Ces deux situations sont des erreurs qui se sont effectivement produites dans les modèles économiques du marché. Pour prouver qu'AdaTest peut détecter et corriger les bogues, l'équipe de recherche de Microsoft a démontré comment tester et corriger les défauts d'équité du texte dans les modèles NLP.
L'erreur d'équité du texte du modèle NLP, c'est-à-dire la description neutre d'un groupe d'attributs spécifiques dans un morceau de texte, peut conduire à des erreurs dans la fonction d'analyse des sentiments du texte du modèle NLP et réduire par erreur le poids émotionnel du texte. Autrement dit, le modèle peut traiter les descriptions de certains groupes de manière plus négative.
Dans la boucle de test, les chercheurs de Microsoft ont commencé avec un ensemble de tests unitaires de texte sur diverses identités et ont marqué cet ensemble de tests comme « sensibles ». Ces premiers exemples n’ont révélé aucune erreur dans le modèle.
Cependant, la méthode AdaTest utilise GPT-3 pour générer un grand nombre de tests suggestifs de type corpus afin de mettre en évidence les bogues potentiels dans le modèle objet de test.
Bien que des centaines de tests soient générés, le personnel intervenant n'a qu'à réviser les premiers tests erronés ou quasiment erronés. L'intervention humaine ignore ensuite les résultats de tests qui ne sont pas réellement faux et ajoute d'autres résultats de tests valides au sujet actuel, et les organise parfois en d'autres sous-thèmes. Ces résultats de tests filtrés manuellement seront inclus dans la prochaine invite du modèle de langage de. Lors de l'entrée ronde, les résultats du traitement de l'ensemble suivant de données d'entrée sont poussés à l'intersection entre les préoccupations des utilisateurs et les erreurs du modèle.
La répétition de ce cycle de tests internes permet au modèle NLP de démarrer sans erreur et d'exposer lentement des erreurs et des bugs de plus en plus évidents. Par conséquent, même si les utilisateurs ne peuvent pas trouver eux-mêmes de défauts dans le modèle, ils peuvent commencer par un petit ensemble de tests réussis, puis itérer rapidement avec le modèle NLP pour produire un grand lot de tests révélant des erreurs dans le modèle testé.
Exemple de boucle de test interne Si le testeur n'utilise pas le sujet de l'analyse des sentiments du texte, mais se concentre sur un sujet différent, comme le traitement des phrases négatives et des phrases doubles négatives, le testeur trouvera différentes erreurs.
Par exemple, une simple déclaration comme « Je n'ai jamais été aussi heureuse que maintenant » peut être correctement classée comme positive par le modèle économique. Cependant, en utilisant la méthode AdaTest, vous pouvez rapidement constater que des déclarations complexes telles que « Je ne pense pas avoir jamais vu une meilleure ville » seront marquées à tort comme négatives par le modèle NLP.
Ces bugs sont évidents et flagrants une fois qu'un testeur les voit, mais ils sont difficiles à détecter directement par les humains car ils n'apparaissent que dans des formulations très spécifiques. L'équipe de recherche de Microsoft a mené une enquête auprès des utilisateurs pour évaluer quantitativement si AdaTest permet aux utilisateurs professionnels et non professionnels de mieux rédiger des tests et de trouver des erreurs dans les modèles NLP. Les chercheurs ont demandé à des utilisateurs professionnels de tester des fonctionnalités spécifiques à un sujet dans deux modèles : un classificateur de sentiments de texte commercial et GPT-2 pour la saisie semi-automatique du mot suivant.
Cette fonctionnalité est utilisée pour des applications telles que la prédiction du mot suivant dans un e-mail saisi. Pour chaque sujet et modèle, les participants ont été assignés au hasard à utiliser CheckList (qui signifie SOTA pour User-Driven Testing) ou AdaTest. Les chercheurs ont observé une multiplication par cinq d’AdaTest selon différents modèles et participants professionnels.
L'exigence de test du chercheur pour les utilisateurs non professionnels est de tester le contrôle du contenu du corpus toxique dans le modèle PNL. Les participants doivent trouver dans le corpus du contenu non toxique qui est jugé comme toxique par le modèle, c'est-à-dire un contenu qu'ils jugent personnellement approprié. Les participants peuvent utiliser une version améliorée de l'interface de crowdsourcing Dynabench pour les tests de modèles, ou ils peuvent utiliser AdaTest. Le résultat est qu’AdaTest offre une amélioration jusqu’à 10 fois supérieure.
Testez les rendus des participants au test avec différents points de vue
Une fois suffisamment d'erreurs trouvées, les testeurs du modèle effectueront une boucle de débogage externe (comme indiqué ci-dessous) et les corrigeront dans Erreurs trouvées dans la boucle de test, puis retestez le modèle. Dans ce processus, la partie « retester » de la boucle de débogage (c'est-à-dire exécuter à nouveau la boucle de test) est cruciale car une fois que les tests sont utilisés pour corriger le modèle, ce ne sont plus des données de test, mais des données d'entraînement. Le processus de correction des bugs est souvent surcompensé, introduisant des raccourcis ou des erreurs dans les premiers tours du cycle de débogage qui ne peuvent être découverts qu'avec un ensemble de tests adaptés au nouveau modèle « corrigé ».
Processus du cycle de test sur un modèle d'émotion open source RoBERTa-Large. Les chercheurs ont commencé par tester le sujet « /sensible/immigration » de la figure 2, que le modèle RoBERTa a incorrectement qualifié de négatif. Le modèle est affiné au cours de ces tests (mélangé aux données d'entraînement d'origine pour maintenir la performance des tâches), et le résultat est un nouveau modèle qui n'échoue plus. Cependant, lors de la réexécution de la boucle de test, il a été découvert que presque toutes les déclarations d'immigration étaient désormais marquées comme « neutres », même si elles étaient réellement négatives sur la base du scénario de candidature et de test.
En affinant à nouveau à l'aide de ces nouveaux tests, le résultat est que le modèle corrige correctement l'erreur d'origine sans ajouter le raccourci « chaque déclaration d'immigration est neutre ». Bien entendu, cela ne garantit pas qu'un autre raccourci n'existe pas dans le modèle, mais selon l'expérience du chercheur, après plusieurs cycles de débogage, le nombre d'erreurs inattendues introduites lors de la correction de l'erreur d'origine est considérablement réduit.
Les testeurs n'ont pas besoin d'identifier chaque erreur possible en détail à l'avance, AdaTest fera apparaître et corrigera de manière adaptative les erreurs introduites lors de la prochaine série de tests et de débogage.
Ainsi, la boucle de débogage repousse les limites de la spécification actuelle de test de bogues jusqu'à ce qu'un modèle satisfaisant soit produit. En fait, AdaTest peut être considéré comme l’application du cycle test-fix-retest en génie logiciel en PNL.
Les raccourcis ajoutés lors des itérations de la boucle de débogage ont été découverts et corrigés par les itérations futures. Pour évaluer l'efficacité de la boucle de débogage, RoBERTa-Large a été affiné à l'aide de l'ensemble de données de questions Quora pour détecter deux si la question est dupliquée ou Non, il est également affiné à l'aide de l'ensemble de données Stanford Sentiment Treebank (SST) pour l'analyse des sentiments positifs/neutres/négatifs.
Les résultats ont révélé que le modèle de base n'a pas réussi à identifier 22 des 53 sujets QQP et 11 des 39 sujets émotionnels. Ensuite, le chercheur a créé des données pour réparer le thème. Extrayez 50 exemples des données sur ce sujet et exécutez une boucle de débogage avec AdaTest. Sur l'ensemble de données QQP, une moyenne de 41,6 tests sont effectués, et sur l'ensemble de données de sentiment, une moyenne de 55,8 tests sont effectués.
Les résultats montrent que dans la grande majorité des cas, AdaTest corrige les questions utilisées pour la formation et certaines questions réservées invisibles sans détruire aucune question, tandis que les données originales de la CheckList introduisent souvent de nouvelles erreurs, détruisant ainsi d'autres questions du test. Les chercheurs ont également évalué l'efficacité d'AdaTest dans un environnement de développement standard. Après trois mois de développement, de tests CheckList et d'augmentation ad hoc des données basées sur GPT-3, le score F1 est de 0,66 (sur 1,00) sur des données inédites collectées dans la nature.
La même équipe utilisant AdaTest, après avoir exécuté elle-même la boucle de débogage pendant quatre heures, a obtenu un score F1 de 0,77 sur le même ensemble de données inédites. Ces scores ont ensuite été répliqués sur un deuxième ensemble de données inédit, démontrant qu'AdaTest peut effectuer des corrections de bugs et obtenir de meilleurs résultats dans les domaines où les méthodes traditionnelles échouent.
Les gens fournissent des spécifications de problèmes qui manquent aux modèles de langage, tandis que les modèles de langage fournissent des tests de haute qualité à une échelle et une portée plus grandes, et connectent les tests de modèles et le débogage, corrigent efficacement les erreurs et rapprochent le développement de modèles du développement logiciel traditionnel. La nature itérative de .
La coopération entre les humains et l'IA représente une direction future pour le développement de l'apprentissage automatique. On espère que cette collaboration continuera à s'améliorer à mesure que les capacités des modèles de langage à grande échelle continuent de croître.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!