Der Kernmechanismus von Transformers
Das Attention-Mechanismus, die Encoder-Decoder-Architektur, Feedforward-Netzwerke und Residualverbindungen gründlich verstehen und die Funktionsweise von Transformern beherrschen.
Attention-Mechanismus: die Seele des Transformers
Der Attention-Mechanismus ist der Kern des Transformers. Er ermöglicht es dem Modell, sich auf verschiedene Teile der Eingabesequenz zu „konzentrieren“ und die Beziehungen zwischen ihnen zu verstehen.
Self-Attention: Selbstaufmerksamkeit
Self-Attention ermöglicht es jeder Position in einer Sequenz, direkt auf alle anderen Positionen zu achten:
Multi-Head Attention: Multi-Head-Attention
Mehrere Attention-Head arbeiten parallel und verstehen Informationen aus unterschiedlichen Blickwinkeln:
- • Parallelrechnen:mehrere Köpfe berechnen gleichzeitig und stören sich gegenseitig nicht
- • Unterschiedliche Perspektiven:Jeder Kopf konzentriert sich auf unterschiedliche Beziehungen (Syntax, Semantik, Position usw.)
- • Informationsfusion:Die Ausgaben mehrerer Köpfe werden zusammengeführt und anschließend einer linearen Transformation unterzogen
- • Ausdrucksfähigkeit: Der Multi-Head-Mechanismus erhöht die Ausdruckskraft des Modells erheblich
Positionale Kodierung
Der Attention-Mechanismus selbst enthält keine Positionsinformationen und muss über Positionscodierung eingebracht werden:
- • Sinus-Positionskodierung:mit sin/cos-Funktionen Positionscodierungen generieren
- • Lernbare Positionscodierung:Modelle wie BERT verwenden lernbare Einbettungen
- • Relative Positionskodierung: auf die relative Position statt auf die absolute Position achten
- • Einschränkungen:Feste Positionscodierung hat Schwierigkeiten mit extrem langen Sequenzen (z. B. 1M+ tokens)
Textmarker-Theorie: eine intuitive Art, Attention zu verstehen
Die Metapher, wichtige Stellen mit einem Textmarker zu markieren, hilft dabei, das Funktionsprinzip des Attention-Mechanismus zu verstehen.
Mit einer Analogie erklären
Stellen Sie sich vor, Sie lesen einen Artikel und markieren die wichtigen Stellen mit einem Textmarker:
Praktisches Beispiel
Encoder-Decoder-Architektur
Die ursprüngliche Transformer-Architektur umfasste einen Encoder und einen Decoder, aber in der Praxis sind verschiedene Varianten entstanden.
Encoder(Kodierer)
Die Eingabesequenz verstehen und eine Zwischenrepräsentation erzeugen:
- • Self-Attention: Die internen Beziehungen innerhalb der Eingabesequenz verstehen
- • Feed-Forward: Nichtlineare Transformation
- • Ausgabe: codierte Darstellung jeder Position
- • App:Verständnisaufgaben wie BERT, RoBERTa usw.
Decoder (Dekodierer)
Generiere die Zielsequenz basierend auf der Encoder-Ausgabe:
- • Masked Self-Attention: Es ist nur der generierte Teil sichtbar
- • Cross-Attention:Auf die Ausgabe des Encoders achten
- • Generieren: die Token der Zielsequenz einzeln generieren
- • App:Generierungsaufgaben wie GPT, T5
Varianten aus der Praxis
GPT(Decoder Only)
Architektur: nur Decoder, Cross-Attention-Schichten entfernen
Eigenschaften:autoregressive Generierung, Text von links nach rechts erzeugen
App: Textgenerierung, Konversation, Codegenerierung
BERT(Encoder Only)
Architektur: Nur Encoder, bidirektionales Verständnis
Eigenschaften: den gesamten Eingabesequenz gleichzeitig sehen, bidirektionaler Kontext
App: Textklassifikation, Frage-Antwort, Named Entity Recognition
T5(Encoder-Decoder)
Architektur: Vollständige Encoder-Decoder-Struktur
Eigenschaften: ein einheitliches Framework, bei dem alle NLP-Aufgaben in Text-zu-Text umgewandelt werden
App: Verschiedene Aufgaben wie Übersetzung, Zusammenfassung und Q&A
Feedforward-Netzwerke und Residualverbindungen
Feed-Forward Network, Residual Connection und Layer Normalization sind Schlüsselkomponenten für das stabile Training von Transformern.
Feed-Forward Network (FFN)
Das Feedforward-Netzwerk führt an jeder Position unabhängig nichtlineare Transformationen aus:
- • Struktur:Ein zweischichtiges vollständig verbundenes Netzwerk mit einer Aktivierungsfunktion dazwischen (üblicherweise ReLU oder GELU)
- • Rolle: die nichtlineare Ausdrucksfähigkeit des Modells stärken
- • Eigenschaften: Jede Position wird unabhängig verarbeitet und kann parallel berechnet werden
- • Parameter: FFN macht normalerweise den Großteil der Modellparameter aus (z. B. 66 % bei GPT-3)
Residual Connection (Residualverbindung)
Die Eingabe direkt zur Ausgabe addieren und so das Problem verschwindender Gradienten in tiefen Netzwerken lösen:
- • Formel:output = input + sublayer(input)
- • Rolle: bietet eine „Autobahn“ für die Gradientenweitergabe
- • Wirkung: ermöglicht es dem Modell, tiefere Netzwerke zu trainieren (z. B. hat GPT-3 96 Schichten)
- • Quelle: Aus dem Erfolg von ResNet lernen
Layer Normalization
Die Ausgabe jeder Schicht normalisieren, um den Trainingsprozess zu stabilisieren:
- • Ort: nach Attention und FFN, vor der Residualverbindung
- • Rolle: Stabile Verteilungen der Aktivierungswerte beschleunigen die Trainingskonvergenz
- • Wirkung:Erlaubt die Verwendung einer größeren Lernrate und macht das Training stabiler
- • Variante: Pre-LN (Normalisierung vor der Unterschicht) vs Post-LN (Normalisierung nach der Unterschicht)
Vollständige Struktur des Transformer Blocks
Mehrere Transformer-Blocks werden gestapelt, um ein tiefes Netzwerk zu bilden, und jeder Block enthält die obige Struktur
Lernergebnisse
Nach Abschluss dieses Kapitels werden Sie:
- 1Die mathematischen Grundlagen des Attention-Mechanismus (Query, Key, Value) und den Berechnungsprozess eingehend verstehen
- 2Verstehen, wie Multi-Head Attention Informationen aus mehreren Perspektiven interpretiert, und welche Rolle die Positionskodierung spielt
- 3Die architektonischen Unterschiede und Anwendungsfälle von GPT (Decoder only) und BERT (Encoder only) verstehen
- 4Verstehen, welche Rolle Feed-Forward Network, Residual Connection und Layer Normalization spielen