XLNet ist ein Modell für künstliche Intelligenz für die Verarbeitung natürlicher Sprache, das am 19. Juni 2019 als autoregressive Transformer-Architektur eingeführt wurde. Es wurde als Verbesserung gegenüber BERT entwickelt und adressiert die Einschränkungen des maskierten Sprachmodellierens durch die Verwendung von Permutations-Sprachmodellierung, um bidirektionalen Kontext zu erfassen. Das Modell hat 340 Millionen Parameter und wurde auf einem Korpus von 33 Milliarden Wörtern trainiert, wobei es bei Aufgaben wie Sprachmodellierung, Fragenbeantwortung und natürlicher Sprachinferenz Spitzenergebnisse erzielte. Es wurde unter der Apache-2.0-Lizenz veröffentlicht und ist damit sowohl für Forschung als auch für kommerzielle Nutzung frei verfügbar.
XLNet gehört zur breiteren Familie der Large Language Models, bei denen es sich um neuronale Netzwerke handelt, die auf riesigen Textkorpora trainiert werden, um menschliche Sprache zu verstehen und zu erzeugen. Seine Entwicklung baute auf Fortschritten im Deep Learning und der Transformer-Architektur auf, die das Feld seit ihrer Einführung im Jahr 2017 revolutioniert hatte. Anders als frühere Modelle, die Text in einer festen Reihenfolge von links nach rechts oder rechts nach links verarbeiteten, führte XLNet ein neuartiges Trainingsziel ein, das alle möglichen Permutationen eines Satzes berücksichtigt und es dem Modell ermöglicht, gleichzeitig aus linkem und rechtem Kontext zu lernen.
Architektur
Die Kerninnovation von XLNet ist die Permutations-Sprachmodellierung. Bei der standardmäßigen autoregressiven Modellierung wird ein Satz wie „Mein Hund ist süß“ als Produkt bedingter Wahrscheinlichkeiten faktorisiert, wobei jedes Wort basierend auf allen vorherigen Wörtern vorhergesagt wird: Pr(Mein) × Pr(Hund|Mein) × Pr(ist|Mein, Hund) × Pr(süß|Mein, Hund, ist). Diese Links-nach-rechts-Reihenfolge schränkt die Fähigkeit des Modells ein, zukünftigen Kontext zu nutzen. XLNet permutiert jedoch die Reihenfolge der Wörter während des Trainings zufällig. Beispielsweise sagt das Modell bei einer Permutationsreihenfolge von 3-2-4-1 zuerst „ist“, dann „Hund“, dann „süß“ und schließlich „Mein“ voraus, wobei es jeweils auf die bereits in dieser Permutation erzeugten Wörter konditioniert. Durch das Training auf allen möglichen Permutationen lernt das Modell, bidirektionalen Kontext zu nutzen, ähnlich wie BERT, jedoch ohne die künstlichen [MASK]-Token, auf die BERT angewiesen ist.
Zwei-Stream-Self-Attention
Zur Implementierung der Permutations-Sprachmodellierung verwendet XLNet einen Zwei-Stream-Self-Attention-Mechanismus. Der erste Stream, der Inhalts-Stream genannt wird, kodiert den tatsächlichen Inhalt jedes Wortes unter Verwendung von standardmäßig kausal maskierter Self-Attention, ähnlich einem typischen Transformer-Decoder. Der zweite Stream, der Abfrage-Stream genannt wird, kodiert den Inhalt jedes Wortes im Kontext dessen, was in der Permutation bisher erzeugt wurde. Er verwendet einen maskierten Cross-Attention-Mechanismus, bei dem die Abfragen aus dem Abfrage-Stream stammen und die Schlüssel-Wert-Paare aus dem Inhalts-Stream. Diese Trennung ermöglicht es dem Modell, ein Wort vorherzusagen, ohne dessen eigenen Inhalt zu sehen, was für das Permutationsziel unerlässlich ist. Die beiden Streams werden während des Trainings kombiniert, und während der Inferenz wird nur der Inhalts-Stream verwendet.
Training und Leistung
XLNet wurde auf einem großen Korpus von 33 Milliarden Wörtern trainiert, der Texte aus Büchern, Webseiten und anderen Quellen umfasste. Der Trainingsprozess verwendete das Ziel der Permutations-Sprachmodellierung, wobei das Modell für jedes Trainingsbeispiel eine zufällige Permutationsreihenfolge auswählte. Mit seinen 340 Millionen Parametern war das Modell in seiner Größe mit BERT-large vergleichbar, aber sein Trainingsziel ermöglichte es ihm, bei mehreren Benchmarks bessere Leistungen zu erzielen. Beispielsweise übertraf XLNet beim GLUE-Benchmark, der das Verständnis natürlicher Sprache über mehrere Aufgaben hinweg testet, BERT bei den meisten Aufgaben, einschließlich Sentimentanalyse, Fragenbeantwortung und Textimplikation. Es erzielte auch Spitzenergebnisse beim SQuAD-Fragenbeantwortungsdatensatz und bei Perplexitätsaufgaben zur Sprachmodellierung.
Ein bemerkenswerter Vorteil von XLNet ist seine Fähigkeit, Abhängigkeiten über größere Entfernungen zu erfassen. Da es alle Permutationen berücksichtigt, kann das Modell Beziehungen zwischen Wörtern lernen, die im ursprünglichen Satz weit voneinander entfernt sind, selbst wenn sie in einer bestimmten Permutation benachbart sind. Dies ist besonders nützlich für Aufgaben, die ein Verständnis des globalen Kontexts erfordern, wie Dokumentklassifikation oder Koreferenzauflösung.
Vergleich mit BERT
BERT, eingeführt 2018, verwendete ein Ziel des maskierten Sprachmodellierens, bei dem ein Prozentsatz der Eingabe-Token durch [MASK] ersetzt wird und das Modell trainiert wird, die ursprünglichen Token vorherzusagen. Obwohl dieser Ansatz effektiv ist, hat er Einschränkungen: Die [MASK]-Token sind während des Feintunings oder der Inferenz nicht vorhanden, was eine Diskrepanz zwischen Training und Einsatz erzeugt. Darüber hinaus nimmt BERT an, dass maskierte Token unabhängig voneinander sind, was nicht immer zutrifft. XLNet adressiert diese Probleme durch die Verwendung der Permutations-Sprachmodellierung, die nicht auf [MASK]-Token angewiesen ist und es dem Modell ermöglicht, Abhängigkeiten zwischen allen Token zu erfassen. Dies macht XLNet konsistenter zwischen Training und Inferenz und ermöglicht es, gemeinsame Wahrscheinlichkeitsverteilungen genauer zu modellieren.
Der Permutationsansatz hat jedoch auch Rechenkosten. XLNet benötigt mehr Trainingszeit als BERT, da es für jedes Trainingsbeispiel mehrere Permutationen verarbeiten muss. Der Zwei-Stream-Self-Attention-Mechanismus erhöht auch die Komplexität der Architektur. Trotz dieser Kosten machten die Leistungsgewinne XLNet zum Zeitpunkt seiner Veröffentlichung zu einer beliebten Wahl für viele NLP-Anwendungen.
Auswirkungen und Vermächtnis
XLNet hatte einen bedeutenden Einfluss auf das Gebiet des maschinellen Lernens und der Verarbeitung natürlicher Sprache. Es zeigte, dass autoregressive Modelle die Leistung von maskierten Sprachmodellen erreichen oder übertreffen können, während sie ein prinzipientreueres Trainingsziel bieten. Sein Erfolg inspirierte weitere Forschung zu permutationsbasierten und permutationsäquivarianten Modellen. Viele nachfolgende Modelle wie ELECTRA und T5 bauten auf Ideen von XLNet auf, und das Konzept der Permutations-Sprachmodellierung beeinflusste das Design späterer großer Sprachmodelle. Obwohl XLNet durch leistungsfähigere Modelle wie GPT-3 und T5 abgelöst wurde, bleibt es ein wichtiger Meilenstein in der Entwicklung von generativer KI und Transformer-basierten Architekturen. Seine Open-Source-Veröffentlichung unter der Apache-2.0-Lizenz trug auch zur Demokratisierung der KI-Forschung bei, indem sie Forschern und Entwicklern weltweit ermöglichte, das Modell zu nutzen und zu modifizieren.
Referenzen
- Yang, Z., Dai, Z., Yang, Y., Carbonell, J., Salakhutdinov, R., & Le, Q. V. (2019). XLNet: Generalized Autoregressive Pretraining for Language Understanding. arXiv preprint arXiv:1906.08237.
- Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv preprint arXiv:1810.04805.