UiPath Documentation
ixp
latest
false
Wichtig :
Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Communications Mining-Benutzerhandbuch

Eingabeaufforderungsbasiertes Lernen mit Transformers

Die Machine-Learning-Modelle von Communications Mining™ verwenden eine Architektur namens Transformer, die in den letzten Jahren bei den meisten gängigen Aufgaben der Verarbeitung natürlicher Sprache (NLP) moderne Ergebnisse erzielt hat. Der richtige Ansatz besteht darin, ein vortrainiertes Transformer-Sprachmodell zu verwenden und es auf die gewünschte Aufgabe abzustimmen.

In letzter Zeit haben wir uns mit dem „Auffordern“ befasst – einer erfolgsversprechenden Gruppe von Methoden, die sich immer größerer Beliebtheit erholen. Dabei wird die Aufgabe direkt in natürlicher Sprache angegeben, damit das vortrainierte Sprachmodell interpretiert und abgeschlossen werden kann.

Eingabeaufforderungsbasierte Methoden haben erhebliche potenzielle Vorteile – sollten Sie sie also verwenden? Dieser Beitrag wird:

  • Veranschaulichen Sie den Unterschied zwischen traditioneller Feinabstimmung und Eingabeaufforderung.
  • Erklären Sie die Einzelheiten der Funktionsweise einiger gängiger aufforderungsbasierter Methoden.
  • Diskutieren Sie die Vor- und Nachteile von aufforderungsbasierten Methoden und geben Sie unsere Empfehlung ab, ob sie zu verwenden sind oder nicht.

Hintergrund​

In den letzten Jahren hat sich der Bereich NLP von der Verwendung vortrainierter statischer Worteinbettungen wie Word2vec und GloVe verlagert, hin zur Verwendung großer Transformer-basierter Sprachmodelle wie BERT und GPT-3.

Diese Sprachmodelle werden zunächst mithilfe von nicht annotierten Daten vortrainiert, mit dem Ziel, die semantische Bedeutung von Text-Sequences codieren zu können (z. B Sätze/Dokumente). Das Ziel des Vortrainings besteht darin, Darstellungen zu lernen, die im Allgemeinen für jede nachgelagerte Aufgabe nützlich sind.

Nach dem Vortraining wird das Sprachmodell in der Regel für eine nachgelagerte Aufgabe fein eingestellt (d. h. die vortrainierten Parameter werden weiter trainiert), z. B Absichtserkennung, Stimmungsklassifizierung, benannte allgemeine Felderkennung usw. Der Feinabstimmungsprozess erfordert mit Anmerkungen versehene Trainingsdaten, und das Modell wird für jede Aufgabe separat fein eingestellt.

Vortraining​

Hinweis:

Obwohl Transformer mit Unterwörtern arbeiten, bezieht sich dieser Beitrag durchgängig auf Wörter, um das Verständnis zu erleichtern.

Transformer funktionieren, indem zunächst jedes Wort in einer Text-Sequence als Zahlenvektor codiert wird, was als „Einbettung“ bezeichnet wird. Auf die Einbettungsebene folgt dann eine Sequence von Warnungsebenen, die zum Erstellen der internen Darstellungen der Sequence durch das Modell verwendet werden. Schließlich gibt es noch die Vorhersageebene, deren Zielfunktion von der Art des verwendeten Vortrainings abhängt.

Transformer werden auf unbeaufsichtigte Weise vortrainiert. Dieser Schritt wird meistens mit einer von zwei Trainingsarten durchgeführt:

  • Maskierte Sprachmodellierung (ein Beispiel ist in Abbildung 1 dargestellt)
    • Einige zufällig ausgewählte Wörter werden aus der Sequence entfernt und das Modell wird trainiert, um diese fehlenden Wörter vorherzusagen.
  • Vorhersage des nächsten Wortes (ein Beispiel ist in Abbildung 2 dargestellt)
    • Das Modell muss jedes Wort in der Sequence vorhersagen, abhängig von den vorangegangenen.

Das Verfahren vor dem Training für die maskierte Sprachmodellierung.

Das Verfahren zur Vorhersage der nächsten Wortvorhersage vor dem Training.

Feinabstimmung​

Nachdem das Modell vortrainiert wurde, wird es für eine nachgelagerte, überwachte Aufgabe verfeinert (z. B Absichtserkennung). Dazu wird in der Regel die Darstellung im letzten Schritt einer Sequence (oder der Mittelwert der Darstellungen) durch ein kleines Feedforward-Netzwerk übergeben, um eine Vorhersage zu treffen (ein Beispiel finden Sie in Abbildung 3).

In den meisten Fällen werden die Parameter sowohl des vortrainierten Sprachmodells als auch des Feedfeed-Modells während der Feinabstimmung aktualisiert.

Durchführen einer Absichtserkennung durch Feinabstimmung eines vortrainierten Sprachmodells.

Eingabeaufforderungsbasiertes Lernen​

Angenommen, wir haben ein vortrainiertes Sprachmodell, mit dem wir eine Downstream-Aufgabe ausführen möchten. Anstatt die Darstellungen aus dem Sprachmodell als Eingaben für ein anderes Modell zur Lösung der Aufgabe zu verwenden, wie zuvor beschrieben, könnten wir seine Fähigkeit zur Modellierung natürlicher Sprache direkt nutzen, indem wir ihm einen „Prompt“ zuweisen und ihn dazu bringen, die Leerzeichen zu füllen vervollständigen Sie die Sequence (ein Beispiel ist in Abbildung 4 dargestellt).

Verwenden einer Eingabeaufforderung in natürlicher Sprache, um eine Aufgabe direkt mit dem vortrainierten Sprachmodell zu lösen.

Es ist auch möglich, im Prompt Beispiele anzugeben, um dem Modell zu zeigen, wie die Aufgabe abgeschlossen werden sollte (ein Beispiel finden Sie in Abbildung 5). Dies wird als K -Shot-Learning bezeichnet, wobei sich K auf die Anzahl der bereitgestellten Beispiele bezieht. Das bedeutet, dass Abbildung 4 ein Beispiel für Zero-Shot-Learning ist.

Angeben von Beispielen für die abgeschlossene Aufgabe in der Eingabeaufforderung.

Bei der Verwendung von Eingabeaufforderungen kann das Modell dennoch feinabgestimmt werden, aber dies ist oft nicht erforderlich, wie in den folgenden Abschnitten erläutert.

Im weiteren Verlauf dieses Abschnitts werden einige bekannte, auf Eingabeaufforderungen basierende Methoden beschrieben; In diesem Umfragedokument finden Sie eine umfassendere Abdeckung.

GPT-3​

GPT-3 ist ein großes, Transformer-basiertes Sprachmodell, das mit dem Vorhersageziel für das nächste Wort auf einer gefilterten Version des Common Crowd-Datasets trainiert wird. GPT-3 ist nicht nur bekannt für die Generierung von Text-Sequences von ungewöhnlich hoher Qualität, sondern wird auch verwendet, um überwachte Aufgaben in den Einstellungen Zero-Shot, One-Shot und Few-Shot (10K100) ohne Feinabstimmung auszuführen.

Die Autoren trainieren Modelle unterschiedlicher Größe, wobei das größte 175 Millionen Parameter hat.

Insgesamt erzielt GPT-3 gute Ergebnisse in den Einstellungen Null- und One-Shot. Bei der Einstellung von wenigen Treffern bietet sie manchmal eine bessere Leistung als moderne Modelle, obwohl sie möglicherweise bei großen, mit Anmerkungen versehenen Datasets fein eingestellt werden. Bei den meisten Aufgaben verbessert sich die Leistung von GPT-3 sowohl mit der Modellgröße als auch mit der Anzahl der in der Eingabeaufforderung angezeigten Beispiele.

Allerdings hat er auch Probleme mit bestimmten Aufgaben, insbesondere solchen, die den Vergleich mehrerer Text-Sequences erfordern. Dazu gehören:

  • Inferenz natürlicher Sprache
    • Das Modell erhält zwei Sätze und muss entscheiden, ob der zweite den ersten beinhaltet, ihm widerspricht oder neutral ist.
  • Leseverständnis
    • Das Modell erhält einen Absatz und muss Fragen dazu beantworten.

Die Autoren nehmen an, dass dies daran liegt, dass GPT-3 für die Vorhersage des nächsten Worts trainiert wird, d. h. auf eine Weise, die von links nach rechts (statt bidirektional) läuft.

Training zur Musternutzung​

Für eine bestimmte Aufgabe definiert Pattern-Exploring-Training (PET) eine Reihe von Eingabeaufforderungen mit jeweils genau einem Maskierungstoken, die an ein Sprachmodell geliefert werden, das mit dem Ziel der maskierten Sprachmodellierung vortrainiert wurde. Der HAA-Prozess funktioniert folgendermaßen:

  1. Optimieren Sie für jede Eingabeaufforderung ein separates Sprachmodell, um ein Set von Modellen für die Aufgabe zu erstellen.
  2. Verwenden Sie dieses Set von fein abgestimmten Modellen, um „soft“ Beschriftungen für einen Satz von Datenpunkten ohne Anmerkungen zu generieren, ähnlich wie bei der Wissensdeklaration.
  3. Verwenden Sie diese Software-Beschriftungen, um ein endgültiges Sprachmodell auf die im zuvor erwähnten Abschnitt über Feinabstimmung definierte Weise zu optimieren, d. h. ohne Eingabeaufforderungen.

HAA wurde auch auf die Verwendung von mehreren Maskierungstoken erweitert und funktioniert auch dann gut, wenn die vorherigen Schritte 2 und 3 übersprungen werden, d. h. das{ Die Autoren verwenden ALBERT als maskiertes Sprachmodell und werten HAA in der 32-Shot-Einstellung aus. Bei den meisten Aufgaben im SuperGLue-Benchwert überschreitet er GPT-3, während er nur 0,1 % so viele Parameter hat.

Eingabeaufforderungsabstimmung​

Im Gegensatz zu den Methoden, die wir uns bisher angesehen haben, werden beim Prompt-Tuning die Prompts, die in das Modell eingespeist werden, nicht manuell entworfen. Stattdessen werden zusätzliche lernbare Einbettungen verwendet, die der Sequence auf der Einbettungsebene direkt angehängt werden. Effektiv wird der Schritt des Schreibens der Prompts in natürlicher Sprache übersprungen und das Modell kann stattdessen den optimalen Prompt direkt auf der Einbettungsebene lernen.

Der Prompt-Tuning-Ansatz (in Abbildung 6 dargestellt) basiert auf dem vortrainierten T5- Sprachmodell. Dieser ähnelt dem ursprünglichen Transformer, der für die Übersetzung entwickelt wurde. Das T5-Modell besteht aus zwei Komponenten:

  • Der Encoder ordnet die Eingabe-Sequence mithilfe eines Selbstaufmerkmals-Mechanismus denaus, wobei die lernbaren Eingabeaufforderungseinbettungen auf der ersten Ebene eingefügt werden.
  • Der Decoder generiert den Text, um das Beispiel basierend auf den Encoderdarstellungen zu klassifizieren, wobei erneut ein Attended-Mechanismus verwendet wird.

Klassifizieren, ob ein Satz sprachlich korrekt ist durch Eingabeaufforderungs-Tuning.

Das Modell wird auf einem vollständigen Dataset mit Anmerkungen für jede Aufgabe fein abgestimmt, aber nur die Eingabeaufforderungseinbettungen werden aktualisiert (der Rest des Modells, das den Großteil der Parameter enthält, wird nach dem Vortraining eingefroren). Die Eingabeaufforderungs-Abstimmung ist besser als GPT-3 mit wenigen Bildern. Das umfangreichste und Eingabeaufforderung-abgestimmte Modell entspricht der Leistung der vollständigen Feinabstimmung.

Sollten Sie auf Eingabeaufforderungen basierende Methoden verwenden?​

Vorteile von Eingabeaufforderungsbasiertem Lernen

Praktische Perspektive

Aus praktischer Sicht besteht der größte Vorteil von aufforderungsbasierten Methoden darin, dass sie im Allgemeinen gut mit sehr kleinen Mengen an mit Anmerkungen versehenen Daten funktionieren. Mit GPT-3 ist es beispielsweise möglich, bei bestimmten Aufgaben mit nur einem Beispiel mit Anmerkungen eine moderne Leistung zu erreichen.

Obwohl es unpraktisch sein kann, ein Modell mit der Größe von GPT-3 in vielen Einstellungen auszuführen, ist es möglich, GPT-3 in der Einstellung für Few-Shot mit einem viel kleineren Modell mithilfe der PU-Methode zu übertreffen.

Modellierungsansicht

Aus Modellierungssicht kann Argumentiert werden, dass die Verwendung von Aufforderungen eine natürlichere Möglichkeit ist, vortrainierte Sprachmodelle für nachgelagerte Aufgaben zu nutzen, im Vergleich zur herkömmlichen Feinabstimmung. Dies liegt daran, dass wir bei der Verwendung von Aufforderungen das Sprachmodell verwenden, um den Text zu generieren, der eine Aufgabe löst; Darauf wurde auch im Vortrainingsverfahren trainiert.

Im Gegensatz dazu kann die herkömmliche Feinabstimmung ( Abbildung 3) als weniger intuitive Methode zur Verwendung von Sprachmodellen für nachgelagerte Aufgaben betrachtet werden, da dabei ein separates Modell mit einer völlig anderen Zielfunktion als bei der Vortrainingsprozedur verwendet wird.

Vorteile von Eingabeaufforderungsbasiertem Lernen​

Prompt-basiertes Lernen kann bestimmte Nachteile haben, z. B.:

  • Halluzination
  • Handgefertigte Prompts
  • Begrenzte Eingabeaufforderungslänge
Halluzination

Prompt-basierte Methoden sind zwar vielversprechend, da sie bei der Aufgabenausführung mit sehr wenigen Beispielen mit Anmerkungen gut funktionieren, haben aber auch bestimmte Nachteile. Einerseits sind Sprachmodelle anfällig für „Halluzinationen“, d. h. sie können Text generieren, der unsin; verzerrt oder beleidigend ist. Dadurch können solche Modelle in jeder realen Umgebung unbrauchbar werden.

Es ist möglich, den von Sprachmodellen generierten Text einzuschränken , aber je nach Aufgabe ist es eventuell nicht immer möglich, einen geeigneten Satz von Einschränkungen anzugeben und gleichzeitig die Leistung zu erhalten.

Handgefertigte Prompts

Ein weiterer Nachteil bei vielen dieser Methoden ist, dass die Prompts selbst von Hand entworfen werden. Dies ist wahrscheinlich nicht nur in Bezug auf die Leistung suboptimal, sondern die Auswahl des optimalen Prompts selbst erfordert Validierungsdaten mit Anmerkungen.

PU umgeht dieses Problem, indem ein Set von Prompts verwendet wird, aber das erfordert dann die Feinabstimmung eines separaten Sprachmodells für jeden Prompt. „Soft“-Promptmethoden (wie Prompt-Optimierung) erfordern keine von Hand entworfenen Prompts, sondern größere Trainingsdatensätze.

Begrenzte Eingabeaufforderungslänge

Methoden wie das zuvor beschriebene GPT-3 und das aktuelle PaLM- Modell fügen die Beispiele mit Anmerkungen als Teil des Prompts in natürlicher Sprache ein und nehmen keine Feinabstimmung am Sprachmodell selbst vor. Obwohl dies mit der Few-Shot-Lernfunktion sehr gut funktioniert, kann dies suboptimal sein, wenn ein größerer Satz von Beispielen mit Anmerkungen verfügbar ist.

Dies liegt daran, dass nur eine kleine Anzahl von Beispielen in den Prompt eingefügt werden kann, bevor die maximale Sequence-Länge erreicht ist; Dadurch wird das Modell darauf beschränkt, nur Few-Shot-Lernen durchzuführen.

Zusammenfassung​

In diesem Beitrag haben wir uns mit Eingabeaufforderungen befasst, die auf Eingabeaufforderungen basieren. Dabei wird die Aufgabe direkt in natürlicher Sprache angegeben, damit ein vortrainiertes Sprachmodell interpretiert und abgeschlossen werden kann.

Aufforderungen zeigen viel Potenzial für das Erreichen einer starker Leistung mit sehr wenigen beschrifteten Trainingsbeispielen. Diese Techniken basieren jedoch oft auf von Hand gestalteten Eingabeaufforderungen und können anfällig für Falschmeldungen sein, wodurch sie in der Praxis unsicher werden. Obwohl diese Methoden erfolgsversprechend zu sein scheinen, muss noch eine Menge Forschungsarbeit durchgeführt werden, um sie in die Praxis umsetzbar zu machen.

Bei Communications Mining™ forschen wir aktiv daran, Prompt-Methoden sicher zu machen, präzise Schätzungen der Genauigkeit bereitzustellen und strukturierte, verwertbare Daten zu generieren. Die Ergebnisse dieser Forschungsarbeit folgen in Kürze.

Wenn Sie Communications Mining in Ihrem Unternehmen ausprobieren möchten, registrieren Sie sich für eine Testversion oder sehen Sie sich eine Demo an .

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben