Fachartikel

Funktionsweise von Sprachmodellen

Detaillierte technische Erklärung moderner Sprachmodelle - von Tokenisierung über Attention-Mechanismen bis zur Textgenerierung. Eine Schritt-für-Schritt-Analyse was passiert, wenn eine Anfrage verarbeitet wird

Moderne Sprachmodelle wie GPT oder Claude erscheinen von außen fast magisch: Ein Nutzer stellt eine Frage, und wenige Sekunden später erscheint eine kohärente, kontextuell passende Antwort. Doch hinter dieser scheinbaren Einfachheit verbirgt sich eine komplexe Maschinerie aus mathematischen Operationen, Matrixmultiplikationen und statistischen Berechnungen. Das Verständnis dieser technischen Details ist entscheidend, um sowohl die Möglichkeiten als auch die Grenzen aktueller Sprachmodelle zu begreifen.

Was passiert bei einer ChatGPT-Anfrage?

Wenn ein Nutzer "Was ist die Hauptstadt von Frankreich?" eingibt, durchläuft diese scheinbar simple Frage einen mehrstufigen Verarbeitungsprozess. Der Text wird zunächst in numerische Tokens zerlegt, durch ein neuronales Netzwerk mit Millionen von Parametern geschickt, wobei jeder Token mit jedem anderen Token über Attention-Mechanismen interagiert, um schließlich ein neues Token zu generieren, das den Beginn der Antwort bildet. Dieser Prozess wiederholt sich iterativ für jedes weitere Wort der Antwort, wobei das gesamte System auf dem Prinzip der Next-Word-Prediction basiert.

Die Komplexität dieses Prozesses wird erst bei genauerer Betrachtung der einzelnen Komponenten deutlich: Tokenisierung transformiert unstrukturierten Text in mathematisch verarbeitbare Einheiten, Embeddings übersetzen diskrete Symbole in kontinuierliche Vektorräume, Attention-Mechanismen modellieren komplexe Beziehungen zwischen allen Elementen der Eingabe, und Sampling-Algorithmen wandeln statistische Wahrscheinlichkeitsverteilungen in konkrete Textausgaben um.

Grundaufbau: Feed-Forward Neuronale Netze als Foundation

Moderne Sprachmodelle basieren auf Feed-Forward Neuronalen Netzen, deren Grundprinzipien das Fundament für alle weiteren Komponenten bilden. Ein einzelnes künstliches Neuron führt zwei grundlegende Operationen durch: eine gewichtete Summation der Eingaben und eine nichtlineare Transformation durch eine Aktivierungsfunktion.

y = f(∑(wᵢ * xᵢ) + b)
wobei:
wᵢ = Gewichte für Eingabe i
xᵢ = Eingabewerte
b = Bias-Term
f = Aktivierungsfunktion (z.B. ReLU, GELU)

Die Gewichte bestimmen die Stärke der Verbindungen zwischen Neuronen und werden während des Trainings angepasst, um optimale Repräsentationen zu erlernen. Der Bias-Term ermöglicht es dem Neuron, auch bei null Eingaben zu aktivieren, wodurch die Flexibilität des Modells erhöht wird. Aktivierungsfunktionen wie ReLU (Rectified Linear Unit) oder GELU (Gaussian Error Linear Unit) führen Nichtlinearität ein, ohne die das gesamte Netzwerk nur lineare Transformationen durchführen könnte.

Schichten von Neuronen werden hierarchisch angeordnet, wobei jede Schicht komplexere Abstraktionen der vorherigen Ebene lernt. In Sprachmodellen verwandeln frühe Schichten Token-Embeddings in syntaktische Repräsentationen, mittlere Schichten extrahieren semantische Beziehungen, und späte Schichten modellieren komplexe diskursive und pragmatische Strukturen. Diese hierarchische Verarbeitung ermöglicht es dem Modell, von einfachen Wortassoziationen zu komplexen sprachlichen Verständnisleistungen aufzusteigen.

Von Text zu Zahlen: Der Tokenisierung-Prozess

Bevor ein Sprachmodell Text verarbeiten kann, muss dieser in numerische Repräsentationen umgewandelt werden. Tokenisierung zerlegt kontinuierlichen Text in diskrete Einheiten, die das Modell verarbeiten kann. Moderne Systeme verwenden Sub-Word-Tokenisierung, um das Vokabularproblem eleganter zu lösen als einfache Wort-basierte Ansätze.

Byte-Pair Encoding (BPE) stellt den Standard für die meisten aktuellen Sprachmodelle dar. Der Algorithmus beginnt mit einem zeichenbasierten Vokabular und fusioniert iterativ die häufigsten Zeichenpaare, bis eine gewünschte Vokabulargröße erreicht ist. Ein praktisches Beispiel verdeutlicht den Prozess:

Eingabe: "unerwarteterweise"
BPE-Zerlegung: ["un", "erwar", "tet", "er", "weise"]
Häufige Sub-Words:
"un-" (Präfix): ungern, ungewöhnlich, unbekannt
"weise" (Suffix): teilweise, schrittweise, normalerweise

Diese Sub-Word-Repräsentation bietet mehrere Vorteile: Out-of-Vocabulary-Robustheit ermöglicht die Verarbeitung neuer Wörter durch bekannte Komponenten, Mehrsprachigkeit wird durch gemeinsame Sub-Words zwischen Sprachen gefördert, und Effizienz balanciert Vokabulargröße gegen Sequenzlänge. Special Tokens wie [CLS] (Classification), [SEP] (Separator), [PAD] (Padding) und [MASK] strukturieren die Eingabe für verschiedene Aufgaben.

Die resultierende Token-Sequenz wird durch eindeutige numerische IDs repräsentiert, die als Indizes in die Embedding-Matrix dienen. Ein typisches Sprachmodell verwendet Vokabulargrößen zwischen 32.000 und 100.000 Tokens, wodurch ein Kompromiss zwischen expressiver Mächtigkeit und Effizienz erreicht wird.

Embeddings: Von Tokens zu Vektoren

Token-Embeddings bilden diskrete Token-IDs auf kontinuierliche Vektoren in einem hochdimensionalen Raum ab. Diese Transformation ist fundamental, da neuronale Netze mit kontinuierlichen numerischen Werten operieren, nicht mit symbolischen Repräsentationen.

Embedding-Matrix E: |V| × d_model
Token-ID → Embedding-Vektor
1247 → [0.23, -0.15, 0.87, ..., -0.42]  (768 Dimensionen)

Die Embedding-Dimensionalität (typisch 512-4096) bestimmt die Ausdruckskraft der Repräsentationen: Höhere Dimensionen können komplexere semantische Beziehungen kodieren, erfordern jedoch mehr Parameter und Rechenzeit. Diese gelernten Repräsentationen entwickeln während des Trainings semantische Struktur: Ähnliche Wörter erhalten ähnliche Vektoren, wodurch das Modell Analogien und Beziehungen erfassen kann.

Positional Encoding adressiert ein fundamentales Problem der Transformer-Architektur: Da alle Positionen parallel verarbeitet werden, muss Positionsinformation explizit hinzugefügt werden. Sinusoidale Positional Encodings nutzen trigonometrische Funktionen verschiedener Frequenzen:

PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))

Diese Formeln erzeugen für jede Position ein einzigartiges Muster, das dem Modell ermöglicht, relative und absolute Positionen zu unterscheiden. Die verschiedenen Frequenzen stellen sicher, dass das Modell sowohl lokale Nachbarschaft als auch langreichweitige Positionsbeziehungen erfassen kann.

Der Attention-Mechanismus: Herzstück der Transformer

Self-Attention revolutionierte die Sprachverarbeitung durch die Möglichkeit, direkte Beziehungen zwischen beliebigen Positionen einer Sequenz zu modellieren. Der Mechanismus basiert auf drei Komponenten: Query (Q), Key (K) und Value (V) Matrizen, die aus den Eingabe-Embeddings durch gelernte lineare Projektionen entstehen.

Attention(Q,K,V) = softmax(QK^T / √d_k) V
wobei:
Q = X W_Q  (Was suche ich?)
K = X W_K  (Womit vergleiche ich?)  
V = X W_V  (Was übernehme ich?)
d_k = Schlüssel-Dimensionalität (Skalierungsfaktor)

Der Attention-Score zwischen zwei Positionen wird durch das Skalarprodukt ihrer Query- und Key-Vektoren berechnet. Diese Scores werden durch die Quadratwurzel der Key-Dimension normalisiert, um Gradientenprobleme bei großen Dimensionen zu vermeiden. Softmax-Normalisierung wandelt die rohen Scores in Wahrscheinlichkeitsgewichte um, die sich zu 1 summieren.

Ein praktisches Beispiel illustriert den Prozess: Im Satz "Der große Hund bellte laut" berechnet das Attention-System für das Wort "bellte" hohe Scores zu "Hund" (grammatisches Subjekt) und niedrigere zu "große" oder "laut". Diese gewichtete Aufmerksamkeit ermöglicht es dem Modell, syntaktische und semantische Beziehungen zu erfassen, unabhängig von der Distanz zwischen den Wörtern.

Multi-Head Attention erweitert diesen Mechanismus durch parallele Attention-Köpfe, die verschiedene Arten von Beziehungen spezialisiert erfassen können. Ein Kopf konzentriert sich möglicherweise auf syntaktische Abhängigkeiten, ein anderer auf semantische Ähnlichkeiten, ein dritter auf diskursive Strukturen. Die Ausgaben aller Köpfe werden konkateniert und durch eine weitere lineare Transformation kombiniert, wodurch das Modell multiple Perspektiven gleichzeitig nutzen kann.

Token-Sampling: Von Wahrscheinlichkeiten zu Text

Die finale Schicht eines Sprachmodells produziert eine Wahrscheinlichkeitsverteilung über das gesamte Vokabular für das nächste Token. Diese Logits genannten rohen Ausgabewerte werden durch Softmax in Wahrscheinlichkeiten transformiert:

P(token_i) = exp(logit_i) / ∑_j exp(logit_j)

Temperature-Scaling kontrolliert die "Zufälligkeit" der Generierung durch Modifikation der Logits vor der Softmax-Anwendung. Niedrige Temperature (< 1.0) verstärkt wahrscheinliche Tokens und macht die Ausgabe deterministischer, während hohe Temperature (> 1.0) die Verteilung abflacht und kreativere, aber weniger vorhersagbare Ausgaben erzeugt.

Top-k Sampling beschränkt die Auswahl auf die k wahrscheinlichsten Tokens und ignoriert den Rest der Verteilung. Top-p (Nucleus) Sampling wählt dynamisch die kleinste Menge von Tokens aus, deren kumulierte Wahrscheinlichkeit p überschreitet. Diese Methode passt die Auswahlmenge an die Konfidenz des Modells an: Bei sicheren Vorhersagen werden wenige Top-Kandidaten betrachtet, bei unsicheren Situationen erweitert sich die Auswahl.

Repetition Penalty verhindert monotone Wiederholungen durch Bestrafung kürzlich verwendeter Tokens, während Length Penalty die Länge der generierten Sequenzen beeinflusst. Diese Mechanismen balancieren Kohärenz gegen Diversität und ermöglichen fein abgestimmte Kontrolle über den Generierungsprozess.

Trainingsphasen: Vom rohen Text zum nutzbaren Modell

Moderne Sprachmodelle durchlaufen mehrere Trainingsphasen, die jeweils verschiedene Aspekte der Sprachkompetenz entwickeln. Pre-Training bildet das Fundament durch unsupervised Learning auf enormen Textkorpora. Das Modell lernt Next-Word-Prediction auf Milliarden von Textbeispielen aus dem Internet, wodurch es grundlegende Sprachmuster, faktisches Wissen und reasoning-ähnliche Strukturen internalisiert.

Die Loss-Funktion für Pre-Training ist Cross-Entropy zwischen vorhergesagten und tatsächlichen nächsten Tokens:

L = -1/N ∑_{i=1}^N log P(y_i | x_{i})
wobei:
y_i = tatsächliches Token an Position i  
P(y_i | x_{i}) = vorhergesagte Wahrscheinlichkeit
N = Sequenzlänge

Fine-Tuning passt das vortrainierte Modell an spezifische Aufgaben oder Domänen an. Kleinere, kuratierte Datensätze werden verwendet, um das Modell für Klassifikation, Question-Answering oder andere spezialisierte Anwendungen zu optimieren. Die bereits gelernten Sprachrepräsentationen werden dabei verfeinert, nicht grundlegend verändert.

Instruction Tuning lehrt das Modell, menschliche Anweisungen zu verstehen und zu befolgen, anstatt nur Texte zu vervollständigen. Supervised Fine-Tuning auf Beispieldialogen transformiert das Modell von einem Textvervollständiger zu einem interaktiven Assistenten.

Reinforcement Learning from Human Feedback (RLHF) stellt die Spitze des Trainings dar. Menschen bewerten Modell-Ausgaben, wodurch ein Reward Model entsteht, das menschliche Präferenzen approximiert. Das Sprachmodell wird dann durch Policy Optimization trainiert, Antworten zu generieren, die hohe Belohnungen vom Reward Model erhalten. Diese Ausrichtung auf menschliche Werte macht aus technisch kompetenten, aber schwer nutzbaren Modellen praktische Assistenten.

Forward-Pass: Schritt-für-Schritt durch das Netzwerk

Ein konkretes Beispiel verdeutlicht den Forward-Pass durch ein Transformer-Modell. Betrachten wir die Eingabe "Was ist die Hauptstadt":

Tokenisierung zerlegt den Text in Sub-Word-Units: ["Was", "ist", "die", "Haupt", "stadt"]. Diese werden in Token-IDs umgewandelt: [1247, 623, 892, 2156, 7834].

Embedding-Lookup konvertiert jede ID in einen 768-dimensionalen Vektor. Das Token "Was" (ID: 1247) wird zum Embedding-Vektor [0.23, -0.15, 0.87, ..., -0.42]. Positional Encoding wird elementweise addiert, um Positionsinformation zu integrieren.

Transformer-Blocks verarbeiten diese Embeddings sequenziell. Jeder Block enthält Multi-Head Attention gefolgt von einem Feed-Forward Network. Layer Normalization stabilisiert das Training, während Residual Connections Gradientenfluss in tiefen Netzwerken ermöglichen.

Im Attention-Schritt berechnet jedes Token Attention-Weights zu allen anderen Tokens. Das Token "stadt" entwickelt hohe Aufmerksamkeit zu "Haupt" (zusammengesetztes Wort) und moderate Aufmerksamkeit zu "Was" (Fragekontext).

Feed-Forward Networks in jedem Block erweitern die Dimensionalität temporär (typisch 4x), wenden nichtlineare Transformationen an und reduzieren zurück zur ursprünglichen Größe. Diese Expansion ermöglicht komplexere Berechnungen und Merkmalskombinationen.

Output-Projektion transformiert die finalen Hidden States in Logits über das gesamte Vokabular. Für Position 5 (nach "stadt") werden Wahrscheinlichkeiten für alle ~50.000 Tokens berechnet. "von" erhält möglicherweise die höchste Wahrscheinlichkeit (0.34), gefolgt von "Frankreichs" (0.28) und anderen plausiblen Fortsetzungen.

Gradient Descent: Wie Modelle lernen

Backpropagation ermöglicht es neuronalen Netzwerken zu lernen, indem Fehler rückwärts durch das Netzwerk propagiert werden. Die Chain Rule der Differentialrechnung dekomponiert komplexe Gradienten in handhabbare Komponenten:

∂L/∂w_i = ∂L/∂y × ∂y/∂w_i
wobei:
L = Loss-Funktion
w_i = Gewicht in Schicht i
y = Ausgabe der Schicht

Adam Optimizer kombiniert Momentum mit adaptiven Lernraten für jedes Parameter. Momentum akkumuliert vergangene Gradienten, um Oszillationen zu dämpfen und Konvergenz zu beschleunigen, während adaptive Lernraten häufig aktualisierte Parameter weniger stark anpassen als seltene.

Learning Rate Scheduling variiert die Lernrate während des Trainings. Warmup beginnt mit niedriger Lernrate und steigt linear an, um instabile große Gradienten zu Trainingsbeginn zu vermeiden. Cosine Decay reduziert die Lernrate entsprechend einer Cosinus-Funktion, wodurch das Modell gegen Ende des Trainings feinere Anpassungen lernt.

Gradient Clipping verhindert explodierende Gradienten durch Begrenzung der Gradientennorm. Wenn die Norm einen Schwellwert überschreitet, werden alle Gradienten proportional reduziert, um Trainingsstabilität zu gewährleisten.

Encoder vs. Decoder Architekturen

Encoder-Architekturen (BERT-Familie) nutzen bidirektionale Attention, um auf vollständigen Kontext zuzugreifen. Masked Language Modeling verdeckt zufällige Tokens und fordert das Modell auf, diese aus dem umgebenden Kontext zu rekonstruieren. Diese Architektur eignet sich hervorragend für Verstehens-Aufgaben wie Textklassifikation oder Named Entity Recognition.

Decoder-Architekturen (GPT-Familie) verwenden causale Maskierung, die verhindert, dass Tokens auf zukünftige Positionen zugreifen. Diese autoregressive Eigenschaft ermöglicht die iterative Textgenerierung, schränkt jedoch das Kontextverständnis ein, da nur vorherige Tokens sichtbar sind.

Encoder-Decoder-Architekturen (T5, BART) kombinieren beide Ansätze: Der Encoder verarbeitet die Eingabe bidirektional, während der Decoder die Ausgabe autoregressive generiert. Cross-Attention verbindet beide Komponenten, wodurch der Decoder auf die vollständige Encoder-Repräsentation zugreifen kann.

Die Maskierung implementiert diese Unterschiede technisch: Encoder verwenden keine Maskierung (alle Positionen sehen alle anderen), Decoder nutzen untere Dreiecksmasken (Position i sieht nur Positionen 1 bis i), und Cross-Attention im Encoder-Decoder erlaubt vollständige Sichtbarkeit zwischen Komponenten.

Mixture of Experts: Effiziente Skalierung

Mixture of Experts (MoE) ermöglicht drastische Parameterskalierung bei konstantem Rechenaufwand pro Token. Statt alle Parameter für jeden Input zu aktivieren, wählt ein Router für jeden Token die relevantesten Experts aus einer größeren Menge aus.

y = ∑_{i ∈ Top-k} G(x)_i × E_i(x)
wobei:
G(x) = Router-Ausgabe (Gating-Funktion)
E_i(x) = Expert i angewendet auf Input x
Top-k = k aktivste Experts

Expert-Spezialisierung entwickelt sich während des Trainings: Ein Expert lernt möglicherweise mathematische Operationen, ein anderer Sprachübersetzung, ein dritter kreatives Schreiben. Diese bedingte Berechnung reduziert Rechenkosten erheblich, während die Gesamtkapazität des Modells dramatisch steigt.

Load Balancing verhindert, dass einzelne Experts überlastet werden, während andere ungenutzt bleiben. Auxiliary Losses ermutigen gleichmäßige Expert-Nutzung und verhindern Kollaps auf wenige bevorzugte Experts.

Kontextfenster und Memory-Optimierung

Die quadratische Komplexität der Attention stellt bei langen Sequenzen eine erhebliche Herausforderung dar. KV-Cache optimiert die autoregressive Generierung durch Speicherung vorheriger Key- und Value-Berechnungen, wodurch redundante Berechnungen vermieden werden.

Flash Attention reorganisiert Attention-Berechnungen, um GPU-Memory-Hierarchien optimal zu nutzen. Anstatt große Attention-Matrizen im hochbandbreitigen aber kleinen GPU-Memory zu speichern, werden Berechnungen in kleineren Blöcken durchgeführt, die in den schnelleren On-Chip-Speicher passen.

Sliding Window Attention beschränkt Attention auf lokale Nachbarschaften, wodurch lineare statt quadratische Komplexität erreicht wird. Sparse Attention verwendet vordefinierten Muster, um nur relevante Positionspaare zu berechnen, während Linear Attention approximiert die vollständige Attention durch niedrigrangige Projektionen.

Praktisches Beispiel: ChatGPT-Anfrage im Detail

Betrachten wir den vollständigen Prozess für die Eingabe "Was ist die Hauptstadt von Frankreich?":

Input-Verarbeitung: Der Text wird tokenisiert zu ["Was", "ist", "die", "Haupt", "stadt", "von", "Frank", "reich", "?"]. Embeddings konvertieren diese zu 768-dimensionalen Vektoren, Positional Encoding wird addiert.

Transformer-Durchlauf: 24 Transformer-Blocks verarbeiten die Sequenz. Im ersten Block lernt "Hauptstadt" eine Assoziation zu "Stadt" + "Haupt". Mittlere Blocks identifizieren "Frankreich" als geographische Entität und "Was ist" als Fragemuster. Späte Blocks kombinieren diese Informationen zur Erwartung einer Antwort über französische Geographie.

Output-Generierung: Die finale Schicht produziert Wahrscheinlichkeiten für das nächste Token. "Die" erhält die höchste Wahrscheinlichkeit (0.45), da es ein typischer Artikel für eine definitive Antwort ist. Temperature von 0.7 und Top-p von 0.9 moderieren die Auswahl.

Iterative Fortsetzung: Das Modell generiert sequenziell: "Die" → "Hauptstadt" → "von" → "Frankreich" → "ist" → "Paris" → "." Jeder Schritt nutzt den gesamten vorherigen Kontext, wobei Attention relevante Beziehungen identifiziert: "ist" bezieht sich zurück auf "Was", "Paris" antwortet auf die implizite Frage.

Qualitätskontrolle: Repetition Penalty verhindert redundante Wiederholungen, während Length Penalty eine angemessene Antwortlänge fördert. Das Modell stoppt bei natürlichen Endpunkten oder expliziten Stop-Tokens.

Fazit: Emergenz aus Einfachheit

Die scheinbare Magie moderner Sprachmodelle entsteht aus dem Zusammenspiel relativ einfacher Komponenten, die durch massive Skalierung und raffinierte Optimierung zu komplexem Verhalten emergieren. Tokenisierung reduziert die unendliche Vielfalt natürlicher Sprache auf handhabbare diskrete Einheiten. Embeddings übersetzen symbolische Repräsentationen in geometrische Strukturen, wo semantische Ähnlichkeiten als räumliche Nähe kodiert sind. Attention ermöglicht flexible, kontextsensitive Beziehungsmodellierung zwischen beliebigen Elementen. Multi-Layer-Verarbeitung baut hierarchische Abstraktionen auf, von syntaktischen Mustern zu semantischen Konzepten zu pragmatischen Strukturen.

Die iterative Natur der Textgenerierung, kombiniert mit stochastischem Sampling, erzeugt die charakteristische Flüssigkeit und Kreativität, die menschliche Sprache auszeichnet. Training-Phasen von unsupervised Pre-Training bis RLHF formen rohe statistische Assoziationen zu nutzbaren, sicherheitsorientierten Assistenten.

Doch diese technische Komplexität offenbart auch die Grenzen aktueller Ansätze: Die fundamentale Abhängigkeit von statistischen Mustern, die Unfähigkeit zu echtem Lernen nach dem Training, und die mangelnde Grounding in physischer Realität prägen die nächste Generation von Herausforderungen, die im folgenden Artikel dieser Serie detailliert betrachtet werden.

Geschichte der Sprachmodellierung - Herausforderungen und Durchbrüche