Transformer-Modell
Was ist ein Transformer-Modell?

Ein Transformer-Modell ist eine Art neuronale Netzwerkarchitektur, die für die Verarbeitung sequentieller Daten wie Text entwickelt wurde, aber auch auf andere Datentypen angewendet werden kann. Im Gegensatz zu früheren Modellen wie RNNs können Transformer ganze Sequenzen gleichzeitig verarbeiten, was sie schneller und effizienter macht. Im Bereich der generativen KI haben Transformer Aufgaben wie die Texterstellung, Übersetzung und Zusammenfassung revolutioniert.

Bild eines lächelnden Mannes mit Brille als IT-Programmierer, der am Arbeitsplatz im Büro Computer verwendet.
  • Transformer vs. RNNs
  • Wie funktionieren Transformer-Modelle?
  • Wie funktionieren Transformer-Modelle? – Teil 2
  • Zusammenarbeit mit HPE
Transformer vs. RNNs

Was ist der Unterschied zwischen Transformern und RNNs?

Die Hauptunterschiede zwischen Transformern und Recurrent Neural Networks (RNNs) liegen in ihrer Architektur, ihren Mechanismen zur Datenverarbeitung und ihrer Effektivität beim Umgang mit weitreichenden Abhängigkeiten in sequenziellen Daten.

1. Sequentielle Verarbeitung vs. Parallele Verarbeitung

RNNs: Verarbeiten Eingabesequenzen Element für Element und nutzen die Ausgabe des vorherigen Schritts als Information für den nächsten. Dadurch sind RNNs von Natur aus sequentiell, was bedeutet, dass sie Berechnungen nicht einfach parallelisieren können.

Transformer: Verwenden einen sogenannten „Self-Attention“-Mechanismus, der es ihnen ermöglicht, die gesamte Sequenz auf einmal zu betrachten. Dadurch können Transformer verschiedene Teile der Sequenz parallel verarbeiten, was insbesondere bei langen Sequenzen zu deutlich schnelleren Trainingszeiten führt.

2. Umgang mit weitreichenden Abhängigkeiten

RNNs: Haben aufgrund des Problems des verschwindenden/explodierenden Gradienten Probleme mit weitreichenden Abhängigkeiten. Informationen aus früheren Phasen der Sequenz können im Laufe der Zeit verblassen, sodass es für RNNs schwierig wird, wichtige Kontextinformationen über lange Sequenzen hinweg beizubehalten.

Transformer: Verwenden Self-Attention, um die Beziehungen zwischen allen Wörtern in der Sequenz gleichzeitig zu berechnen. Dadurch können sie Abhängigkeiten über große Entfernungen effektiver modellieren. Der Attention-Mechanismus verbindet weit entfernte Wörter direkt, ohne dass eine schrittweise Verarbeitung erforderlich ist.

3. Architektur

RNNs: Die Architektur ist rekurrierend, d. h. das Netzwerk hat Schleifen, die einen „versteckten Zustand“ aufrechterhalten, der Informationen aus früheren Zeitschritten enthält. Varianten wie LSTMs (Long Short-Term Memory) und GRUs (Gated Recurrent Units) wurden entwickelt, um Probleme mit herkömmlichen RNNs zu mildern, aber die sequentielle Natur bleibt erhalten.

Transformer: Bestehen aus Schichten von Multi-Head-Self-Attention- und Feedforward-Neuralnetzwerken ohne jegliche wiederkehrende Struktur. Es gibt kein Konzept für die Weitergabe eines verborgenen Zustands von einem Zeitschritt zum nächsten, da der Self-Attention-Mechanismus direkte Verbindungen zwischen zwei beliebigen Positionen in der Sequenz zulässt.

4. Trainingseffizienz

RNNs: Da RNNs Daten sequenziell verarbeiten, sind sie im Allgemeinen langsamer zu trainieren. Die Parallelisierung ist schwierig, da jeder Zeitschritt vom vorherigen abhängt.

Transformer: Aufgrund ihrer parallelen Verarbeitungsfunktionen können Transformer effizienter trainiert werden, insbesondere auf moderner Hardware wie GPUs und TPUs. Sie können große Datensätze und lange Sequenzen mit höherer Rechenleistung verarbeiten.

5. Arbeitsspeicher und Rechenkomplexität

RNNs: Haben einen geringeren Speicherbedarf, da sie nur jeweils einen Zeitschritt verarbeiten. Aufgrund ihrer sequentiellen Natur ist ihre Fähigkeit zur effizienten Verarbeitung sehr langer Sequenzen jedoch begrenzt.

Transformer: Benötigen deutlich mehr Arbeitsspeicher, insbesondere während des Trainings, da sie Aufmerksamkeitsgewichte zwischen allen Token-Paaren speichern. Ihre Rechenkomplexität wächst aufgrund des Attention-Mechanismus quadratisch mit der Sequenzlänge.

6. Anwendungsfälle

RNNs: Wurden traditionell für Aufgaben wie Spracherkennung, Sprachmodellierung und Zeitreihenprognosen verwendet. LSTMs und GRUs wurden häufig für Aufgaben eingesetzt, die das Speichern langer Sequenzen erforderten.

Transformer: Vorherrschend bei Aufgaben wie Natural Language Processing (NLP), maschineller Übersetzung, Textgenerierung und vielen anderen. Modelle wie BERT, GPT und T5 basieren alle auf der Transformer-Architektur, die für eine breite Palette von NLP-Aufgaben neue Leistungsmaßstäbe gesetzt hat.

Wie funktionieren Transformer-Modelle?
So funktionieren Transformer-Modelle (Schema).
So funktionieren Transformer-Modelle (Schema).
BILD ZUM ZOOMEN ANKLICKEN

Wie funktionieren Transformator-Modelle?

Transformer funktionieren, indem sie eine Kombination aus Self-Attention-Mechanismen, Positionskodierung und Feedforward-Netzwerken nutzen. Die Architektur ermöglicht ihnen, sequentielle Daten effizient zu verarbeiten und langfristige Abhängigkeiten zwischen verschiedenen Teilen der Eingabe zu erfassen. Nachfolgend finden Sie eine detaillierte Aufschlüsselung der Funktionsweise von Transformern:

1. Eingabeeinbettung und Positionskodierung

Eingabeeinbettungen: In Transformern wird die Eingabe (z. B. eine Wortfolge in einem Satz) zunächst in Einbettungen umgewandelt, bei denen es sich um dichte Vektoren mit fester Größe handelt. Diese Einbettungen stellen die semantische Bedeutung der Token (Wörter oder Teilwörter) dar.

Positionskodierung: Da die Transformer-Architektur (im Gegensatz zu RNNs) keinen integrierten Mechanismus zum Erfassen der Reihenfolge der Sequenz besitzt, werden den Eingabeeinbettungen Positionskodierungen hinzugefügt. Diese Kodierungen fügen Informationen über die Position jedes Tokens in der Sequenz ein. Dabei handelt es sich häufig um Sinusfunktionen oder erlernte Einbettungen, die über die Positionen hinweg variieren.

Dadurch kann das Modell die relativen und absoluten Positionen von Token verstehen.

2. Self-Attention-Mechanismus

Der Self-Attention-Mechanismus ist die Kernkomponente von Transformern. Dadurch kann das Modell die Wichtigkeit jedes Tokens im Verhältnis zu jedem anderen Token in der Eingabesequenz abwägen. Für jedes Token bestimmt die Self-Attention, auf welche anderen Token es achten sollte.

Wie funktionieren Transformer-Modelle? – Teil 2
So funktionieren Transformer-Modelle (2. Schema).
So funktionieren Transformer-Modelle (2. Schema).
BILD ZUM ZOOMEN ANKLICKEN

Wie funktionieren Transformer-Modelle?

So funktioniert Self-Attention:

1. Eingabetransformation: Für jedes Token in der Eingabesequenz berechnet das Modell drei Vektoren: Abfrage (A), Schlüssel (S) und Wert (W), die alle aus den Token-Einbettungen abgeleitet werden. Diese Vektoren werden durch lineare Transformationen gelernt.

  • Abfrage (A): Bestimmt, wie viel Fokus auf andere Token gelegt werden soll.
  • Schlüssel (S): Stellt den Inhalt der anderen Token dar, auf die der Fokus gerichtet werden soll.
  • Wert (W): Enthält die Informationen, die extrahiert oder durch den Aufmerksamkeitsmechanismus weitergeleitet werden sollen.

2. Aufmerksamkeitswerte: Die Aufmerksamkeitswerte zwischen Token werden als Skalarprodukt zwischen der Abfrage eines Tokens und dem Schlüssel eines anderen berechnet. Damit wird gemessen, wie relevant oder „aufmerksam“ ein Token für ein anderes sein sollte.

Um die Gradienten zu stabilisieren, werden die Werte mit der Quadratwurzel der Dimension des Schlüsselvektors dkd_kdk skaliert.

3. Gewichtete Summe: Die Aufmerksamkeitswerte werden durch eine Softmax-Funktion geleitet, wodurch sie in Wahrscheinlichkeiten umgewandelt werden, deren Summe 1 ergibt. Diese Punktzahlen werden zum Gewichten der Wertevektoren verwendet, wodurch eine gewichtete Summe entsteht, die die Wichtigkeit jedes Tokens im Verhältnis zu den anderen widerspiegelt.

Multi-Head-Attention:

Anstatt einen einzelnen Self-Attention-Mechanismus zu verwenden, nutzt der Transformer die Multi-Head-Attention. Es werden mehrere Sätze von Abfrage-, Schlüssel- und Wertevektoren erstellt (jeder Satz ist ein Aufmerksamkeitsvektor bzw. „Head“), und jeder Vektor kümmert sich um unterschiedliche Aspekte der Eingabe. Die Ergebnisse aller Aufmerksamkeitsvektoren werden verkettet und durch eine lineare Schicht geleitet.

Dadurch kann das Modell verschiedene Arten von Beziehungen zwischen Token gleichzeitig erfassen.

3. Feedforward-Neuralnetzwerke

Nach dem Self-Attention-Mechanismus wird jede Token-Darstellung durch ein Feedforward-Neuralnetzwerk (FFN) geleitet. Dies ist normalerweise ein zweischichtiges neuronales Netzwerk mit einer ReLU-Aktivierungsfunktion. Das FFN wird unabhängig auf jede Position angewendet und für alle Positionen wird der gleiche Satz an Gewichten verwendet.

Arduino

Code kopieren

\[

\text{FFN}(x) = \text{ReLU}(xW_1 + b_1)W_2 + b_2

\]

Das FFN ermöglicht eine weitere Transformation der Token-Darstellungen und führt Nichtlinearität ein, wodurch die Ausdruckskraft des Modells verbessert wird.

4. Restverbindungen und Schichtnormalisierung

Um das Training zu stabilisieren und den Gradientenfluss zu unterstützen, werden Restverbindungen (auch Skip-Verbindungen genannt) sowohl um die Self-Attention- als auch die Feedforward-Schicht herum verwendet. Das bedeutet, dass die Eingabe jeder Unterschicht zur Ausgabe dieser Unterschicht hinzugefügt wird, bevor sie an die nächste weitergegeben wird.

Auf jede Restverbindung folgt eine Schichtnormalisierung, die die Ausgabe normalisiert, um die interne Kovariatenverschiebung zu verringern und die Trainingsstabilität zu verbessern.

5. Encoder- und Decoderarchitektur

Die ursprüngliche Transformer-Architektur besteht aus zwei Hauptkomponenten: Encoder und Decoder. Einige Modelle, wie BERT, verwenden jedoch nur den Encoder, während andere, wie GPT, nur den Decoder verwenden.

Encoder:

Der Encoder besteht aus mehreren identischen Schichten (normalerweise 6–12). Jede Schicht besteht aus zwei Hauptkomponenten:

  • Multi-Head-Self-Attention
  • Feedforward-Neuralnetzwerk

Der Encoder empfängt die Eingabesequenz und verarbeitet sie durch jede Schicht, wobei er eine Ausgabe generiert, die die Eingabetoken mit Kontext aus anderen Token in der Sequenz codiert.

Decoder:

Der Decoder besteht ebenfalls aus mehreren identischen Schichten und verfügt über einen zusätzlichen Mechanismus:

Maskierte Multi-Head-Self-Attention: Verhindert, dass Token auf zukünftige Token in der Sequenz achten (wichtig bei autoregressiven Aufgaben wie der Textgenerierung).

Der Decoder enthält außerdem Cross-Attention-Schichten, die die Ausgabe des Encoders als zusätzliche Eingabe verwenden, um den Generierungsprozess zu steuern.

6. Ausgabe (für Sprachmodelle)

Für Aufgaben wie Sprachmodellierung oder maschinelle Übersetzung erzeugt der Decoder Token für Token eine Ausgabesequenz. In der letzten Schicht wird die Ausgabe des Decoders durch eine Softmax-Funktion geleitet, um Wahrscheinlichkeiten über das Vokabular zu generieren, sodass das Modell das nächste Token vorhersagen oder Übersetzungen generieren kann.

7. Trainingsziele

Masked Language Modeling (MLM): Wird in Modellen wie BERT verwendet, bei denen zufällige Token in der Eingabesequenz maskiert werden und das Modell darauf trainiert wird, sie vorherzusagen.

Causal Language Modeling (CLM): Wird in Modellen wie GPT verwendet, wo das Modell basierend auf den vorherigen Token das nächste Token in der Sequenz vorhersagt.

Seq2Seq-Ziele: Wird in Aufgaben wie der maschinellen Übersetzung verwendet, bei denen das Modell lernt, Eingabesequenzen Ausgabesequenzen zuzuordnen (z. B. beim Übersetzen eines Satzes vom Englischen ins Französische).

Zusammenarbeit mit HPE

Zusammenarbeit mit HPE

HPE bietet Produkte und Services, die Sie bei der Erstellung, Implementierung und Ausführung eines multimodalen Modells unterstützen.

HPE Cray XD670

Beschleunigen Sie die KI-Leistung mit dem HPE Cray XD670. Erfahren Sie mehr darüber, wie Sie Ihre LLM-, NLP- oder multimodalen Modelle für Ihr Unternehmen mit Supercomputing trainieren können.

HPE Generative AI Implementation Services

HPE Machine Learning Development Software

Was ist der Unterschied zwischen Transformern und RNNs?

Funktion
RNNs (inkl. LSTMs, GRUs)
Transformer

Verarbeitungsmethode

Sequenziell

Parallel

Umgang mit langen Sequenzen

Probleme mit weitreichenden Abhängigkeiten

Hervorragend aufgrund von Self-Attention

Architektur

Wiederkehrende, versteckte Zustände

Multi-Head-Self-Attention

Trainingseffizienz

Langsam, schwieriger zu parallelisieren

Schneller, hochgradig parallelisierbar

Speichereffizienz

Geringerer Speicherbedarf

Hohe Arbeitsspeicherauslastung

Gängige Anwendungen

Zeitreihen, frühe NLP-Aufgaben

NLP, Übersetzung, Textgenerierung usw.

Übersicht der Transformer-Komponenten:

Komponente
Beschreibung

Eingabeeinbettungen

Wandelt Token in Vektoren fester Größe um.

Positionskodierung

Fügt Informationen zu Token-Positionen in der Sequenz hinzu.

Self-Attention

Berechnet Aufmerksamkeitswerte zwischen allen Token, um Abhängigkeiten zu erfassen.

Multi-Head-Attention

Verwendet mehrere Aufmerksamkeitsvektoren, um verschiedene Beziehungen zu erfassen

Feedforward-Neuralnetzwerk

Wendet nichtlineare Transformationen auf Token-Darstellungen an.

Restverbindungen

Hilft beim Stabilisieren des Trainings und verbessert den Gradientenfluss.

Encoder

Verarbeitet die Eingabesequenz und generiert kontextbezogene Darstellungen.

Verschiedene Arten von Transformern:

Welche unterschiedlichen Arten von Transformern gibt es?

Diese Transformer-Modelle werden branchenübergreifend für kommerzielle Anwendungen eingesetzt, darunter Kundenservice, Inhaltserstellung, Übersetzung, virtuelle Assistenten, Empfehlungssysteme und mehr.

Modelltyp
Besonders erwähnenswerte Modelle
Wichtigste Merkmale

Anwendungen

Encoder-basiert

BERT, RoBERTa, XLNet, ELECTRA

Konzentriert sich auf das Textverständnis (Klassifizierung, NER usw.)

NLP-Aufgaben, die Textverständnis erfordern

Decoder-basiert

GPT (1, 2, 3, 4), STRG, OPT

Optimiert für generative Aufgaben (Textgenerierung, Dialog)

Textgenerierung, Konversations-KI

Encoder-Decoder

T5, BART, mT5, Pegasus

Kombiniert Verstehen und Generieren (maschinelle Übersetzung, Zusammenfassung)

Zusammenfassung, Übersetzung, Fragenbeantwortung

Multimodal

CLIP, DALL·E, FLAVA

Verarbeitet mehrere Datentypen (Text + Bild)

Bildgenerierung, visuell-textuelle Aufgaben

HPE Machine Learning Development Environment Software

Unterstützen Sie Teams auf der ganzen Welt, KI-Modelle sicher und effizient zu entwickeln, zu trainieren und zu optimieren.

Zugehörige Themen