Transformer-Architektur

From Systems analysis wiki
Jump to navigation Jump to search

Die Transformer-Architektur ist eine Architektur für neuronale Netze, die 2017 von Forschern bei Google in dem Paper „Attention Is All You Need“[1] vorgestellt wurde. Sie revolutionierte den Bereich der Verarbeitung natürlicher Sprache (NLP) und wurde zur Grundlage für die meisten modernen großen Sprachmodelle (LLM), wie BERT, GPT und Gemini. Die zentrale Innovation des Transformers ist der Mechanismus der Selbst-Aufmerksamkeit (Self-Attention), der es dem Modell ermöglicht, die Bedeutung verschiedener Teile der Eingabedaten abzuwägen und Sequenzen parallel zu verarbeiten, wodurch die für RNNs und LSTMs typische Rekurrenz vermieden wird.

Historischer Kontext und Voraussetzungen

Vor 2017 waren rekurrente neuronale Netze (RNN) und ihre weiterentwickelte Variante, Netze mit langem Kurzzeitgedächtnis (LSTM), die dominierenden Architekturen für die Verarbeitung sequenzieller Daten wie Text.

Durch den Transformer adressierte Probleme von RNN/LSTM

  • Einschränkungen der sequenziellen Verarbeitung: RNNs und LSTMs verarbeiten Daten Token für Token, was einen intra-sequenziellen Parallelismus ausschließt und das Training mit großen Datenmengen verlangsamt.
  • Problem der verschwindenden und explodierenden Gradienten: In langen Sequenzen können Gradienten, die über viele Zeitschritte zurückpropagiert werden, entweder verschwinden oder explodieren, was das Erlernen langfristiger Abhängigkeiten erschwert.
  • Langfristige Abhängigkeiten: Informationen vom Anfang einer Sequenz können bis zu ihrem Ende verloren gehen.

Der Ansatz des Transformers besteht in einem vollständigen Verzicht auf Rekurrenz zugunsten eines Attention-Mechanismus. Er gewährleistet eine konstante Pfadlänge für Abhängigkeiten zwischen beliebigen Positionen (O(1)), was die Modellierung weitreichender Abhängigkeiten erleichtert, obwohl die grundlegende Implementierung der Selbst-Aufmerksamkeit eine quadratische Rechenkomplexität in Bezug auf die Sequenzlänge aufweist (O(n2))[1][2]. Das Problem der verschwindenden/explodierenden Gradienten wird nicht „beseitigt“, sondern durch Residualverbindungen, LayerNorm und das Trainingsregime gemildert; in modernen Implementierungen wird oft die Variante Pre-LayerNorm (Pre-LN) als stabiler im Training eingesetzt[3].

Architektur und Schlüsselkomponenten

Die ursprüngliche Transformer-Architektur besteht aus zwei Hauptteilen: einem Encoder und einem Decoder. Beide Komponenten sind Stapel identischer Schichten (N=6 im Originalartikel)[1].

  • Struktur einer Encoder-Schicht: (1) Multi-Head Self-Attention (MHA), (2) ein positionsweises Feed-Forward-Netzwerk (FFN); jede Unterschicht ist von einer Residualverbindung und LayerNorm umschlossen[1].
  • Struktur einer Decoder-Schicht: (1) maskierte Selbst-Aufmerksamkeit (eine kausale Maske verhindert den Zugriff auf zukünftige Positionen), (2) Cross-Attention zu den Ausgaben des Encoders, (3) ein FFN – ebenfalls mit Residualverbindungen und LayerNorm[1].

Attention-Mechanismus und Self-Attention

Der Attention-Mechanismus berechnet eine gewichtete Summe von Value-Vektoren (Wertvektoren), wobei die Gewichte durch die Kompatibilität von Key-Vektoren (Schlüssel) mit Query-Vektoren (Abfragen) bestimmt werden. Im Transformer wird die skalierte Punktprodukt-Aufmerksamkeit (Scaled Dot-Product Attention) verwendet:

Attention(Q,K,V)=softmax(QKdk)V

Wobei dk die Dimension der Keys/Queries ist; die Division durch dk verhindert eine Sättigung der Softmax-Funktion[1]. Wenn Q, K und V aus derselben Sequenz generiert werden, wird der Mechanismus als Selbst-Aufmerksamkeit (Self-Attention) bezeichnet.

Multi-Head Attention (vielköpfige Aufmerksamkeit)

Anstelle eines einzigen Satzes von Matrizen (WQ,WK,WV) werden h parallele „Köpfe“ (Heads) verwendet. Jeder Kopf projiziert Q,K,V in Unterräume geringerer Dimension, berechnet die Aufmerksamkeit unabhängig, und die Ergebnisse werden anschließend konkateniert und projiziert[1]:

MultiHead(Q,K,V)=Concat(head1,,headh)WO,wobei headi=Attention(QWiQ,KWiK,VWiV).

Varianten zur Beschleunigung der Inferenz:

  • MQA (Multi-Query Attention): alle Köpfe teilen sich einen einzigen Key/Value → reduziert das Volumen und den Traffic des KV-Cache bei der Dekodierung erheblich[4].
  • GQA (Grouped-Query Attention): ein Kompromiss zwischen MHA und MQA – mehrere Gruppen von Köpfen teilen sich K/V; die Qualität ist vergleichbar mit MHA, bei einer Geschwindigkeit, die der von MQA nahekommt[5].

Positionskodierung (Positional Encoding)

Da Self-Attention invariant gegenüber der Reihenfolge der Token ist, werden den Eingabe-Embeddings Positionskodierungen hinzugefügt.

  • Ursprüngliche sinusförmige Kodierungen (PE) aus[1]:
PE(pos,2i)=sin(pos/100002i/dmodel),PE(pos,2i+1)=cos(pos/100002i/dmodel).
  • Moderne relative/rotatorische Varianten:
    • RoPE (Rotary Position Embeddings) kodiert relative Verschiebungen durch Rotation der Q/K-Vektoren; wird in einer Reihe moderner LLMs verwendet[6].
    • ALiBi fügt den Attention-Scores eine lineare Strafe (Bias) hinzu, was die Extrapolation auf Längen verbessert, die über die Trainingsdaten hinausgehen[7].

Positionsweise FFN, Residualverbindungen und Normalisierung

Jede Encoder- und Decoder-Schicht enthält neben der Aufmerksamkeit auch ein positionsweises Feed-Forward-Netzwerk (FFN):

FFN(x)=max(0,xW1+b1)W2+b2.

Um jede Unterschicht herum werden Residualverbindungen und Layer Normalization verwendet: LayerNorm(x+Sublayer(x)). Im Original wurde die Variante Post-LN angewendet[1]; in modernen LLMs wird oft Pre-LN für eine bessere Trainingsstabilität und eine geringere Abhängigkeit von einem langen Warm-up verwendet[3].

Evolution und moderne Varianten

Frühere Methoden, die auf rekurrenten neuronalen Netzen (RNN) und deren fortschrittlichen Varianten wie LSTM basierten, verarbeiteten Text sequenziell, Token für Token. Obwohl dieser Ansatz intuitiv der Struktur der Sprache entsprach, schuf er eine erhebliche Einschränkung: Er erschwerte parallele Berechnungen und die Erkennung von Abhängigkeiten zwischen Elementen, die im Text weit voneinander entfernt waren. Im Jahr 2017 stellte eine Gruppe von Forschern von Google ein Paper mit dem Titel „Attention Is All You Need“ vor. Darin beschrieben sie eine neue Architektur – den „Transformer“. Dieses Modell verzichtete erstmals vollständig auf rekurrente neuronale Netze und ersetzte sie durch einen „Attention“-Mechanismus. Die wichtigste Neuerung bestand darin, dass der Attention-Mechanismus dem Transformer ermöglichte, die Wichtigkeit jedes Wortes in der Eingabesequenz für die Generierung des entsprechenden Wortes in der Ausgabe zu bewerten. Dabei konnte das Modell alle Wörter gleichzeitig verarbeiten. Diese Fähigkeit zur parallelen Verarbeitung ermöglichte das Training von wesentlich größeren Modellen auf riesigen Datenmengen. Daraus entstanden die modernen großen Sprachmodelle (LLMs).

Die Transformer-Architektur diente als Grundlage für eine Vielzahl von Modellen, die sich grob in drei Klassen einteilen lassen.

1. Nur-Encoder-Modelle (Encoder-only)

  • Beispiel: BERT (und RoBERTa, ALBERT)[8].
  • Prinzip: Pre-Training mit der Aufgabe der maskierten Sprachmodellierung (Masked Language Modeling, MLM) mit bidirektionalem Kontext.
  • Anwendung: Verständnisaufgaben (Klassifikation, NER etc.).

2. Nur-Decoder-Modelle (Decoder-only)

  • Beispiel: die GPT-Serie (GPT‑1/2/3)[9][10], LLaMA[11], Claude.
  • Prinzip: Kausale Sprachmodellierung (Causal Language Modeling, CLM) – Vorhersage des nächsten Tokens; die Aufmerksamkeit wird durch eine kausale Maske eingeschränkt[1].
  • Anwendung: Textgenerierung, Dialoge, Code.

3. Encoder-Decoder-Modelle

  • Beispiel: der ursprüngliche Transformer, T5, BART[1][12].
  • Prinzip: Der Encoder erstellt eine Repräsentation der Eingabe, der Decoder generiert die Ausgabe und verwendet Cross-Attention auf die Merkmale des Encoders[1].
  • Anwendung: Seq2Seq-Aufgaben (Übersetzung, Zusammenfassung etc.).

4. Multimodale und alternative Architekturen

  • Vision Transformer (ViT) – eine Anpassung für Bilder (Aufteilung in Patches)[13]; Swin Transformer – ein hierarchisches Modell mit shifted windows[14].
  • Alternativen für lange Sequenzen:
    • Mamba – selektive Zustandsraummodelle (SSM) mit linearer Komplexität[15].
    • RWKV – eine RNN-ähnliche Architektur mit parallelem Training und linearer Inferenzkomplexität[16].
    • Hybride (z.B. Jamba): wechseln zwischen Transformer- und Mamba-Blöcken ab; manchmal ergänzt durch MoE[17].

Trainings- und Optimierungstechniken

Die Effektivität des Transformers ist eng mit den Trainingstechniken und der Infrastruktur verbunden.

  • Pre-Training-Strategien: CLM und MLM; auch kontrastive und Denoising-Ziele (ELECTRA, T5)[12].
  • Fine-Tuning-Techniken (Fine-Tuning):
    • Vollständiges Fine-Tuning aller Parameter.
    • Parametereffizientes Fine-Tuning (PEFT): LoRA führt Low-Rank-Adapter ein, während die Basisgewichte eingefroren bleiben[18].
  • Verhaltensanpassung (Alignment): RLHF – bestärkendes Lernen durch menschliches Feedback[19].
  • Systemoptimierungen für die Inferenz: PagedAttention/vLLM erhöht den Durchsatz beim Serving durch eine seitenbasierte Verwaltung des KV-Cache; besonders nützlich bei langen Sequenzen und großen Batches[20].

Literatur

  • Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
  • Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI Technical Report.
  • Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
  • Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. arXiv:1910.10683.
  • Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929.
  • Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. arXiv:2103.14030.
  • Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
  • Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
  • Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
  • Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
  • Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (MQA). arXiv:1911.02150.
  • Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
  • Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). arXiv:2309.06180.
  • Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
  • Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
  • Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
  • Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
  • Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
  • Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.

Einzelnachweise

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
  2. Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
  3. 3.0 3.1 Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
  4. Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. arXiv:1911.02150.
  5. Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
  6. Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
  7. Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
  8. Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  9. Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI.
  10. Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
  11. Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
  12. 12.0 12.1 Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. arXiv:1910.10683.
  13. Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. ICLR. arXiv:2010.11929.
  14. Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV. arXiv:2103.14030.
  15. Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
  16. Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
  17. Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
  18. Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
  19. Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
  20. Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. arXiv:2309.06180.

Category:Artificial intelligence