KI‑Kompass
Kompass

Die Transformer-Architektur

Der Bauplan hinter fast jedem heutigen Modell: Blöcke, Positionskodierung, Parameterrechnung und was sich seit 2017 wirklich geändert hat.

·3 Min. Lesezeit·Von Fachredaktion Technik
DETAILGRAD
3 Abschnitte

Die Idee

Ein Transformer besteht aus einem Stapel gleichartiger Blöcke. Jeder Block macht zwei Dinge: Er lässt jedes Token auf alle anderen schauen, und danach verarbeitet er jedes Token für sich weiter. Das wiederholt sich zwanzig bis hundert Mal.

Am Ende steht eine Vorhersage über das nächste Token, also eine Wahrscheinlichkeit für jeden Eintrag des Vokabulars.

Der Aufbau eines Blocks

  1. 01

    Normalisieren

    Die Werte auf einen brauchbaren Bereich bringen.

  2. 02

    Attention

    Jedes Token mischt Information aus allen vorherigen ein.

  3. 03

    Addieren

    Das Ergebnis wird zur Eingabe addiert, nicht ersetzt.

  4. 04

    Zwischenschicht

    Ein kleines Netz verarbeitet jedes Token einzeln weiter, wieder mit Normalisierung und Addition.

Die Parameterrechnung

Parameter eines Decoder-Transformers

P ≈ L · ( 4h² + 2·h·f ) + V · h

Je Block vier Projektionen der Attention plus die Zwischenschicht, dazu die Einbettungstabelle.

L
Anzahl der Blöcke
h
Modellbreite
f
Zwischenbreite, meist 4h oder 8h/3
V
Vokabulargröße

Durchgerechnet für L = 32, h = 4096, f = 11008, V = 128.000:

PostenRechnungParameter
Attention, 32 Blöcke32 × 4 × 4096²2,15 Mrd.
Zwischenschicht, 32 Blöcke32 × 2 × 4096 × 110082,88 Mrd.
Einbettung128.000 × 40960,52 Mrd.
Summe5,55 Mrd.

Mit einer gebundenen Ausgabeschicht bleibt es dabei, sonst kommen weitere 0,52 Milliarden hinzu. Die Rechnung erklärt auch, warum die Zwischenschicht der größte Posten ist, und warum Mixture of Experts genau dort ansetzt.

Positionskodierung

VerfahrenPrinzipVerhalten bei längerem Kontext
Absolut gelerntEine Tabelle je PositionBricht jenseits der Trainingslänge ab
SinusförmigFeste Funktion je PositionVerallgemeinert etwas besser
RoPEDreht Query und Key je nach PositionLässt sich durch Skalierung verlängern
ALiBiStraft weite Abstände im ScoreVerallgemeinert am besten

RoPE hat sich durchgesetzt, weil es relative Abstände direkt im Skalarprodukt kodiert und sich nachträglich strecken lässt, um den Kontext zu verlängern.

RoPE

Rotary Position Embedding

q̃_m = R_m · q_m, k̃_n = R_n · k_n q̃_m · k̃_n hängt nur von (m − n) ab θᵢ = b^(−2i/d)

Query und Key werden paarweise um einen positionsabhängigen Winkel gedreht; das Skalarprodukt hängt danach nur noch von der Differenz der Positionen ab.

q_m
die Query an Position m
R_m
eine Drehmatrix, die vom Ort m abhängt
θᵢ
die Frequenz des i-ten Dimensionspaares
b
die Basis, üblich 10.000

Das ist die entscheidende Eigenschaft: Das Modell lernt relative Abstände, nicht absolute Positionen. Eine Verlängerung des Kontexts gelingt dann durch Streckung der Frequenzen, etwa indem b erhöht oder die Position skaliert wird.

Was sich seit 2017 geändert hat

DamalsHeuteGrund
Post-NormPre-NormStabilität bei großer Tiefe
LayerNormRMSNormSchneller, gleich gut
ReLU in der ZwischenschichtSwiGLUMessbar bessere Qualität
Absolute PositionenRoPE oder ALiBiLängerer Kontext möglich
Multi-Head-AttentionGruppierte AbfragenKV-Cache um Faktor 4 bis 8 kleiner
Encoder-DecoderNur DecoderEinfacher, skaliert besser
Dichte ZwischenschichtTeilweise Mixture of ExpertsMehr Kapazität bei gleichem Aufwand

Der Grundaufbau, ein Stapel identischer Blöcke aus Attention und Zwischenschicht mit Residuen, ist unverändert. Alle Änderungen sind Verbesserungen an Stabilität, Effizienz und Kontextlänge, nicht am Prinzip.

Gruppierte Abfragen

Statt je Kopf eigene Schlüssel und Werte zu berechnen, teilen sich mehrere Abfrageköpfe einen Schlüssel-Wert-Kopf.

KV-Cache mit gruppierten Abfragen

g = n_q / n_kv ⇒ KV-Cache um Faktor g kleiner

Der Cache schrumpft genau um den Faktor, mit dem sich mehrere Abfrageköpfe einen Schlüssel-Wert-Kopf teilen.

n_q
Anzahl der Abfrageköpfe
n_kv
Anzahl der Schlüssel-Wert-Köpfe
g
Gruppengröße

Bei 32 Abfrageköpfen und 8 Schlüssel-Wert-Köpfen ist g = 4, der Cache also ein Viertel so groß. Der gemessene Qualitätsverlust liegt im Bereich weniger Zehntel Perplexität, der Gewinn an möglicher Kontextlänge bei einem Faktor vier. Siehe Speicher und Bandbreite.

Passende Kurse und Quellen

StudieKostenlosEN

Attention Is All You Need

Die Arbeit von 2017, die den Transformer einführte. Alles, was heute Sprachmodell heißt, steht auf diesen acht Seiten.

Die acht Seiten, auf denen alles steht, was heute Sprachmodell heißt.

StudieKostenlosEN

BERT

Vortraining auf maskiertem Text, danach Feinabstimmung je Aufgabe. Das Muster, das die Sprachverarbeitung vor den großen Modellen geprägt hat.

Für das Verständnis dessen, was vor den großen Modellen die Sprachverarbeitung geprägt hat.

KursTeilweise kostenlos7200 Min.EN

Deep Learning Specialization

Fünf Kurse von den Grundlagen neuronaler Netze bis zu Sequenzmodellen. Ausführlich, mit Programmierübungen, und in Teilen älter als die aktuelle Praxis.

Für alle mit Programmierkenntnissen, die den Bereich vollständig durcharbeiten wollen.

DeepLearning.AIZum Angebot
KursKostenlos1500 Min.EN

Hugging Face NLP-Kurs

Tokenisierung, Transformer, Feinabstimmung und Bereitstellung, durchgehend mit Code. Setzt Python voraus, dafür arbeitet man am Ende mit echten Modellen.

Für Entwicklung mit Sprachmodellen, wenn es über das Aufrufen einer Schnittstelle hinausgehen soll.

Hugging FaceZum Angebot
BuchKostenlosEN

Understanding Deep Learning

Modernes Lehrbuch mit ungewöhnlich klaren Abbildungen, das Transformer und Diffusionsmodelle bereits vollständig behandelt. Frei als PDF.

Für den modernen Einstieg; behandelt Transformer und Diffusion bereits vollständig.

War diese Seite hilfreich?
Die Transformer-Architektur