Ein Transformer ist eine von Google[1] weiterentwickelte Deep Learning (DL)-Architektur, die einen sogenannten „Aufmerksamkeitsmechanismus“ (englisch attention) als Teil anderer Algorithmusartefakte einsetzt.[2][3] Das Konzept wurde 2017 vorgestellt und ist Teil der Grundstruktur des generativen vortrainierten Transformers (GPT), auch bekannt als Large Language Models (LLM), sowie anderer vortrainierter Modelle. Letztere sind Modelle, die mithilfe eines großen Datensatzes trainiert wurden, um später für eine bestimmte Aufgabe eingesetzt zu werden.
Im Anwendungsfall der maschinellen Übersetzung, wird Text durch Worteinbettung (Embedding) in numerische Darstellungen in Form von Vektoren umgewandelt und statistisch weiterverarbeitet. Dies kann z. B. dazu benutzt werden, Text von einer Sprache in eine andere zu übersetzen. Dazu wird ein Transformer mittels maschinellem Lernen (ML) anhand einer (großen) Menge von Beispieltexten trainiert, bevor das trainierte Modell dann zur Übersetzung verwendet werden kann. Weitere Beispielanwendungen von Transformer-Architekturen sind die Textgenerierung oder die Zusammenfassung längerer Texte. Transformer haben sich als effizienter als Long Short-Term Memory-Architekturen (LSTM) erwiesen. Letztere Architektur (LSTM) wird beispielsweise von Google Translate seit c. 2016 eingesetzt, eine Adaption der Neural Machine Translation (NMT)[4][5][6][7] durch Google (GNMT).[8] Der Fokus des restlichen Artikels liegt jedoch auf dem Prinzip der Transformer.
Hintergrund
BearbeitenTransformer wurden 2017 im Rahmen der Neural Information Processing Systems-Konferenz (NeuIPS) von Google-Mitarbeitern[9] vorgestellt und wenig später in der Arbeit Attention Is All You Need veröffentlicht.[10][11] Die ersten Forschungen zu der Transformer-Technik (sogenannte „fast weight programmers“) gehen jedoch bis in die 1990er Jahre unter Jürgen Schmidhuber zurück.[12][13][14]
Bei der Verarbeitung natürlicher Sprache (NLP) wurden vor der Einführung des Transformers rekurrente Modelle (RNN) wie Long Short-Term Memory (LSTM), GRU und Seq2Seq eingesetzt, welche eine Eingangssequenz sequenziell abarbeiten. Diese Methoden wurden später um einen Aufmerksamkeitsmechanismus[15] erweitert.[4]
Man spricht als Teil der Transformer auch von dem „Aufmerksamkeitsmechanismus“ (englisch attention). Sie wurden bereits 2015 im Kontext der maschinellen Übersetzung verwendet.[4] Während sie immer noch auf einem rekurrenten neuronalen Netz (RNN) basierten, entfernte der 2017 Ansatz von Google den RNN-Anteil und reduzierten den Transformer nur auf „Selbst-Aufmerksamkeit“ (englisch self-attention).[2][3] Diese neue Architektur (Transformer) übertraf vorherige Konzepte.[4] Der Google-Transformer verzichtete somit auf die rekurrente Struktur (RNN) sowie Convolutional Neural Network (CNN) und basierte stattdessen nur auf dem Selbst-Aufmerksamkeitsmechanismus, kombiniert mit Feed-Forward Netzen (FFN), vgl. das Blockdiagramm weiter unten.
Das Konzept des Transformer soll menschliche kognitive Aufmerksamkeit mathematisch nachahmen und die wesentlichen Sinnzusammenhänge in einem gegebenen Kontext erkennen. Der Algorithmus berechnet eine „weiche“ Gewichtung für jedes Wort, genauer gesagt für die Einbettung in seinem aktuellen Kontextfenster. Diese Gewichte können berechnet werden:
- parallel (z. B. in Transformern)
- sequentiell (z. B. in RNNs).
„Weiche“ Gewichte können sich im Gegensatz zu (vor)trainierten „harten“ Gewichten, die fix sind und keine Anpassung an wechselnden Kontext erlauben, bei jedem Durchlauf ändern. Sie erzielen bei reduziertem Rechenaufwand ähnliche oder bessere Ergebnisse bei der Transformation von Sequenzen als sequenziell-arbeitende RNNs.
Bekannte Beispiele für Transformer-Modelle sind der Bidirectional Encoder Representations from Transformers (BERT)[16][17] und die Generativen vortrainierten Transformer (GPT).[18] Ersteres ist ein reines Encoder-Modell (linker Teil des Ablaufdiagramms), Letzteres (manche GPT) eine reine Decoder-Architektur (rechter Teil des Ablaufdiagramms).[19]
Seitdem die Technik (Transformer) bekannt wurde, haben viele andere ML/DL-Modelle auch auf Transformer gesetzt, z. B. AlphaFold. Siehe dazu auch die Large Language Models (LLMs).
Transformer-Architektur
Bearbeiten
Ein Transformer besteht in seiner ursprünglich vorgestellten Form im Wesentlichen aus in Serie geschalteten Kodierern (Encoder) und in Serie geschalteten Dekodierern (Decoder).[20][21][22] Die Eingabesequenz wird durch eine sogenannte Embedding-Schicht in eine Vektorrepräsentation überführt. Die Gewichte der Embedding-Schicht werden während des Trainings angepasst. Im Falle des Transformers kommt zusätzlich eine Positionskodierung zum Einsatz, wodurch die sequentielle Abfolge der Wörter berücksichtigt werden kann. Ein Wort erhält somit zu Beginn eines Satzes eine andere Repräsentation als am Ende.[21]
Die Eingabesequenz wird in der Vektorrepräsentation einer Serie von Kodierern übergeben und in eine interne Repräsentation überführt. Diese interne Repräsentation bildet die Bedeutung der Eingabesequenz abstrakt ab[22] und wird durch die Dekodierer in eine Ausgabesequenz übersetzt.[22] Die Eingabesequenz wird hierbei in Batches verarbeitet, wobei die Länge der Kodierer-Dekodierer-Pipeline die maximale Länge der Eingabesequenz beschränkt.[21] Je nach Größe des Netzwerks können beispielsweise einzelne Sätze oder auch ganze Absätze verarbeitet werden. Bei Eingabesequenzen, welche kürzer sind als die Kodierer-Dekodierer-Pipeline, wird Padding zum Auffüllen der Eingabesequenz genutzt.[21] Ein Kodierer besteht aus einem Selbst-Aufmerksamkeit-Modul (englisch self-attention) und einem Feed-Forward-Netz (FFN), während der Dekodierer aus einem Selbst-Aufmerksamkeit-Modul, einem Kodierer-Dekodierer-Aufmerksamkeit-Modul und einem Feedforward-Modul besteht.[22]
Transformer sind ein moderner Ansatz, um die Probleme des Rechenaufwands durch eine Art von Parallelisierung von Algorithmen mittels Kodierern, Dekodierern und Aufmerksamkeitsmodulen zu lösen. Aufmerksamkeits-Module steigern die Verarbeitungsgeschwindigkeit, mit der das Modell von einer Sequenz in eine andere übersetzen kann.
Alle Kodierer haben die gleiche Architektur. Dekodierer sind einander auch sehr ähnlich. Jeder Kodierer besteht aus zwei Schichten: Self-Attention und einem Feed-Forward Netz (FNN). Die Eingaben des Kodierers durchlaufen zunächst ein Self-Attention Layer. Der Dekodierer verfügt über beide Ebenen, aber zwischen ihnen befindet sich ein Attention Layer, das dem Dekodierer hilft, sich auf relevante Teile der Eingabemenge zu konzentrieren. Außerdem sind in der Architektur mehrere Residualverbindungen und Layer-Normalisierungen[23] enthalten.
Der essentielle Baustein des Transformer-Modells, der Encoder-Block (Abbildung links), ist eine Funktion mit , die definiert ist durch
Dabei wird die Softmax-Funktion und ein Rectifier (ReLU) verwendet.[24] Jede Encoderschicht enthält zwei Unterschichten: die Selbst-Aufmerksamkeit und das Feed-Forward-Netzwerk (FFN).
Kodierer
BearbeitenDie erste Teilschicht implementiert einen Mechanismus mit Mehrfach-Kopf Selbst-Aufmerksamkeit (englisch multi-head self-attention (MHA)). Dieser Mechanismus implementiert Heads, die eine linear projizierte Version der Abfragen, Schlüssel und Werte empfangen und parallel jeweils die gleiche Anzahl Ausgaben erzeugen, die dann zum Generieren eines Endergebnisses verwendet werden. Die zweite Teilschicht ist ein vollständig verbundenes Feedforward Neural Network, das aus zwei linearen Transformationen mit dazwischenliegender Aktivierung der Rectified Linear Unit (ReLU) besteht. Alle sechs Schichten des Kodierers wenden die gleichen linearen Transformationen auf alle Wörter in der Eingabesequenz an, aber jede Schicht verwendet dazu unterschiedliche Parameter. Auf jede Teilschicht folgt eine Normalisierungsschicht, die die berechnete Summe zwischen der Eingabe in die Teilschicht und der von der Teilschicht generierten Ausgabe normalisiert.
Die Transformer-Architektur kann grundsätzlich keine Informationen über die relativen Positionen der Wörter in der Sequenz erfassen, weil sie keine Wiederholung nutzt. Diese Informationen müssen durch die Kodierung der Positionen in die Eingabeeinbettungen eingefügt werden. Die Vektoren für die Kodierung der Positionen haben die gleiche Dimension wie die Eingabeeinbettungen und werden mithilfe von Sinus und Kosinus unterschiedlicher Frequenz generiert. Anschließend werden sie zu den Eingabeeinbettungen summiert, um die Positionsinformationen einzufügen.[25]
Dekodierer
BearbeitenWährend der Inferenz kann ein Dekodierer zur autoregressiven Erzeugung von Sequenzen verwendet werden: Der Dekodierer wird mit einer Startsequenz abgefragt und sagt dann das nächste wahrscheinlichste Token vorher, welches im nächsten Schritt Teil der Eingabe wird (und so weiter). Beim Training des Dekodierers wird dieser Prozess durch das sogenannte „Teacher Forcing“ und Maskierung im Dekodierer ersetzt, womit das Training stark beschleunigt wird.
Jede Schicht Dekodierer enthält drei Teilschichten: die kausal maskierte Selbstaufmerksamkeit (englisch causally masked self-attention), die Kreuzaufmerksamkeit (englisch cross attention) und das Feedforward-Netzwerk (FFN). Weitere Details sind die residual connections eines Residual Neural Network und die Schichtnormalisierung (Funktion: LayerNorm), die zwar konzeptionell unnötig, aber für numerische Stabilität und Konvergenz erforderlich sind. Ähnlich wie die Feedforward-Netzwerkmodule einzeln auf jeden Vektor angewendet werden, wird auch LayerNorm einzeln auf jeden Vektor angewendet. Es werden zwei gängige Konventionen verwendet: die Post-LN- und die Pre-LN-Konvention. In der Post-LN-Konvention ist die Ausgabe jeder Teilschicht
wobei die von der Teilschicht selbst implementierte Funktion ist.
In der Pre-LN-Konvention ist die Ausgabe jeder Unterschicht
Der ursprüngliche Transformer von 2017 verwendete die Post-LN-Konvention. Es war schwierig zu trainieren und erforderte eine sorgfältige Abstimmung der Hyperparameter und ein „Aufwärmen“ der Lernrate, bei dem sie klein beginnt und allmählich zunimmt. Die im Jahr 2018 vorgeschlagene Pre-LN-Konvention erwies sich als einfacher zu trainieren, da kein „Aufwärmen“ erforderlich ist und die Konvergenz somit schneller erfolgt.
Ablaufdiagramme
Bearbeiten-
Links: Kodierer und Dekodierer mit jeweils einer Schicht. Rechts: Kodierer und Dekodierer mit jeweils zwei Schichten.
-
Links: Kodierer mit Normalisierung am Ende jeder Teilschicht (Post-LN). Rechts: Kodierer mit Normalisierung am Anfang jeder Teilschicht (Pre-LN).
-
Links: Dekodierer mit Normalisierung am Ende jeder Teilschicht (Post-LN). Rechts: Dekodierer mit Normalisierung am Anfang jeder Teilschicht (Pre-LN).
Attention-Modul
BearbeitenDie Aufgabe des Aufmerksamkeits-Bausteins (englisch attention) besteht darin, die Korrelation eines Eingabesymbols (Token) zu den anderen Eingabesymbolen zu berechnen. Gegeben sei die Worteinbettung des i-ten Tokens einer Sequenz. Diese Einbettung ist ein als Vektor kodiertes Eingabesymbol. Aus jeder Einbettung werden unabhängig voneinander drei Vektoren berechnet, indem die Einbettung mit einer jeweils erlernten Matrix , oder multipliziert wird:
- , der Abfragevektor (engl. query)
- , der Schlüsselvektor (engl. key)
- , der Wertevektor (engl. value)
Hieraus wird das Aufmerksamkeitsgewicht (englisch attention score) zwischen Token i und Token j der Sequenz durch das Skalarprodukt berechnet
und schließlich durch die Quadratwurzel der Länge der Schlüsselvektoren geteilt, um stabilere Gradienten zu erhalten (da die Softmax-Funktion bei großen absoluten Funktionsargumenten stark abflacht und der Gradient somit sehr klein wird):
Hierauf wird die Softmax-Funktion entlang der letzten Dimension angewandt:
Dieser skalare Wert wird nun mit dem Wertevektor multipliziert, was dazu führt, dass der Wertevektor mit einem Aufmerksamkeitsfaktor vergrößert oder verkleinert wird:
wobei der Vektor die berechnete Ausgabe des Attention-Moduls für Token i darstellt.
Unterschiede zwischen Attention im Encoder und Decoder
BearbeitenDer Unterschied zwischen dem Self-Attention-Modul (im Encoder) und dem Kodierer-Dekodierer-Attention-Modul (im Decoder mit Encoder) besteht darin, dass das Self-Attention-Modul ausschließlich die Werte des vorhergehenden Kodierers bzw. Dekodierers verwendet und die Vektoren , und berechnet. Das Kodierer-Dekodierer-Attention-Modul hingegen berechnet nur den Abfragevektor aus dem vorgelagerten Attention-Modul, während die Vektoren und aus dem Kodierer (Encoder) bezogen werden.
Masked Attention
BearbeitenDie Maskierung der Attention (welche insbesondere im Decoder beim Training notwendig ist, damit nur vergangene Tokens beachtet werden) ist durch folgende Modifikation gegeben:
wobei M die Maskierungsmatrix ist, welche bei unmaskierten Werten den Wert 0 und bei maskierten Werten den Wert annimmt. Stark negative Werte in der Maskierungsmatrix resultieren durch die Softmax-Funktion in einer maskierten Attention von Null. Die Maske wird häufig so gewählt, dass nur auf vorhergehende Werte Wert gelegt wird, d. h., dass eine kausale Maskierung erfolgt.
Multi-Head-Attention
BearbeitenIn der Praxis wird die sogenannte Multi-Head-Attention (MHA) eingesetzt. Jeder Head besteht hierbei aus einer eigenen Version der Matrizen , und . Jedes Attention-Modul besitzt mehrere Heads. Wenn ein Head für eine bestimmte Eingabe nicht relevant ist, wird ein niedriger Wert berechnet, während ein für eine Eingabe relevanter Head einen hohen Ausgabewert berechnet.
Scaled Dot-Product Attention
BearbeitenDer Transformer implementiert ein Scaled Dot-Product Attention, das dem Verfahren des allgemeinen Aufmerksamkeitsmechanismus folgt. Scaled Dot-Product Attention berechnet zunächst ein Skalarprodukt für jede Abfrage mit allen Schlüsseln . Anschließend dividiert es jedes Ergebnis durch den Skalierungsfaktor und wendet dann die Softmax-Funktion an. Dabei erhält es die Gewichte, mit denen die Werte skaliert werden. In der Praxis können die Berechnungen effizient auf die gesamte Menge von Abfragen gleichzeitig angewendet werden. Zu diesem Zweck werden die Matrizen , und als Eingaben für die Aufmerksamkeitsfunktion attention bereitgestellt. Diese kann so dargestellt werden:
Dieser Skalierungsfaktor wurde eingeführt, um dem Effekt entgegenzuwirken, dass die Skalarprodukte bei großen Werten stark ansteigen, wobei die Anwendung der Softmax-Funktion dann extrem kleine Gradienten zurückgeben würde, was zum Problem verschwindender Gradienten führen würde. Der Skalierungsfaktor dient dazu, die durch das Skalarprodukt berechneten Ergebnisse nach unten zu ziehen und dieses Problem zu vermeiden.
Das Verfahren zur Berechnung von ist wie folgt:
- Die Ausrichtungswerte werden berechnet, indem die in der Matrix gespeicherte Menge von Abfragen mit den Schlüsseln in der Matrix multipliziert wird. Wenn eine -Matrix und eine -Matrix ist, dann ist die resultierende Matrix eine -Matrix:
- Jeder der Ausrichtungswert wird mit skaliert:
- Es wird die Softmax-Funktion angewendet, um eine Menge von Gewichten zu erhalten.
- Die resultierenden Gewichte werden mithilfe der Matrixmultiplikation auf die Elemente der -Matrix angewendet:[25]
Adding Position Embeddings
BearbeitenEin gängiger Ansatz besteht darin, der Eingabe Positionseinbettungen hinzuzufügen, bevor sie dem tatsächlichen Transformer-Modell zugeführt wird: Wenn die Matrix der Einheitseinbettungen ist, wird eine Matrix hinzugefügt, die die Positionsinformationen darstellt, und ihre Summe wird dem Transformer-Modell zugeführt: . Für die erste Transformer-Ebene hat das folgenden Effekt:
Dabei wird die Softmax-Funktion und ein Rectifier (ReLU) verwendet.[26]
Positional Encoding
BearbeitenDie Transformer-Architektur ist eine Architektur, die aus gestapelten Encoder-Schichten und Decoder-Schichten besteht. Zum Erzeugen von Sequenzdarstellungen nutzt der Transformer Self-Attention. Eine Encoder-Schicht besteht aus einer Self-Attention-Teilschicht, gefolgt von einer Feedforward-Teilschicht. Auf ähnliche Weise besteht eine Decoder-Schicht aus einer Self-Attention-Teilschicht, gefolgt von einer Encoder-Decodierer-Attention-Teilschicht, auf die eine Feedforward-Teilschicht folgt. Der Aufmerksamkeitsmechanismus ignoriert die Sequenzreihenfolge, weshalb in der Transformer-Architektur Positionskodierungen verwendet werden.
Absolute Positional Encoding
BearbeitenIn der ursprünglichen Transformer-Architektur wird zu jedem eingebetteten Quell- und Zielwort ein absoluter Positionskodierungsvektor hinzugefügt, um dessen Position anzugeben. Die Idee besteht darin, Sinuskurven unterschiedlicher Wellenlängen zum Kodieren unterschiedlicher Positionen zu verwenden. Für die Position in einer Sequenz der Länge wird der absolute Positionskodierungsvektor definiert durch
wobei . Vaswani et al. schlagen vor, dass sinusförmige Positionseinbettungen genauso gut funktionieren wie erlernte Positionskodierungen, und sie stellen die Hypothese auf, dass erstere auf längere Sequenzen verallgemeinert werden können.[27]
Rotary Positional Embedding
BearbeitenRotary Positional Embedding (RoPE) basiert auf einer Liste zweidimensionaler Vektoren . Ist ein Winkel vorgegeben, dann wird die RoPE-Kodierung für den Vektor berechnet wie folgt:
Die RoPE-Kodierung ist also einfach eine Multiplikation mit einem Winkel , wenn die zweidimensionalen Vektoren als komplexe Zahlen dargestellt werden:
Für eine Liste -dimensionaler Vektoren wird eine RoPE-Kodierung durch eine endliche Folge von Winkeln definiert. Dann wird die RoPE-Kodierung auf jedes Koordinatenpaar angewendet. Der Vorteil von RoPE besteht darin, dass das Skalarprodukt zwischen zwei Vektoren nur von ihrer relativen Position abhängt, denn es gilt
für jede positive ganze Zahl .[28]
Multimodalität
BearbeitenTransformer können auch für Modalitäten verwendet werden, die nicht textbasiert sind, indem man einen Weg findet, die Modalität in Token zu zerlegen. Eine Studie aus dem Jahr 2022 ergab, dass Transformer, die nur auf natürliche Sprache vortrainiert wurden, nur auf 0,03 % der Parameter feinabgestimmt werden können und bei vielen logischen und visuellen Aufgaben mit Long Short-Term Memory (LSTM) konkurrieren können, was ein Hinweis auf Transferleistungen bei Deep Learning (DL) ist.
Sogenannte „Vision Transformer“ passen den Transformer an Maschinelles Sehen an, indem sie Eingabebilder in eine Reihe von Patches zerlegen, sie in Vektoren umwandeln und sie wie Token in einem Standard-Transformer behandeln. Conformer und später Whisper folgen demselben Muster für die Spracherkennung, indem sie das Sprachsignal zunächst in ein Spektrogramm umwandeln, das dann wie ein Bild behandelt wird, d. h. in eine Reihe von Patches zerlegt, in Vektoren umgewandelt und wie Token in einem Standard-Transformer behandelt wird. Perceiver sind eine Variante von Transformern, die für Multimodalität entwickelt wurden. Beispiele für Bildgeneratoren, die multimodale Transformer verwenden, sind zum Beispiel DALL-E und Stable Diffusion. Im Gegensatz zu späteren Modellen ist DALL-E kein Diffusionsmodell. Stattdessen verwendet es einen Nur-Decoder-Transformer, der autoregressiv einen Text generiert, gefolgt von der Token-Darstellung eines Bildes, das dann von einem Variational Autoencoder in ein Bild umgewandelt wird.
Literatur
BearbeitenEinzelnachweise
Bearbeiten- ↑ Damals Google Brain und Google Research. Später Google AI.
- ↑ a b Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin: Attention Is All You Need. In: ArXiv. 2. August 2023, abgerufen am 1. April 2026 (englisch, 1. Veröffentlichung im Jahr 2017 ; aktualisiert bis 2023).
- ↑ a b Zhaoyang Niu et al.: A review on the attention mechanism of deep learning. In: Neurocomputing. Band 452, 10. September 2021, ISSN 0925-2312, S. 48–62, doi:10.1016/j.neucom.2021.03.091 (englisch, sciencedirect.com [abgerufen am 4. April 2026]).
- ↑ a b c d Dzmitry Bahdanau, KyungHyun Cho, Yoshua Bengio: Neural Machine Translation by Jointly Learning to Align and Translate. In: Arxiv. 19. Mai 2016, abgerufen am 5. April 2026 (englisch).
- ↑ Philipp Koehn: Neural Machine Translation. First edition Auflage. Cambridge University Press, New York 2020, ISBN 978-1-108-60848-0 (englisch, statmt.org [abgerufen am 5. April 2026]).
- ↑ Felix Stahlberg: Neural Machine Translation: A Review and Survey. In: Arxiv. 29. September 2020, abgerufen am 5. April 2026 (englisch).
- ↑ Zhixing Tan et al.: Neural machine translation: A review of methods, resources, and tools. In: AI Open. Band 1, 2020, S. 5–21, doi:10.1016/j.aiopen.2020.11.001 (englisch, elsevier.com [abgerufen am 5. April 2026]).
- ↑ Shiva Ganesh: How Does Google Translate Work? In: Analytics Insight. 17. Oktober 2024, abgerufen am 5. April 2026 (englisch).
- ↑ Transformer: A Novel Neural Network Architecture for Language Understanding. In: Google Research. 31. August 2017, abgerufen am 3. April 2026 (englisch).
- ↑ Steven Levy: 8 Google Employees Invented Modern AI. Here’s the Inside Story. Wired, 20. März 2024, abgerufen am 2. Mai 2024 (englisch).
- ↑ Ketan Doshi: Transformers Explained Visually (Part 1): Overview of Functionality. In: Towards Data Science. 13. Dezember 2020, abgerufen am 5. April 2026 (amerikanisches Englisch).
- ↑ The 1991 Unnormalized Linear Transformer (ULTRA). In: Dalle Molle Institute for Artificial Intelligence (IDSIA). SUPSI, 2025, abgerufen am 4. April 2026.
- ↑ Jürgen Schmidhuber: 26 March 1991: Neural nets learn to program neural nets with fast weights—the first Transformer variants. 2021-: New stuff! In: Dalle Molle Institute for Artificial Intelligence (IDSIA). SUPSI, 2025, abgerufen am 5. April 2026: „Before 1991, no network learned by gradient descent to quickly compute the changes of the fast weight storage of another network or of itself. Such Fast Weight Programmers (FWPs) were published in 1991-93 [FWP0-2](Sec. 1, 2, 3, 4). They embody the principles found in certain types of what is now called attention [ATT](Sec. 4) and Transformers [TR1-6](Sec. 2, 3, 4, 5).“
- ↑ Jürgen Schmidhuber: Learning to Control Fast-Weight Memories: An Alternative to Dynamic Recurrent Networks. In: Neural Computation. Band 4, Nr. 1, Januar 1992, ISSN 0899-7667, S. 131–139, doi:10.1162/neco.1992.4.1.131 (englisch, mit.edu [abgerufen am 4. April 2026]).
- ↑ Zhaoyang Niu et al.: A review on the attention mechanism of deep learning. In: Neurocomputing. Band 452, 10. September 2021, ISSN 0925-2312, S. 48–62, doi:10.1016/j.neucom.2021.03.091 (englisch, sciencedirect.com [abgerufen am 4. April 2026]).
- ↑ Rainald Menge-Sonnentag: Wer, wie, was: Textanalyse über Natural Language Processing mit BERT. In: Heise Online. 12. August 2019, abgerufen am 13. August 2020.
- ↑ Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In: ArXiv. 11. Oktober 2018, abgerufen am 1. April 2026 (englisch).
- ↑ History of LLMs: Complete Timeline & Evolution (1950-2026). In: Toloka. 19. Februar 2026, abgerufen am 1. April 2026 (englisch).
- ↑ Mehrsa Mardikoraem et al.: Generative models for protein sequence modeling: recent advances and future directions. In: Briefings in Bioinformatics. Band 24, Nr. 6, 22. September 2023, ISSN 1467-5463, doi:10.1093/bib/bbad358, PMID 37864295, PMC 10589401 (freier Volltext) – (englisch, oup.com [abgerufen am 5. April 2026]).
- ↑ Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, Illia Polosukhin: Attention is All you Need. (PDF) In: Advances in Neural Information Processing Systems. Curran Associates, Inc., 2017, abgerufen am 29. April 2024 (englisch).
- ↑ a b c d Alexander Rush: The Annotated Transformer. Harvard NLP, abgerufen am 19. Juni 2020 (englisch).
- ↑ a b c d Jay Alammar: The Illustrated Transformer. Abgerufen am 19. Juni 2020 (englisch).
- ↑ Ruibin Xiong et al.: On Layer Normalization in the Transformer Architecture. In: Arxiv. 29. Juni 2020, abgerufen am 5. April 2026 (englisch).
- ↑ Philipp Dufter et al.: Position Information in Transformers: An Overview. In: Computational Linguistics. Band 48, Nr. 3, 1. September 2022, ISSN 0891-2017, S. 733–763, doi:10.1162/coli_a_00445 (englisch, mit.edu [abgerufen am 5. April 2026]).
- ↑ a b Stefania Cristina: The Transformer Model. In: MachineLearningMastery.com. 17. September 2022, abgerufen am 5. April 2026 (amerikanisches Englisch).
- ↑ Philipp Dufter, Martin Schmitt, Hinrich Schütze: Position Information in Transformers: An Overview
- ↑ Jan Rosendahl, Viet Anh Khoa Tran, Weiyue Wang, Hermann Ney, RWTH Aachen: Analysis of Positional Encodings for Neural Machine Translation
- ↑ Jianlin Su, Yu Lu, Shengfeng Pan, Ahmed Murtadha, Bo Wen, Yunfeng Liu: RoFormer: Enhanced Transformer with Rotary Position Embedding. 2021, doi:10.48550/ARXIV.2104.09864.