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 der Transformer
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 laufen parallel und verstehen Informationen aus verschiedenen Blickwinkeln:
- • Parallelrechnen: mehrere Köpfe berechnen gleichzeitig, ohne sich gegenseitig zu beeinflussen
- • Unterschiedliche Perspektiven: jeder Kopf konzentriert sich auf unterschiedliche Beziehungen (Syntax, Semantik, Position usw.)
- • Informationsfusion: verknüpft die Ausgaben mehrerer Köpfe und wendet dann eine lineare Transformation an
- • 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:
- • Sinusförmige Positionscodierung:mit sin/cos-Funktionen Positionscodierungen generieren
- • Lernbare Positionscodierung: Modelle wie BERT verwenden lernbare Embeddings
- • 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 umfasst einen Encoder und einen Decoder, doch in der Praxis sind zahlreiche 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-Schicht entfernt
Eigenschaften: autoregressive Generierung, Textgenerierung von links nach rechts
App: Textgenerierung, Konversation, Codegenerierung
BERT(Encoder Only)
Architektur: Nur Encoder, bidirektionales Verständnis
Eigenschaften: Die gesamte Eingabesequenz auf einmal sehen, mit bidirektionalem Kontext
App: Textklassifikation, Fragebeantwortung, Named-Entity-Erkennung
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 durch:
- • 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, was parallele Berechnungen ermöglicht
- • Parameter: FFN macht normalerweise den Großteil der Modellparameter aus (z. B. 66 % in 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:Eine „Autobahn“ für die Gradientenweitergabe bereitstellen
- • 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:
- • Position: nach Attention und FFN, vor der Residualverbindung
- • Rolle: Stabile Verteilungen der Aktivierungswerte beschleunigen die Trainingskonvergenz
- • Wirkung: ermöglicht die Verwendung einer höheren 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 erfasst, und welche Rolle die Positionscodierung 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