AT_Logo

Transformer-XL, XLNet, XLM und CTRL

von | 24. Juni 2021 | Tech Deep Dive

Im ersten Teil unserer Blog-Serie haben wir einige der ersten Transformer vorgestellt und einen Überblick darüber gegeben, was genau sie so leistungsstark macht. In diesem Teil stellen wir die nächste Welle von Transformator-basierten Architekturen wie Transformer-XL, XLNet, XLM und CTRL vor. Diese übertreffen ihre Vorgänger die in vielerlei Hinsicht und liefern eine noch bessere Leistung bei NLP-Aufgaben.

Transformer-XL1

Beginnen wir mit dem Transformer-XL. Er wurde 2019 von Forschern der Carnegie Mellon University und Google AI vorgestellt. Während sie loben, wie Transformer langfristige Abhängigkeiten erfassen können, kritisieren die Wissenschaftler, dass diese Modelle dies nur in einem begrenzten Kontext können. Für BERT und GPT gibt es eine Grenze von 512 bzw. 1024 Token.  

Genau mit diesem Problem beschäftigen sich die beiden Beiträge. Die erste Lösung besteht darin, einen Rekursionsmechanismus auf Segmentebene zu verwenden, der den Informationsfluss zwischen den Wörtern innerhalb eines Segments sicherstellt, wie in der animierten Abbildung unten gezeigt.

Allerdings würde die Anwendung des Ansatzes auf einen Standard-Transformer nicht ohne weiteres funktionieren. Denn diese verwenden Einbettungen mit fester Position, d. h. sie nutzen Ganzzahlen (0, 1, 2 usw.), um die Position jedes Worts zu repräsentieren.

Wenn man eine längere Sequenz in Segmente aufteilt, würde man sich wiederholende Positionseinbettungen erhalten (0, 1, 2, 3, 0, 1, 2, 3, etc.), die das Netzwerk verwirren würden. Stattdessen verwendet Transformer-XL Relative Positional Encoding. Es nutzt den relativen Abstand (z. B. 2 oder 3 Wörter) zwischen jedem Wortpaar, um ihre Beziehung im Gesamtkontext besser zu kodieren. 

Transformer-XL ermöglicht die Verarbeitung viel längerer Textsequenzen. BERT kann zum Beispiel nur mit 512 Token arbeiten, was mit einem Tweet vergleichbar ist. Mit Transformer-XL ist es theoretisch möglich, mit unendlich langen Dokumenten zu arbeiten.

Segment-level recurrence in Transfomer-XL
Segment-level recurrence in Transfomer-XL [Google AI Blog]

XLNet2

Die Forschergruppe, die Transformer-XL vorgestellt hat, hat auch eine Erweiterung dazu geschaffen, XLNet. Damit adressieren sie ein paar andere kritische Punkte von BERT. Der erste ist die “Unabhängigkeitsannahme“, die BERT bezüglich der versteckten Token macht, die es vorhersagen muss.

BERTs Ziel der verdeckten Sprachmodellierung verhindert, dass das Modell lernt, wie die vorhergesagten Wörter zueinander in Beziehung stehen. Zweitens gibt es “input noise“ wegen der Art und Weise, wie Token während des Trainings durch das Wort „[MASK]“ versteckt werden. Es kommt nie als Eingabe für das Modell vor, wenn es auf ein Zielproblem angewendet wird. 

Um die oben genannten Probleme zu lösen, führt XLNet die folgenden zwei Techniken ein. Erstens stellten die Forscher ein neues Sprachmodellierungsziel namens Permutation Language Modeling vor. Es handelt sich dabei um eine Erweiterung der standardmäßigen kausalen Sprachmodellierung (CLM).

PLM nimmt alle möglichen Faktorisierungsreihenfolgen (Permutationen) der Wörter innerhalb eines Satzes und trainiert das Modell auf die verschiedenen Sequenzen mit den gleichen Wörtern. Auf diese Weise kann es besser lernen, mit einem bidirektionalen Informationsfluss zwischen den Wörtern eines Satzes umzugehen.  

Die zweite Innovation ist eine Erweiterung der Architektur des Self-Attention Mechanismus des Transformers durch Hinzufügen eines zweiten Self-Attention Stroms. Der erste und ursprüngliche Stream, der sogenannte Content-Stream, konzentriert sich auf den Inhalt der Wörter. Der neue, der Query Stream, arbeitet stattdessen nur mit der Positionsinformation des vorhergesagten Tokens. Er weiß jedoch nicht, um welches Wort es sich handelt. 

XLNet führt Techniken ein, die ihm helfen, bei verschiedenen NLP-Aufgaben insgesamt besser abzuschneiden als GPT-2 oder BERT. Allerdings geschieht dies auf Kosten zusätzlicher Parameter und Rechenkosten.

Twa-Stream Attention for Target-Aware Representation
Two-Stream Attention for Target-Aware Representation © XLNet Paper

XLM3

Bislang wurden alle diskutierten Transformer-Architekturen im Kontext der englischen Sprache betrachtet. Ein Team von Forschern bei Facebook befasst sich mit sprachenübergreifenden Szenarien. Sie untersuchen die bereits gängigen Trainingsziele MLM und CLM in einer mehrsprachigen Umgebung.

Die Arbeit testet die beiden Trainingsziele in der maschinellen Übersetzung und der sprachübergreifenden Klassifikation, was ihren Erfolg demonstriert. Darüber hinaus zeigen sie, dass auf mehrsprachigen Daten vortrainierte Transformatoren auch Aufgaben in Sprachen mit geringen Ressourcen durchführen können.  

Schließlich stellen die Forscher als Teil von XLM ein neues Trainingsziel vor, Translation Language Modeling (TLM). Dies ist eine Erweiterung von MLM. Ein Satz und seine Übersetzung in einer anderen Sprache werden zu einer Sequenz verkettet. Dann werden Wörter zufällig maskiert, genau wie bei der maskierten Sprachmodellierung, und das Modell muss sie vorhersagen. Da Wörter aus beiden Sprachen maskiert sind, kann das Modell Repräsentationen der Wörter aus beiden Sprachen lernen. 

Der Hauptvorteil von XLM ist, dass das Modell in sprachenübergreifenden Kontexten eine bessere Leistung erbringen kann. BERT hat auch eine mehrsprachige Version. XLM kann jedoch genauere Ergebnisse in Szenarien liefern, in denen Sprachen gemischt sind.

Example of Translation Language Modeling with a sentence in English and French
Example of Translation Language Modeling with a sentence in English and French © XLM paper

CTRL4

Ein Forschungsteam bei Salesforce hat ein neues Sprachmodell veröffentlicht, das eine kontrollierte Generierung von Sprache ermöglicht. Ihre Arbeit stellt das Conditional Transformer Language Model (CTRL) vor, das spezielle Steuerungscodes verwendet, um den generierten Text nach verschiedenen Kriterien zu regulieren. 

Kausale Sprachgenerierungsmodelle wie GPT werden nur für eine bestimmte Aufgabe trainiert, was sie sehr für andere Aufgaben einschränkt. Normalerweise wird das Modell auf die anfängliche Textaufforderung konditioniert und generiert auf dieser Basis eine neue Sequenz.

CTRL geht dieses Problem an, indem es das Konzept der Kontrollcodes vorschlägt, die zusammen mit dem Prompt bereitgestellt werden. Die Forscher berichten, dass die Idee aus generativen Modellen stammt, die im Bereich der Computer Vision verwendet werden. 

Die meisten Kontrollcodes ermöglichen die Steuerung bestimmter Textmerkmale durch die Angabe einer Domäne. In dem Ausschnitt unten sehen wir zwei Beispiele, in denen zwei verschiedene Kontrollcodes, “Horror“ und „Rezensionen“, mit demselben Prompt, „Messer“, verwendet werden. Es werden zwei sehr unterschiedliche Sprachbeispiele erzeugt. Das erste klingt wie eine Horrorgeschichte. Das zweite fühlt sich eher wie eine Rezension an, die man in einem Online-Shop sehen könnte. 

CTRL glänzt mit seiner Fähigkeit, die Texterzeugung nur auf Basis eines Präfixes zu steuern. Dies ermöglicht das Training von nur einem Modell für die Lösung mehrerer Probleme. Im Gegensatz dazu muss man, wenn man GPT-2 als Beispiel nimmt, für jede zu lösende Aufgabe separate Instanzen des Netzes trainieren.

Generated examples using CTRL
Generated examples using CTRL © CTRL paper

Fazit

In diesem Teil der Serie haben wir einen Überblick über viele Ergänzungen gegeben, die an der Transformer-Architektur vorgenommen wurden, um ihre allgemeinen Fähigkeiten zu verbessern.  

Wir haben erklärt, wie man sie mit Transformer-XL für noch längere Sequenzen nutzen kann. XLNet demonstrierte, wie das Modell bidirektionale Repräsentationen mit den Permutations-Sprachmodellierungs-Taks lernen kann.

XLM zeigte, wie man Transformer in Szenarien (z. B. maschinelle Übersetzung, sprachübergreifende Klassifikation usw.) einsetzen kann, die mehrere Sprachen beinhalten. Durch CTRL schließlich wissen wir, wie man Transformer über Steuerungscodes in mehreren Einstellungen wiederverwenden kann, ohne sie neu trainieren zu müssen.  

Damit ist die Serie jedoch noch nicht zu Ende. Im nächsten Teil werden wir Optimierungen in Bezug auf den rechnerischen Fußabdruck von Transformern diskutieren.

<a href="https://www.alexanderthamm.com/de/blog/author/rosko/" target="_self">Rostislav Nedelchev</a>

Rostislav Nedelchev

Rostislav Nedelchev ist Data Engineer bei [at]. Über die Jahre hat Rostislav eine große Begeisterung für Daten und deren Verarbeitung entwickelt. Seit 2019 promoviert er gleichzeitig im Bereich NLP, wo er mit Dialog-Systemen und Chatbots in seiner Freizeit forscht.