Autoregressive Model

Sequenzen Schritt für Schritt aus ihrem bisherigen Kontext erzeugen

Ein Modelltyp, der Sequenzen Token für Token generiert – jedes neue Token basiert auf allen vorherigen. Ein Grundprinzip vieler moderner Sprachmodelle.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Generiert ein Token nach dem anderen, von links nach rechts
  2. Jedes Token ist bedingt durch alle vorherigen Tokens
  3. Grundprinzip vieler decoder-basierter Sprachmodelle

Sofortantwort

Autoregressive Model einfach erklärt

Generiert Sequenzen Token für Token, jedes basierend auf den vorherigen.

Kurz gesagt
Generiert ein Token nach dem anderen, von links nach rechts
Typischer Einsatz
Text-Generierung, Code-Generierung, Audio-Generierung
Wichtig zu wissen
Grundprinzip vieler decoder-basierter Sprachmodelle

Autoregressive Model im Überblick

Autoregressive Modelle generieren Sequenzen Schritt für Schritt. Bei Text bedeutet das: Ein Wort (Token) nach dem anderen, wobei jedes neue Token von allen vorherigen abhängt.

So funktioniert autoregressive Textgenerierung:

Input:  "Die Hauptstadt von Frankreich ist"

Schritt 1: P(nächstes Token | "Die Hauptstadt von Frankreich ist")
           → "Paris" (höchste Wahrscheinlichkeit)

Schritt 2: P(nächstes Token | "Die Hauptstadt von Frankreich ist Paris")
           → "." 

Schritt 3: P(nächstes Token | "Die Hauptstadt von Frankreich ist Paris.")
           → [EOS] (Ende)

Output: "Die Hauptstadt von Frankreich ist Paris."

Die Formel:

P(Sequenz) = P(x₁) × P(x₂|x₁) × P(x₃|x₁,x₂) × ... × P(xₙ|x₁,...,xₙ₋₁)

Jedes Token ist bedingt durch alle vorherigen.

Autoregressive vs. andere Ansätze:

AnsatzGenerierungBeispiele
AutoregressiveSequentiell, links→rechtsDecoder-basierte Sprachmodelle
Masked LMParallel, Lücken füllenEncoder-basierte Sprachmodelle
DiffusionParallel, EntrauschenViele moderne Bildgeneratoren
VAEParallel, aus LatentVariational Autoencoder

Technisch betrachtet

Mathematische Definition

P(x₁, x₂, ..., xₙ) = ∏ᵢ P(xᵢ | x₁, ..., xᵢ₋₁)

Das Modell lernt: P(xᵢ | x<ᵢ)
→ Wahrscheinlichkeit des nächsten Tokens gegeben alle vorherigen

Training (Next-Token Prediction)

def autoregressive_loss(model, sequence):
    """
    Cross-Entropy Loss für Next-Token Prediction
    """
    total_loss = 0
    
    for i in range(1, len(sequence)):
        # Input: alle Tokens bis i-1
        input_tokens = sequence[:i]
        
        # Target: Token an Position i
        target = sequence[i]
        
        # Vorhersage
        logits = model(input_tokens)
        predicted_probs = softmax(logits[-1])  # Letztes Token
        
        # Loss
        loss = -log(predicted_probs[target])
        total_loss += loss
    
    return total_loss / (len(sequence) - 1)

In der Praxis (parallelisiert):

# Causal Mask verhindert, dass Token zukünftige sehen
def causal_attention_mask(seq_len):
    mask = torch.triu(torch.ones(seq_len, seq_len), diagonal=1)
    return mask == 0  # True wo Attention erlaubt

# Training auf ganzer Sequenz parallel
logits = model(input_ids)  # [batch, seq_len, vocab_size]
loss = cross_entropy(logits[:, :-1], input_ids[:, 1:])

Inference (Generierung)

def generate(model, prompt, max_tokens=100, temperature=1.0):
    tokens = tokenize(prompt)
    
    for _ in range(max_tokens):
        # Forward Pass
        logits = model(tokens)
        next_token_logits = logits[-1] / temperature
        
        # Sampling
        probs = softmax(next_token_logits)
        next_token = sample(probs)  # oder argmax für greedy
        
        # Anhängen
        tokens.append(next_token)
        
        if next_token == EOS_TOKEN:
            break
    
    return detokenize(tokens)

Warum ist Inference langsam?

Prompt: vorhandener Kontext
Generierung: mehrere neue Tokens

= wiederholte Inferenzschritte
= Latenz wächst mit Länge, Modellgröße und Infrastruktur

Große Modelle und lange Ausgaben benötigen daher effiziente Inferenzoptimierung

Optimierungen:

TechnikBeschreibungWirkung
KV-CacheKey/Value nicht neu berechnenReduziert wiederholte Berechnung
Speculative DecodingKleineres Modell schlägt Tokens vorKann Latenz senken
BatchingMehrere Requests parallelBessere Auslastung
QuantisierungWeniger Bits pro GewichtWeniger Speicher und oft schnellere Inferenz

Sampling-Strategien

# Greedy (deterministisch)
next_token = argmax(logits)

# Temperature Sampling
probs = softmax(logits / temperature)
next_token = sample(probs)

# Top-K
top_k_logits = top_k(logits, k=50)
probs = softmax(top_k_logits)
next_token = sample(probs)

# Top-P (Nucleus)
sorted_probs = sort(softmax(logits))
cumsum = cumulative_sum(sorted_probs)
nucleus = sorted_probs[cumsum < p]
next_token = sample(nucleus)

Autoregressive für andere Modalitäten

Audio:

Sample₁ → Sample₂ → Sample₃ → ... → weitere Samples

Bilder:

Pixel₁ → Pixel₂ → ... → weitere Pixel oder Bildtokens

Video:

Frame₁ → Frame₂ → ... → weitere Frames oder Videotokens

Schritt für Schritt

Wie autoregressive Generierung abläuft

Das Modell erzeugt nicht die ganze Antwort auf einmal. Es berechnet wiederholt eine Verteilung für das nächste Token und erweitert damit den Kontext.

  1. Kontext tokenisieren

    Eingabe

    Anweisung, Quellen und bisheriger Text werden in Tokens übersetzt und vom Modell verarbeitet.

    Kontext → Tokens
  2. Nächstes Token bewerten

    Vorhersage

    Das Modell berechnet Wahrscheinlichkeiten für mögliche Fortsetzungen auf Basis der bisherigen Sequenz.

    P(nächstes Token | Kontext)
  3. Token auswählen

    Sampling

    Eine Decoding-Strategie wählt eine Fortsetzung, etwa besonders wahrscheinlich oder kontrolliert vielfältig.

    Verteilung → gewähltes Token
  4. Kontext erweitern

    Schleife

    Das gewählte Token wird Teil der Sequenz. Der Ablauf wiederholt sich bis zu einem Ende oder einem Stoppkriterium.

    Token → neuer Kontext → nächster Schritt

Konkretes Beispiel

Beispiel: Einen Satz vervollständigen

Ein Modell soll eine kurze, sachliche Antwort auf eine Nutzerfrage formulieren.

Ein Schritt

Der gesamte Satz würde gleichzeitig erzeugt. Änderungen am Anfang könnten spätere Teile nicht berücksichtigen.

Autoregressive Schleife

Das Modell wählt Token für Token. Jeder neue Bestandteil berücksichtigt den bisherigen Satz und den mitgegebenen Kontext.

Die schrittweise Generierung macht Text flexibel, erklärt aber auch, warum lange Antworten Latenz verursachen und frühe Fehler fortwirken können.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Passt natürlich zu Sprache und anderen geordneten Sequenzen.
  • Kann aus demselben Kontext unterschiedliche plausible Fortsetzungen erzeugen.
  • Unterstützt kontrollierbare Decoding-Strategien für Stil und Vielfalt.
  • Verbindet jedes neue Token direkt mit dem bisherigen Kontext.

Das solltest du beachten

  • Die Generierung ist wegen ihrer Abhängigkeiten grundsätzlich sequenziell.
  • Frühe unpassende Tokens können spätere Fortsetzungen beeinflussen.
  • Lange Ausgaben erhöhen Latenz und Rechenaufwand.
  • Eine hohe Tokenwahrscheinlichkeit ist kein Beweis für Wahrheit.
Vertiefung · für Fortgeschrittene

Die Schleife der Token-Generierung

Der Kontext wächst mit jedem Schritt und wird für die nächste Vorhersage erneut genutzt.

Wissenskarte

Nächstes Token wählen

Die Decoding-Regeln beeinflussen, welche der möglichen Fortsetzungen zum sichtbaren Text werden. Autoregressives Modell gliedert sich in: Prompt, Tokenizer, Transformer, Logits, Decoding, Neuer Kontext.

01Einsatzbereiche

Wann ist Autoregressive Model sinnvoll?

Geeignet für

  • Text-GenerierungViele decoder-basierte LLMs generieren Text autoregressiv
  • Code-GenerierungCoding-Assistenten generieren Code schrittweise Token für Token
  • Audio-GenerierungAudio-Modelle können Audiosignale schrittweise generieren
  • BildgenerierungBildmodelle können Pixel, Patches oder Bildtokens schrittweise generieren

↑ Inhalt

Merksatz

Ein autoregressive Modell ist wie ein Autor, der Wort für Wort schreibt

Jedes neue Wort hängt davon ab, was er bisher geschrieben hat. Er kann nicht zurückgehen und frühere Wörter ändern – nur vorwärts schreiben.

  1. Generiert ein Token nach dem anderen, von links nach rechts
  2. Jedes Token ist bedingt durch alle vorherigen Tokens
  3. Grundprinzip vieler decoder-basierter Sprachmodelle

03Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

04FAQ

Häufige Fragen zu Autoregressive Model

Was ist der Unterschied zu Diffusionsmodellen?

Autoregressive: Sequentiell, Token für Token. Diffusion: Parallel, ganzes Bild auf einmal durch Entrauschen. Autoregressive ist natürlicher für Text, Diffusion besser für Bilder.

Warum ist autoregressive Generierung langsam?

Jedes neue Token hängt von den vorherigen Tokens ab und benötigt Berechnungsschritte während der Inferenz. Deshalb sind Optimierungen wie KV-Cache, Batching und Speculative Decoding wichtig.

Kann ein autoregressive Modell Fehler korrigieren?

Nicht direkt. Was generiert ist, ist generiert. Aber: Modelle können 'Ich korrigiere:' schreiben oder durch Sampling verschiedene Pfade explorieren.

Sind alle Sprachmodelle autoregressiv?

Nein. Decoder-basierte Generierungsmodelle arbeiten häufig autoregressiv. Encoder-Modelle wie BERT sind bidirektional und eher für Verständnisaufgaben gedacht.

↑ Inhalt

05Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Large Language Model

    Ein KI-Modell, das menschenähnliche Sprache generiert und versteht.

  • Technisch vertiefen

    Transformer

    Neuronale Netzwerk-Architektur, die moderne Sprachmodelle unterstützt.

↑ Inhalt