Die Attention-Schaltkreise, die es LLMs ermöglichen, aus Prompt-Beispielen zu lernen – die technische Grundlage für In-Context Learning
Was sind Induction Heads?
Induction Heads sind spezialisierte Aufmerksamkeits-Schaltkreise (Attention Circuits) im Transformer,
die eine fundamentale Fähigkeit implementieren: Pattern Completion.
Sie sind die technische Grundlage für In-Context Learning (ICL) –
die bemerkenswerte Fähigkeit von LLMs, aus Beispielen in einem Prompt zu lernen,
ohne dass das Modell neu trainiert wird.
1.0×
Abb. 1 |Pattern Completion durch Induction Heads: Sequence [A][B]...[A][ ]. Das Modell erkannte ein Muster: Nach A kommt B. Also wird B vorhergesagt. Der Schieberegler steuert die Animationsgeschwindigkeit.
Das Pattern: [A][B]...[A] → [B]
Wenn ein Induction Head ein Token sieht, das es früher schon gesehen hat,
„erinnert" es sich, was danach kam – und sagt genau das voraus.
Das Induction Head Pattern
Position i erkennt: „Ich habe dieses Token schon mal gesehen!"
Nachschlag: „An Position j (früher) kam nach diesem Token [B]"
Vorhersage: „Also sollte hier auch [B] kommen"
Mathematisch: Wenn Token(i) = Token(j) → Vorhersage Token(i+1) = Token(j+1)
Pattern Matching
IH erkennen, wenn ein Token wiederholt wird und könnten die nächste Token in der Folge vorhersagen.
In-Context Learning
IH ermöglichen es Modellen, in Prompts neue Muster zu erkennen und anzuwenden – ohne Retraining.
Emergentes Phänomen
ICL wird nicht explizit trainiert. IH entstehen spontan während des Trainings als Nebenprodukt.
Der Mechanismus: Two-Layer Circuit
Induction Heads funktionieren nicht als einfele Aufmerksamkeits-Operation.
Sie benötigen eine Zwei-Schichten-Komposition:
Abb. 2 |Two-Layer Induction Head Circuit: Layer 1 kopiert Informationen vom vorherigen Token. Layer 2 nutzt dies um das Pattern zu vervollständigen.
Schicht 1: Previous-Token Head
Job: Information vom vorherigen Token (t-1) zum aktuellen Token (t) kopieren
Aufmerksamkeitsmuster: Jedes Token schaut auf das Token davor
Funktion: Stellt Kontext her – „was kam direkt davor"
Schicht 2: Induction Head
Job: Pattern completion – nutzt Information aus Layer 1
Aufmerksamkeitsmuster: Schaut auf Tokens mit ähnlichem Kontext (von Layer 1)
Funktion: „Wenn ich diesen Kontext schon mal gesehen habe, was folgte dann?"
Induction Heads entstehen nicht gradually während des Trainings.
Stattdessen gibt es einen dramatischen Phase Change – einen gut observierbaren Moment,
wo die Fähigkeit plötzlich auftaucht.
5.0B Tokens
Abb. 3 |Training-Loss Kurve mit Phase Change: Bei ca. 2.5-5 Milliarden Tokens tritt ein deutlicher „Bump" auf – das Zeichen für die Entstehung von Induction Heads. Der Schieberegler zeigt die Position im Trainings-Verlauf.
Der Bump in der Loss-Kurve
Phase Change Merkmal
Timing: 2,5 - 5 Milliarden Training-Tokens
Signal: Deutlicher „Bump" in der Loss-Kurve sichtbar
Natur: Nicht graduelle Veränderung, sondern diskreter Übergang
Interpretation:
- Modell erreicht kritische Komplexität
- Induction Heads "klicken" ein
- ICL-Fähigkeit entsteht plötzlich
- Loss verbessert sich danach sharply
Was passiert am Phase Change?
Vorher: Modell nutzt nur lokale Patterns. Keine Induction Heads. Kein ICL.
Phase Change: Induction Head Circuit formt sich. Loss „bumpt" kurzzeitig.
Nachher: Modell hat ICL. Kann aus Prompts lernen. Bessere Generalization.
Timing ist früh!
Beachte: 2.5-5B Tokens ist relativ früh im Training.
Große Modelle trainieren auf Trillionen von Tokens.
Das bedeutet: ICL ist eine fundamentale Fähigkeit, die sich schnell entwickelt.
In-Context Learning: Wie Induction Heads es ermöglichen
In-Context Learning ist die Fähigkeit von LLMs, neue Tasks aus wenigen Beispielen zu lernen,
ohne dass das Modell nachtrainiert wird. Induction Heads sind die Schaltkreise dahinter.
Beispiel: Few-Shot Pattern Learning
User: Übersetze English → German
Beispiel 1: "hello" → "hallo"
Beispiel 2: "goodbye" → "auf wiedersehen"
Neuer Input: "thank you" → ?
IH erkennt: [Englisch][Deutsch]...[Englisch] → [Deutsch]
Output: "danke"
Das Modell sah nie in seinem Trainings-Set dass es "thank you" übersetzen soll.
Aber die Induction Heads erkennen das Pattern in den Beispielen und generalisieren korrekt.
Induction Heads erkennen die Wiederholung: [Input] → [Output] Pattern
Wenn [Input C] hinzugefügt, IH weiß: Jetzt [Output C]
Modell generiert den passenden Output
Abb. 4 |In-Context Learning in Aktion: Prompt mit Examples, dann neuer Input. Induction Heads erkennen das [Example] → [Output] Pattern und generalisieren zur neuen Input.
ICL ist Emergent!
Emergente Eigenschaft
In-Context Learning wird nicht explizit trainiert.
Trainings-Prozess:
1. Modell auf Billionen Tokens trainiert (Standard LM Loss)
2. Modell sieht diverse Textbeispiele, Wiederholungen, Patterns
3. Als Nebeneffekt: Induction Heads entstehen
4. Nebeneffekt ermöglicht: Pattern Completion
5. Pattern Completion ermöglicht: ICL
Ergebnis: Modell kann ICL, obwohl dies nie Teil des Loss war!
Limitationen von Induction Heads
Die kritische Limitierung: Mindestens 2 Schichten nötig
Single-Layer Modelle
Können keine Induction Heads bilden. Eine einzelne Schicht reicht nicht aus für das Two-Layer Circuit. Folge: Kein signifikantes ICL möglich.
Implikation für Design
Minimum Netzwerk-Tiefe ist für ICL nötig. Flache Modelle haben fundamentale Limitation.
Architektur
Schichten
IH möglich?
ICL Qualität
Einsatz
Shallow Transformer
1 Layer
❌ Nein
Keine
NLP-Toys
Standard Transformer
2-4 Layers
✓ Ja (gering)
Schwach
Small Models
Modern LLM
20-80 Layers
✓ Ja (stark)
Stark
Production
Weitere Begrenzungen (erforscht aber nicht stark dokumentiert)
Context Length: IH können nur Patterns im KV-Cache erkennen. Außerhalb des Fensters blindspot.
Pattern Clarity: Wenn Pattern unklar ist, kann IH nicht generalisieren.
Modell Size: Größere Modelle haben stärkere IH. Kleine Modelle können schwache ICL haben.
Praktische Beispiele für Induction Heads
Beispiel 1: Code Completion
# Pattern im Prompt:
def add(a, b):
return a + b
def subtract(a, b):
return a - b
def multiply(a, b):
# IH erkennt: Funktion → Implementierung Pattern
# Output:
return a * b
Beispiel 2: Sprach-Übersetzung
English: The weather is nice.
German: Das Wetter ist schön.
English: I love programming.
German:
# Pattern: English → German
# IH vervollständigt: Ich liebe Programmieren.
Beispiel 3: Format-Verständnis
JSON Format Beispiele:
{"name": "Alice", "age": 30}
{"name": "Bob", "age": 25}
Neuer Input:
{"name": "Charlie", "age":
# Pattern: Name → Age Structure
# IH sagt: 35} (z.B.)
In all diesen Fällen hat das Modell nie explizit gelernt, Code zu generieren, oder Deutsch zu schreiben.
Es erkennt einfach das Pattern [X][Y]...[X] → [Y] und generalisiert.