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
| Aspekt | Greedy | Beam Search | Sampling |
|---|---|---|---|
| Geschwindigkeit | ⚡ Schnell | 🐢 Langsam | ⚡ Schnell |
| Qualität | Variabel | Hoch | Variabel |
| Diversität | Keine | Keine | Hoch |
| 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
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.
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.
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.
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 FortgeschritteneEin direkter Pfad durch die Ausgabe
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.