Greedy Decoding

Wie ein Modell bei jedem Schritt den wahrscheinlichsten nächsten Token wählt und warum Einfachheit nicht jede Aufgabe löst

Die einfachste Decoding-Strategie für LLMs – wählt bei jedem Schritt das wahrscheinlichste Token. Schnell und deterministisch, aber oft nicht optimal.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Wählt bei jedem Schritt das Token mit höchster Wahrscheinlichkeit
  2. Deterministisch: Gleiche Eingabe → gleiche Ausgabe
  3. Schnell, aber findet oft nicht die beste Gesamtsequenz

Sofortantwort

Greedy Decoding einfach erklärt

Wählt immer das wahrscheinlichste nächste Token.

Kurz gesagt
Wählt bei jedem Schritt das Token mit höchster Wahrscheinlichkeit
Typischer Einsatz
Schnelle Prototypen, Deterministische Ausgaben, Einfache Aufgaben
Wichtig zu wissen
Schnell, aber findet oft nicht die beste Gesamtsequenz

Greedy Decoding im Überblick

Greedy Decoding ist die einfachste Strategie zur Textgenerierung: Bei jedem Schritt wird das Token mit der höchsten Wahrscheinlichkeit gewählt. Keine Zufälligkeit, keine Alternativen.

Der Algorithmus:

Schritt 1: P("Der"=0.3, "Ein"=0.25, "Die"=0.2, ...) → wähle "Der"
Schritt 2: P("beste"=0.4, "schnellste"=0.35, ...) → wähle "beste"
Schritt 3: P("Weg"=0.3, "Ansatz"=0.25, ...) → wähle "Weg"
...

Das Problem:

Greedy findet lokale Optima, nicht globale. Jede Entscheidung ist isoliert optimal, aber die Gesamtsequenz ist es oft nicht.

Technisch betrachtet

Implementierung

def greedy_decode(model, prompt, max_length=50):
    tokens = tokenize(prompt)
    
    for _ in range(max_length):
        # Wahrscheinlichkeiten für nächstes Token
        probs = model.get_next_token_probs(tokens)
        
        # Wähle das wahrscheinlichste
        next_token = argmax(probs)
        
        if next_token == EOS_TOKEN:
            break
            
        tokens.append(next_token)
    
    return detokenize(tokens)

Hugging Face Beispiel

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("gpt2")
tokenizer = AutoTokenizer.from_pretrained("gpt2")

# Greedy Decoding (do_sample=False ist default)
output = model.generate(
    input_ids,
    max_length=50,
    do_sample=False  # Greedy
)

Vergleich mit anderen Strategien

AspektGreedyBeam SearchSampling
Geschwindigkeit⚡ Schnell🐢 Langsam⚡ Schnell
QualitätVariabelHochVariabel
DiversitätKeineKeineHoch
Determinismus

Wann Greedy versagt

Prompt: "Die Hauptstadt von Frankreich ist"

Greedy könnte wählen:
"Die" → "Hauptstadt" → "von" → "Frankreich" → "ist" → "eine" → "Stadt"

Statt der korrekten Antwort "Paris", weil "eine" lokal wahrscheinlicher war.

Schritt für Schritt

Wie Greedy Decoding bewusst eingesetzt wird

  1. Aufgabe auf Determinismus prüfen

    Nutze Greedy Decoding dort, wo wiederholbare und einfache Ausgaben wichtiger sind als Vielfalt. Prüfe vorher, ob die Aufgabe durch eine einzige lokale Wahl zuverlässig zu einer sinnvollen vollständigen Antwort führt.

  2. Ausgabegrenzen festlegen

    Definiere Länge, Stoppsignale und Formatregeln, damit die Ausgabe nicht ausufert oder an einem unpassenden Punkt endet. Das Decoding-Verfahren arbeitet innerhalb dieser Systemgrenzen, ersetzt sie aber nicht.

  3. Typische Fehlmuster prüfen

    Teste Wiederholungen, vorschnelle Enden, fehlende Alternativen und Fälle mit mehreren gleich guten Lösungen. Ein deterministischer Pfad kann konsistent denselben Fehler wiederholen, wenn die Eingabe oder das Modell ihn nahelegt.

  4. Gegen passende Alternativen vergleichen

    Vergleiche Qualität, Tempo und Kosten mit Sampling oder Suchverfahren auf echten Fällen. Entscheidend ist nicht das theoretisch einfachste Verfahren, sondern die beste kontrollierbare Wirkung für die konkrete Aufgabe.

Konkretes Beispiel

Eine Klassifikation erhält eine klare Ausgabe

Ein System soll aus einer begrenzten Kategorieauswahl eine einheitliche Zuordnung erzeugen. Kreative Varianten würden die nachgelagerte Verarbeitung erschweren.

Offene Ausgabe

Ohne enge Instruktion und Formatprüfung liefert das Modell erklärenden Text oder uneinheitliche Kategorien. Die deterministische Tokenwahl allein macht die Antwort noch nicht zuverlässig verwertbar.

Kontrollierter Pfad

Greedy Decoding wird mit klaren Kategorien, strukturiertem Output und Validierung kombiniert. Das Team testet unklare Fälle und leitet sie bei Unsicherheit an eine sichere Alternative statt eine erfundene Kategorie auszugeben.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Liefert schnell und wiederholbar denselben Ausgabepfad für dieselbe Eingabe.
  • Reduziert Varianz und Rechenaufwand bei einfachen, eng definierten Aufgaben.
  • Eignet sich gut als nachvollziehbare Ausgangsbasis für Vergleiche mit komplexeren Verfahren.

Das solltest du beachten

  • Lokale wahrscheinlichste Entscheidungen können zu unvollständigen oder repetitiven Sequenzen führen.
  • Fehlende Vielfalt ist bei offenen, kreativen oder mehrdeutigen Aufgaben oft ein Nachteil.
  • Determinismus schützt nicht vor falschem Inhalt, unklarer Anweisung oder fehlerhaften Daten.
Vertiefung · für Fortgeschrittene

Ein direkter Pfad durch die Ausgabe

Wissenskarte

Nächster bester Token

Beam Search
Decoding-Algorithmus, der mehrere Kandidaten parallel verfolgt.
Top-p
Sampling-Methode, die die wahrscheinlichsten Tokens auswählt.
Temperatur
Ein Parameter, der die Kreativität der Textausgabe eines Modells beeinflusst.
Structured Output
LLMs geben Antworten in vordefinierten Formaten wie JSON aus.
LLM Evaluation
Systematische Bewertung von LLM-Qualität, Zuverlässigkeit und Sicherheit.
Greedy Decoding wählt Schritt für Schritt die wahrscheinlichste Fortsetzung und ist besonders dann sinnvoll, wenn Ausgaben klar begrenzt und mit geeigneten Prüfungen verbunden sind. Greedy Decoding gliedert sich in: Beam Search, Top-p, Temperatur, Structured Output, LLM Evaluation.

01Einsatzbereiche

Wann ist Greedy Decoding sinnvoll?

Geeignet für

  • Schnelle PrototypenEinfachste Methode zum Testen von Prompts
  • Deterministische AusgabenWenn exakt reproduzierbare Ergebnisse nötig sind
  • Einfache AufgabenKurze Antworten, Klassifikation, Extraktion

↑ Inhalt

02Werkzeuge

Womit Greedy Decoding umgesetzt wird

↑ Inhalt

Merksatz

Greedy Decoding ist wie ein Wanderer, der an jeder Kreuzung den steilsten Weg nach oben wählt

er erreicht schnell einen Gipfel, aber vielleicht nicht den höchsten.

  1. Wählt bei jedem Schritt das Token mit höchster Wahrscheinlichkeit
  2. Deterministisch: Gleiche Eingabe → gleiche Ausgabe
  3. Schnell, aber findet oft nicht die beste Gesamtsequenz

04Redaktion

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

05FAQ

Häufige Fragen zu Greedy Decoding

Warum ist Greedy Decoding nicht optimal?

Weil das lokal beste Token nicht zur global besten Sequenz führen muss. Beispiel: 'Der beste' (0.4×0.3=0.12) vs. 'Der schnellste' (0.35×0.5=0.175). Greedy wählt 'beste', obwohl 'schnellste' zur besseren Gesamtsequenz führt.

Wann sollte ich Greedy Decoding verwenden?

Für kurze, faktische Antworten, wenn Determinismus wichtig ist, oder als Baseline zum Vergleich. Für längere, kreative Texte sind Sampling-Methoden besser.

Ist Temperatur 0 dasselbe wie Greedy Decoding?

Praktisch ja. Temperatur 0 macht die Wahrscheinlichkeitsverteilung so spitz, dass fast immer das wahrscheinlichste Token gewählt wird. Technisch ist es aber immer noch Sampling.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Next-Token-Prediction

    Grundprinzip von LLMs: wiederholt das wahrscheinlichste nächste Token vorhersagen.

  • Technisch vertiefen

    Beam Search

    Decoding-Algorithmus, der mehrere Kandidaten parallel verfolgt.

↑ Inhalt