UiPath Documentation
ixp
latest
false
Communications Mining-Benutzerhandbuch
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Effiziente Transformer I: Warnmechanismen

Achtung-Mechanismen, die in IXP Communications Mining in Automation Cloud verwendet werden, um Transformer-basierte NLP-Modelle effizienter zu gestalten.

Geschäft läuft durch Kommunikation. Kunden melden sich, wenn sie etwas brauchen. Kollegen verbinden sich, um Arbeit zu erledigen. Unsere Aufgabe bei Communications Mining™ ist es, die Ökonom Dies tun wir, indem wir den Zugang zu modernen NLP und NLU demokratisieren.

Insbesondere verwenden die Modelle von Communications Mining Deep-Learning-Architekturen namens Transformers. Transformer ermöglichen enorme Verbesserungen der NLU-Leistung. Sie sind jedoch auch sehr rechenintensiv – sowohl beim Training der Modelle, um neue Konzepte zu lernen, als auch bei deren Verwendung, um Vorhersagen zu treffen. In dieser zweiteiligen Serie werden mehrere Techniken betrachtet, um die Geschwindigkeit zu erhöhen und die Rechenkosten für die Verwendung dieser großen Transformer-Architekturen zu reduzieren.

Dieser Beitrag wird:

  • Präsentieren Sie eine kurze Entwicklung der Einbettung von Modellen in NLP.
  • Beschreiben Sie, warum der Self-Attention-Mechanismus des Transformers einen hohen Rechenaufwand hat.
  • Überprüfen Sie Änderungen der klassischen Transformer-Architektur, die recheneffizienter zu trainieren und auszuführen sind, ohne die Leistung erheblich zu beeinträchtigen.

The next post will look at additional computational and approximation techniques that yield further efficiency gains. The next post will:

  • Erkunden Sie Deaktivierungstechniken, bei denen kleinere Modelle trainiert werden, um die Leistung größerer Modelle zu nähern.
  • Erklären Sie effiziente Feinabstimmungstechniken, bei denen Parameteraktualisierungen eingeschränkt sind.
  • Geben Sie unsere Empfehlungen für die Verwendung jeder dieser Methoden.

Hintergrund​​

Im letzten Kapitel wurden NLP-Methoden bei der Erfüllung einer Vielzahl von Aufgaben erheblich verbessert. Dies ist stark auf eine Verschiebung von handgesteuerten, auf Feature-Engineering basierenden Ansätzen hin zu auf Machine Learning basierenden Methoden zurückzuführen.

Die größten Leistungsverbesserungen sind auf Verbesserungen beim Lernen von nicht überwachten vortrainierten semantischen Darstellungen zurückzuführen. Dazu wird ein Modell trainiert, das Sequences in natürlicher Sprache zuordnet (z. B Wörter, Sätze) in Vektoren (Zahlensequenzen), die ihre semantische Bedeutung darstellen. Diese Vektoren können dann verwendet werden, um die gewünschte Aufgabe auszuführen, z. B Absichtserkennung, Stimmungsklassifizierung, Erkennung benannter allgemeiner Felder usw.

Worteinbettungen​​

Der Paradigmenwechsel begann in den 2010er Jahren mit Methoden zur Worteinbettung wie Word2vec und Global. Diese Techniken verwenden große Datasets in natürlicher Sprache, um Einbettungen (ein anderes Wort für Vektoren) von Wörtern auf unbeaufsichtigte Weise zu lernen.

Die Einbettungen codieren semantische Informationen basierend auf den Kontexten, in denen die Wörter häufig vorkommen. Beispielsweise kann das Wort „Computer“ häufig neben Wörtern wie „Tastatur“, „Software“ und „Internet“ vorkommen; Diese häufigen benachbarten Wörter verknüpfen die Informationen, die durch die Einbettung von „Computer“ codiert werden sollen.

Klassische Worteinbettungen haben einen wesentlichen Nachteil: Sie sind statisch, d. h. die Einbettung eines bestimmten Wortes ist immer gleich. Denken Sie zum Beispiel an das Wort „Bank“ – dies kann sich auf das Flussufer oder auf ein Finanzinstitut beziehen; die Einbettung müsste beide Bedeutungen codieren.

Kontextbezogene Einbettungen​​

Um diese Schwachstelle zu beheben, wurden Methoden für die kontextbezogene Einbettung entwickelt. Diese haben je nach Sequence eine unterschiedliche Einbettung für jedes Wort (z. B Satz, Dokument), in dem er vorkommt. Diese Arbeit hat alles verändert; Es ist jetzt äußerst selten, moderne Methoden zu finden, die nicht auf kontextbezogenen Einbettungen angewiesen sind.

Eine der ersten beliebten kontextbezogenen Einbettungstechniken war ELMo, bei der ein RNN-Modell auf einem großen Korpus in natürlicher Sprache mithilfe eines Nächstes Wort-Vorhersageziels vortrainiert wird. Die internen Darstellungen dieses Modells werden dann als Eingaben für (in der Regel kleine) Modelle zur Durchführung überwachter Aufgaben verwendet. Zu diesem Zeitpunkt wurde dieser Ansatz gegenüber dem vorherigen Stand der Technik in mehreren Aufgaben erheblich verbessert.

Wechsel von RNNs zu Transformers​

RNNs verarbeiten jedes Wort in einer Sequence nacheinander, daher können sie bei langen Dokumenten langsam sein. Infolgedessen sind Modelle wie BERT und RoBERTa, die die wiederkehrende Komponente von ELMo durch die parallelere Berechnung Transformer ersetzen, die bevorzugten Ansätze.

Diese Modelle werden in der Regel mit einem maskierten Sprachmodellierungsziel vortrainiert – eine Teilmenge von Wörtern in einer Sequence wird entfernt und das Modell hat die Aufgabe, die fehlenden Wörter vorherzusagen.

Moderne Transformer-basierte Sprachmodelle sind jedoch im Allgemeinen sehr umfangreich – sie können Milliarden von Parametern enthalten und sind sehr rechenintensiv in der Ausführung. Der typische Workflow sieht folgendermaßen aus:

  1. Trainieren Sie das Sprachmodell an einem generischen Dataset ohne Anmerkungen vor.
  2. Trainieren Sie das Sprachmodell außerdem auf einem domänenspezifischen Dataset ohne Anmerkungen.
  3. Optimieren Sie das Sprachmodell mithilfe von mit Anmerkungen versehenen Daten, um die überwachte Aufgabe von Interesse auszuführen.

Obwohl der erste dieser Schritte in der Regel einmalige Kosten verursacht, sind dies die beiden letzten nicht. Und während die Rechenleistung niedriger wird, werden die Transformer-Architekturen größer. Das bedeutet, dass die Kosten für hochmoderne Leistung nicht unbedingt sinken.

Daher wird in diesem Beitrag eine Reihe von Techniken vorgestellt, die den Rechenaufwand reduzieren und gleichzeitig die Auswirkungen auf die Leistung minimieren.

Der Self-Attended-Mechanismus​​

Hinweis:

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

The Transformer architecture begins with a learnable embedding layer. Each subsequent layer builds its internal representations using a ‘self-attention’ mechanism (i.e., the representation for each word looks at every other word in the sequence. Check Figure 1 for an example.). Each self-attention layer comprises multiple ‘heads’ (each head does its own self-attention).

Der Self-Attended-Mechanismus

Suppose there are N words in a sequence. Each self-attention head has D-dimensional query, key and value vectors for each word, which are computed using the output of the previous layer h(n-1):

Diese werden zu den NxD-Matrizen Q, K bzw. V verkettet. Die Aufmerksamkeitsmatrix wird berechnet als:

Die Ausgabe der Selbstaufmerkbarkeitsebene wird dann wie folgt berechnet:

Die endgültige Ausgabe für jede Ebene wird berechnet, indem die Self-Attended-Ausgaben für jeden Head verkettet und durch ein kleines Feedforward-Netzwerk geführt werden.

Although (unlike RNNs) the computation can be done in parallel, Figure 1 shows that there will be N² self-attention operations to perform for a sequence with N words. That is, the computational complexity scales quadratically with sentence length. When considering that modern Transformers use tens of layers, each with tens of heads consisting of thousands of dimensions, there are lots of operations to perform even for a single sequence.

Naturally, one line of research aims to reduce this N² complexity with simpler self-attention mechanisms; this is the biggest area of research into efficient Transformer architectures. Some popular approaches are reviewed in the sections that follow. For more comprehensive coverage, check this survey paper.

Achten Sie Block für Block​​

Eine Möglichkeit, die Anzahl der Vorgänge zu reduzieren, besteht darin, die Anzahl der Wörter in der Sequence zu beschränken, die der Selbstansichtsmechanismus berücksichtigt. BlockBERT segmentiert dazu die Sequenz in Teile. An einer bestimmten Kopfzeile sieht der Aufmerksamkeitsmechanismus innerhalb eines Chunks nur die Wörter innerhalb eines der Chunks (siehe Abbildung 2 für ein Beispiel). Jeder Aufmerksamkeitsheader auf jeder Ebene performiert die Teile, die der Aufmerksamkeitsmechanismus betrachtet.

Das bedeutet, dass sich die Einbettung für jedes Wort nach zehn Ebenen wahrscheinlich auf die gesamte Sequence auswirkt. Je nach Modellgröße ist BlockBERT im Vergleich zu RoBERTa 12 %–25 % schneller im Training, benötigt 19 %–36 % weniger Speicher und ist bei der Beantwortung von Fragen fast so gut (F1-Scores sind ca.0,8 Punkte niedriger unter SQuAD 2.0). ).

Der BlockBERT-Mechanismus zur Selbstaufbewahrung kümmert sich nur um Wörter innerhalb eines Blocks.

Kombinieren mehrerer Aufmerksamkeitsmuster​​

In ähnlicher Weise schränkt der Longformer auch ein, wie viele Wörter der Selbstattended-Mechanismus betrachtet. Dazu werden mehrere einfache Aufmerksamkeitsmuster kombiniert (ein Beispiel finden Sie in Abbildung 3).

  • Schiebefenster
    • Achten Sie nur auf die k benachbarten Wörter.
  • Erweitertes Schiebefenster
    • Pay attention to every l-th word, up to a predefined limit.
  • Globale Aufmerksamkeit
    • Achten Sie an einigen vorab ausgewählten Positionen auf die gesamte Sequence.
    • Achten Sie an jeder Position auf die vorab ausgewählten Positionen.

Bei dieser Kombination von Aufmerksamkeitsmustern hat die Einbettung für jedes Wort nach mehreren Ebenen wahrscheinlich die gesamte Sequence umfasst. Insbesondere bei langen Sequences ist der Longformer viel schneller und verbraucht weniger Speicher als RoBERTa. Überraschenderweise übertrifft der Longformer RoBERTa bei einer Vielzahl von Aufgaben – Beantworten von Fragen, Koreferenzauflösung und Stimmungsklassifizierung.

Der Longformer-Selbst-Aufmerkmal-Mechanismus kombiniert ein gleitendes Fenster, ein erweitertes Schiebefenster und globale Aufmerksamkeit an einigen vorab ausgewählten Positionen

BigBird ist ein weiterer beliebten Ansatz und ist dem Longformer sehr ähnlich, mit dem Unterschied, dass anstelle des erweiterten Schiebefensters ein zufälliges Aufmerksamkeitsmuster verwendet wird (d. h. jede Darstellung umfasst eine feste Anzahl zufälliger Wörter in der Sequence).

Es wird eine Annäherung mit niedriger Stufe verwendet​​

Ein anderer Ansatz als die bisher vorgestellten ist der Linformer-Ansatz, der auf dem mathematischen Ergebnis basiert, dass der Selbstaufbewahrungsvorgang einen niedrigen Rang hat. Der Linformer prognostiziert die Schlüssel- und Wertmatrizen (K und V) linear zusammen mit der Längendimension auf eine kürzere Sequence (feste Länge), auf die volle Aufmerksamkeit angewendet werden kann (ein Beispiel finden Sie in Abbildung 4).

Im Vergleich zur standardmäßigen Selbstattended ist der Linformer für kurze Sequences 1,3–3-mal schneller und für lange Sequences ist er 3–20-mal schneller. Bei einer Vielzahl von Textklassifizierungsaufgaben ist seine Leistung ähnlich wie (und bei bestimmten Aufgaben etwas besser als) RoBERTa.

Der Linux-Mechanismus zur Selbstaufmerkhaltung beinhaltet eine Herabprojektion der Länge auf eine kürzere Sequence (in diesem Fall Länge 4), auf die die volle Aufmerksamkeit angewendet werden kann

Zusammenfassung​​

In dieser zweiteiligen Serie wird untersucht, wie modernes NLP effizienter gestaltet werden kann, indem Modifikationen der gängigen, aber rechenintensiven Sprachmodellierungstechniken auf Transformer-Basis erkundet werden. Dieser Beitrag:

  • Präsentation einer kurzen Entwicklung im Bereich des Lernens der semantischen Darstellung in NLP, einschließlich traditioneller Worteinbettungen und kontextbezogener Einbettungsmodelle.
  • Es wurde der Self-Attention-Mechanismus erklärt, der das Herzstück der Transformer-Architektur ist, und warum er rechenintensiv in der Ausführung ist.
  • Erkundung alternativer Beobachtungsmechanismen, die rechnungsmäßig effizienter sind, ohne die Leistung zu beeinträchtigen.

Der nächste Beitrag behandelt:

  • Eine Übersicht über Methoden, die kleine Modelle trainieren, um die Ausgaben großer Modelle zu reproduzieren.
  • So werden Sprachmodelle auf Parameter-effiziente Weise optimiert.
  • Unsere Empfehlungen für Szenarien, in denen die verschiedenen effizienten Transformer-Ansätze zum Einsatz kommen sollten.

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