Kann das NLP-Modell menschliche Sprache nicht lesen? Microsoft AdaTest macht die Fehlersuche fünfmal effizienter

WBOY
Freigeben: 2023-04-09 16:11:11
nach vorne
1538 Leute haben es durchsucht

​Modelle zur Verarbeitung natürlicher Sprache (Natural Language Processing, NLP) können menschliche Sprache nicht lesen und Texte nicht als Gegenbedeutung interpretieren, was in der Branche ein chronisches Problem darstellt. Nun gibt Microsoft an, eine Lösung für dieses Problem entwickelt zu haben.

Microsoft entwickelt die AdaTest-Methode zum Testen von NLP-Modellen

Sie kann als groß angelegtes Modell über verschiedene Anwendungsgrundlagen hinweg verwendet werden, oder der Fortschritt von Plattformmodellen hat die Fähigkeit der KI, natürliche Sprache zu verarbeiten, erheblich verbessert. Aber NLP-Modelle (Natural Language Processing) sind noch lange nicht perfekt, und Fehler können manchmal auf peinliche Weise aufgedeckt werden.

Zum Beispiel gibt es ein erstklassiges kommerzielles Modell, das „Ich empfehle dieses Gericht nicht“ auf Portugiesisch in „Ich empfehle dieses Gericht wärmstens“ auf Englisch übersetzt.

Diese Fehler treten teilweise weiterhin auf, weil das Finden und Beheben von Fehlern in NLP-Modellen so schwierig ist, dass schwerwiegende Fehler fast alle wichtigen Open-Source- und kommerziellen NLP-Modelle betreffen. Derzeit gibt es zwei Methoden zum Auffinden und Beheben von NLP-Modellfehlern: entweder benutzergesteuert oder automatisch.

Der benutzergesteuerte Ansatz ist flexibel und kann jeden Aspekt des NLP-Modellverhaltens testen. Diese Methode ist jedoch auf die äußerst variable Vorstellungskraft und Fehlererkennungsfähigkeit des Menschen angewiesen und äußerst arbeitsintensiv, sodass in der Praxis nur eine geringe Menge an Eingabedaten zum Testen verwendet werden kann.

Andererseits sind automatische Methoden schnell und können daher einen großen Teil der Eingabedaten verarbeiten. Da es jedoch an menschlicher Kontrolle mangelt, können sie nur unter sehr begrenzten Umständen testen, ob ein Modell richtig oder falsch ist, etwa wenn das Modell Eingabeformulierungen verarbeitet, die sich geringfügig ändern und seine Vorhersagen inkonsistent werden.

Kann das NLP-Modell menschliche Sprache nicht lesen? Microsoft AdaTest macht die Fehlersuche fünfmal effizienter

Microsoft-Forscher glauben, dass moderne große Sprachmodelle (LLMs) wie GPT-3 der Branche die Möglichkeit bieten, die Vorteile benutzergesteuerter Methoden und automatischer Methoden zu kombinieren, sodass Benutzer definieren können, was das zu testende Modell ist sollte dies tun und gleichzeitig die Generierungsfähigkeiten moderner groß angelegter Sprachmodelle nutzen, um groß angelegte Tests in bestimmten Kategorien des Modellverhaltens zu generieren.

Microsoft-Forscher nennen diese Art von Mensch-Computer-Integrationspfad „Adaptive Testing and Bug Removal“, abgekürzt als AdaTest. Mit AdaTest wird einem großen Sprachmodell die schwere Last auferlegt, eine große Anzahl von Tests auf Fehler im zu testenden Modell zu generieren.

Menschliches Eingreifen steuert die Generierung von Sprachmodellen, indem es effektive Tests auswählt und sie in semantisch verwandte Themen organisiert. Diese Art der menschlichen Führung verbessert die Generierungsleistung des Sprachmodells erheblich und führt es zur Zieldomäne.

Da es sich bei diesen Tests tatsächlich um eine Form gekennzeichneter Daten handelt, können sie nicht nur Fehler in NLP-Modellen identifizieren, sondern auch zur Behebung von NLP-Modellfehlern in einem iterativen Debugging-Zyklus ähnlich der herkömmlichen Softwareentwicklung verwendet werden.

AdaTest bietet erhebliche Effizienzsteigerungen für professionelle Benutzer und ist gleichzeitig einfach genug, um von normalen Menschen ohne Programmierkenntnisse effektiv genutzt zu werden. Dies bedeutet, dass sowohl professionelle als auch normale Benutzer das Verhalten in einer Reihe von Szenarien des NLP-Modells besser verstehen und steuern können, was nicht nur zu einer besseren Leistung des KI-Systems führt, sondern auch dazu führt, dass das KI-System auf Benutzeranforderungen reagiert effektiver.

Entdecken Sie Fehler mit Testschleifen

Der AdaTest-Modus besteht aus einer inneren Testschleife und einer äußeren Debugging-Schleife, wobei erstere zum Auffinden von Fehlern und letztere zum Beheben von Fehlern verwendet wird.

Obwohl diese Aufgabe einfach erscheint, machen selbst SOTA-Modelle auf dem Markt oft Fehler. Beispielsweise klassifizieren einige SOTA-Modelle den doppelt negativen Satz „Ich glaube nicht, dass ich eine bessere Zeit in meinem Leben hatte“ als emotional negativ, oder der Satz „Ich bin eine Minderheit“ wird als emotional negativ eingestuft .

Bei beiden Situationen handelt es sich um tatsächlich aufgetretene Fehler bei Geschäftsmodellen am Markt. Um zu beweisen, dass AdaTest Fehler finden und beheben kann, demonstrierte das Forschungsteam von Microsoft, wie man Text-Fairness-Fehler in NLP-Modellen testet und behebt.

Der Text-Fairness-Fehler des NLP-Modells, d. h. die neutrale Beschreibung einer bestimmten Attributgruppe in einem Text, kann zu Fehlern in der Text-Sentiment-Analysefunktion des NLP-Modells führen und fälschlicherweise das emotionale Gewicht des Textes verringern Text. Das heißt, dass das Modell Beschreibungen bestimmter Gruppen möglicherweise negativer behandelt.

Kann das NLP-Modell menschliche Sprache nicht lesen? Microsoft AdaTest macht die Fehlersuche fünfmal effizienter

In der Testschleife begannen die Microsoft-Forscher mit einer Reihe von Texteinheitentests zu verschiedenen Identitäten und markierten diese Reihe von Tests als „sensibel“. Diese ersten Beispiele ließen keine Fehler im Modell erkennen.

Die AdaTest-Methode verwendet jedoch GPT-3, um eine große Anzahl suggestiver Tests mit ähnlichem Korpus zu generieren, um die versteckten Fehler des Testobjektmodells hervorzuheben.

Obwohl Hunderte von Tests erstellt werden, muss das eingreifende Personal nur die ersten paar Tests überprüfen, die fehlerhaft oder nahezu fehlerhaft sind. Der menschliche Eingriff ignoriert dann die Testergebnisse, die nicht wirklich falsch sind, und fügt dem aktuellen Thema andere gültige Testergebnisse hinzu und organisiert sie gelegentlich in anderen Unterthemen. Diese manuell gefilterten Testergebnisse werden in die nächste Eingabeaufforderung des Sprachmodells aufgenommen Bei der runden Eingabe werden die Verarbeitungsergebnisse des nächsten Satzes von Eingabedaten an die Schnittstelle zwischen Benutzeranliegen und Modellfehlern verschoben.

Durch die Wiederholung dieses internen Testzyklus kann das NLP-Modell fehlerfrei starten und nach und nach immer offensichtlichere Fehler und Bugs aufdecken. Selbst wenn Benutzer selbst keine Fehler im Modell finden können, können sie daher mit einer kleinen Reihe bestandener Tests beginnen und dann schnell mit dem NLP-Modell iterieren, um eine große Anzahl von Tests zu erstellen, die Fehler im getesteten Modell aufdecken.

Kann das NLP-Modell menschliche Sprache nicht lesen? Microsoft AdaTest macht die Fehlersuche fünfmal effizienter

Beispiel einer internen Testschleife Wenn der Tester nicht das Thema der Text-Sentiment-Analyse verwendet, sondern ein anderes Thema anspricht, beispielsweise die Verarbeitung negativer Sätze und doppelt negativer Sätze, wird der Tester unterschiedliche Fehler finden.

Zum Beispiel eine einfache Aussage wie „Ich war noch nie glücklicher als jetzt“ kann vom Geschäftsmodell korrekt als positiv eingestuft werden. Mithilfe der AdaTest-Methode können Sie jedoch schnell feststellen, dass komplexe Aussagen wie „Ich glaube nicht, dass ich jemals eine bessere Stadt gesehen habe“ vom NLP-Modell fälschlicherweise als negativ markiert werden.

Diese Fehler sind offensichtlich und ungeheuerlich, sobald ein Tester sie sieht, aber sie sind für Menschen schwer direkt zu erkennen, da sie nur in sehr spezifischen Formulierungen auftreten. Das Forschungsteam von Microsoft führte eine Benutzerumfrage durch, um quantitativ zu bewerten, ob AdaTest es professionellen und nicht-professionellen Benutzern ermöglicht, Tests besser zu schreiben und Fehler in NLP-Modellen zu finden. Die Forscher baten professionelle Benutzer, themenspezifische Funktionen in zwei Modellen zu testen: einem kommerziellen Text-Sentiment-Klassifikator und GPT-2 für die automatische Vervollständigung des nächsten Wortes.

Diese Funktion wird für Anwendungen wie die Vorhersage des nächsten Wortes in einer eingegebenen E-Mail verwendet. Für jedes Thema und Modell wurden die Teilnehmer nach dem Zufallsprinzip der Verwendung von CheckList (was für SOTA für User-Driven Testing steht) oder AdaTest zugewiesen. Die Forscher beobachteten eine fünffache Verbesserung von AdaTest bei verschiedenen Modellen und professionellen Teilnehmern.

Die Testanforderung des Forschers für nicht-professionelle Benutzer besteht darin, die Inhaltskontrolle des toxischen Korpus im NLP-Modell zu testen. Die Teilnehmer müssen im Korpus ungiftige Inhalte finden, die vom Modell als toxisch beurteilt werden, also Inhalte, die sie persönlich für geeignet halten. Teilnehmer können für Modelltests eine verbesserte Version der Dynabench-Crowdsourcing-Schnittstelle oder AdaTest verwenden. Das Ergebnis ist, dass AdaTest eine bis zu 10-fache Verbesserung bietet.

Kann das NLP-Modell menschliche Sprache nicht lesen? Microsoft AdaTest macht die Fehlersuche fünfmal effizienter

Testen Sie Renderings von Testteilnehmern aus unterschiedlichen Sichtweisen.

Verwenden Sie eine Debugging-Schleife, um Fehler zu beheben.

Sobald genügend Fehler gefunden wurden, führen die Tester des Modells eine externe Debugging-Schleife durch (wie unten gezeigt) und beheben sie Fehler in der Testschleife gefunden und dann das Modell erneut testen. In diesem Prozess ist der „Retest“-Teil der Debug-Schleife (d. h. das erneute Ausführen der Testschleife) von entscheidender Bedeutung, da es sich bei den Tests, sobald sie zur Korrektur des Modells verwendet werden, nicht mehr um Testdaten, sondern um Trainingsdaten handelt. Der Prozess der Fehlerbehebung überkompensiert oft, indem er in den ersten paar Runden des Debugging-Zyklus Abkürzungen oder Fehler einführt, die nur mit einer Reihe von Tests entdeckt werden können, die an das neue „behobene“ Modell angepasst sind.

Testzyklusprozess an einem Open-Source-RoBERTa-Large-Emotionsmodell. Die Forscher begannen mit Tests zum Thema „/sensibel/Einwanderung“ in Abbildung 2, das vom RoBERTa-Modell fälschlicherweise als negativ gekennzeichnet wurde. Das Modell wird während dieser Tests feinabgestimmt (gemischt mit den ursprünglichen Trainingsdaten, um die Aufgabenleistung aufrechtzuerhalten), und das Ergebnis ist ein neues Modell, das nicht mehr ausfällt. Beim erneuten Durchlaufen der Testschleife wurde jedoch festgestellt, dass fast alle Einwanderungserklärungen nun als „neutral“ gekennzeichnet waren, obwohl sie aufgrund des Antrags und des Testszenarios wirklich negativ waren.

Eine erneute Feinabstimmung mithilfe dieser neuen Tests führt dazu, dass das Modell den ursprünglichen Fehler korrekt behebt, ohne die Abkürzung „Jede Einwanderungserklärung ist neutral“ hinzuzufügen. Dies garantiert natürlich nicht, dass im Modell keine weitere Verknüpfung vorhanden ist, aber nach der Erfahrung des Forschers ist nach mehreren Debugging-Zyklen die Anzahl unerwarteter Fehler, die bei der Behebung des ursprünglichen Fehlers auftreten, erheblich reduziert.

Tester müssen nicht jeden möglichen Fehler im Voraus im Detail identifizieren, AdaTest wird Fehler, die in der nächsten Test- und Debugging-Runde auftreten, adaptiv aufdecken und beheben.

Daher verschiebt die Debugging-Schleife die Grenzen der aktuellen Fehlertestspezifikation, bis ein zufriedenstellendes Modell erstellt wird. Tatsächlich kann AdaTest als Anwendung des Test-Fix-Retest-Zyklus in der Softwareentwicklung im NLP angesehen werden.

Kann das NLP-Modell menschliche Sprache nicht lesen? Microsoft AdaTest macht die Fehlersuche fünfmal effizienter

Während Iterationen der Debug-Schleife hinzugefügte Verknüpfungen wurden entdeckt und in zukünftigen Iterationen behoben. Um die Wirksamkeit der Debug-Schleife zu bewerten, wurde RoBERTa-Large mithilfe des Quora-Fragendatensatzes verfeinert, um zwei zu erkennen. Ob die Frage dupliziert ist oder Nein, es wird auch mithilfe des Stanford Sentiment Treebank (SST)-Datensatzes für eine positive/neutrale/negative Stimmungsanalyse verfeinert.

Die Ergebnisse ergaben, dass das Basismodell 22 der 53 QQP-Themen und 11 der 39 emotionalen Themen nicht erfolgreich identifizieren konnte. Anschließend erstellte der Forscher Daten, um das Thema zu reparieren. Extrahieren Sie 50 Beispiele aus den Daten zu diesem Thema und führen Sie eine Debugging-Schleife mit AdaTest aus. Für den QQP-Datensatz werden durchschnittlich 41,6 Tests und für den Sentiment-Datensatz durchschnittlich 55,8 Tests durchgeführt.

Die Ergebnisse zeigen, dass AdaTest in den allermeisten Fällen die für das Training verwendeten Fragen und einige unsichtbare reservierte Fragen behebt, ohne Fragen zu zerstören, während die ursprünglichen CheckList-Daten häufig neue Fehler einführen und dadurch andere Testfragen zerstören. Die Forscher bewerteten auch die Wirksamkeit von AdaTest in einer Standardentwicklungsumgebung. Nach drei Monaten Entwicklung, CheckList-Tests und Ad-hoc-Datenerweiterung auf Basis von GPT-3 beträgt der F1-Score 0,66 (von 1,00) für ungesehene, in freier Wildbahn gesammelte Daten.

Dasselbe Team, das AdaTest nutzte, erreichte, nachdem es die Debug-Schleife vier Stunden lang selbst ausgeführt hatte, einen F1-Score von 0,77 für denselben unsichtbaren Datensatz. Diese Ergebnisse wurden später in einem zweiten, noch nicht sichtbaren Datensatz repliziert und zeigten, dass AdaTest Fehlerkorrekturen durchführen und bessere Ergebnisse in Bereichen erzielen kann, in denen herkömmliche Methoden versagen.

Menschen stellen Problemspezifikationen bereit, die Sprachmodellen fehlen, während Sprachmodelle qualitativ hochwertige Tests in größerem Maßstab und Umfang bereitstellen, Modelltests und Debugging verbinden, Fehler effektiv beheben und die Modellentwicklung näher an die traditionelle Softwareentwicklung heranführen. Die iterative Natur von .

Die Zusammenarbeit zwischen Menschen und KI stellt eine zukünftige Richtung für die Entwicklung des maschinellen Lernens dar. Es besteht die Hoffnung, dass sich diese Zusammenarbeit weiter verbessert, da die Fähigkeiten großer Sprachmodelle weiter wachsen.

Das obige ist der detaillierte Inhalt vonKann das NLP-Modell menschliche Sprache nicht lesen? Microsoft AdaTest macht die Fehlersuche fünfmal effizienter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage