Transformer ist eine Deep-Learning-Modellarchitektur für die Verarbeitung natürlicher Sprache (NLP), die von Vaswani et al. 2017 vorgeschlagen wurde. Sie wird hauptsächlich für die Verarbeitung von Sequenz-zu-Sequenz-Aufgaben wie maschinelle Übersetzung, Texterstellung usw. verwendet.
Vereinfacht ausgedrückt, funktioniert das Transformer-Modell für die Texterstellung nach dem Prinzip der "Vorhersage des nächsten Wortes".
Anhand eines vom Benutzer eingegebenen Textes (Prompt) sagt das Modell voraus, was das nächste Wort mit hoher Wahrscheinlichkeit sein wird. Die Kerninnovation und Stärke der Transformers liegt in der Nutzung des Mechanismus der Selbstaufmerksamkeit, der es ihnen ermöglicht, ganze Sequenzen zu verarbeiten und weitreichende Abhängigkeiten effizienter zu erfassen als frühere Architekturen (RNNs).
Ebenfalls erwähnenswert: huggingface/transformers auf GitHub ist ein Repository der HuggingFace-Implementierung des Transformers, einschließlich der Transformer-Implementierung und einer großen Anzahl von vortrainierten Modellen.
Aktuelle LLMs basieren im Wesentlichen auf der Transformer-Architektur, mit verbesserten Optimierungstechniken und Trainingsmethoden.
Aufbau des Transformators
Jeder Text Generation Transformer besteht aus drei Hauptkomponenten:
Einbettungsebene (Einbettung) ::
- Der eingegebene Text wird in kleinere Einheiten, so genannte Token, aufgeteilt, die aus Wörtern oder Teilwörtern bestehen können.
- Diese lexikalischen Elemente werden in numerische Vektoren umgewandelt, die als Einbettungen bezeichnet werden.
- Diese Einbettungsvektoren erfassen die semantische Bedeutung der Wörter
Transformator-Block ::
Dies ist der Grundbaustein für das Modell zur Verarbeitung und Umwandlung der Eingabedaten. Jeder Block besteht aus:
- Mechanismus der Aufmerksamkeit ::
- Kernkomponenten des Transformatorblocks
- Ermöglicht die Kommunikation lexikalischer Elemente untereinander
- Erfassen von kontextuellen Informationen und Beziehungen zwischen Wörtern
- Mehrschichtige Perzeptron-Schicht (MLP) ::
- Ein Feed-Forward-Netzwerk, das jedes lexikalische Element unabhängig verarbeitet
- Das Ziel der Aufmerksamkeitsschicht ist die Weiterleitung von Informationen zwischen lexikalischen Elementen
- Das Ziel von MLP ist es, die Darstellung jedes lexikalischen Elements zu optimieren
Ausgabe-Wahrscheinlichkeiten ::
- Endgültige lineare und Softmax-Schichten
- Umwandlung von verarbeiteten Einbettungen in Wahrscheinlichkeiten
- Ermöglicht es dem Modell, das nächste lexikalische Element in der Sequenz vorherzusagen
Vorteile des Transformators:
- Parallelisierung Im Gegensatz zu RNNs müssen Transformers Daten nicht sequentiell verarbeiten, so dass sie GPUs besser für parallele Berechnungen nutzen und die Trainingsgeschwindigkeit erhöhen können.
- Fernabhängigkeit Der Selbstbeobachtungsmechanismus ermöglicht es dem Transformer, weitreichende Abhängigkeiten in Sequenzen effizient zu erfassen.
- Geschicklichkeit Transformer kann leicht auf größere Modelle (z.B. BERT, GPT, etc.) erweitert werden und erbringt gute Leistungen bei einer Vielzahl von NLP-Aufgaben.
Nachteile von Transformatoren:
- Hohe rechnerische Komplexität Die Berechnungskomplexität des Selbstbeobachtungsmechanismus ist O(n^2), was bei langen Eingabesequenzen mehr Rechenressourcen verbraucht.
- Hohe Nachfrage nach Daten Transformatoren benötigen in der Regel eine große Menge an Daten für das Training, um ihre Leistungsfähigkeit voll auszuschöpfen.
- Mangel an intrinsischer Sequenzinformation Da es keinen eingebauten Mechanismus zur Sequenzverarbeitung gibt (z. B. Zeitschritte in RNNs), sind zusätzliche Mechanismen (z. B. Positionskodierung) erforderlich, um Sequenzinformationen einzuführen.
Referenzen
Die erste dieser beiden Referenzen ist der Klassiker über Transformatoren, Attention Is All You Need, in dem der Transformator erstmals vorgeschlagen wurde.
Die zweite ist eine visuelle Erklärung des Transformators, damit Sie die innere Struktur des Transformators sehen können.