<EbeneX/>
LLM Architektur · Updated 3. März 2026

Beam Search

Definition

Ein Decoding-Algorithmus für LLMs, der mehrere Kandidaten-Sequenzen parallel verfolgt und die wahrscheinlichste Gesamtsequenz auswählt – besser als Greedy, aber rechenintensiver.

Experte 2 Min. Lesezeit EN: Beam Search

Einfach erklärt

Beam Search ist ein Decoding-Algorithmus, der mehrere mögliche Fortsetzungen parallel verfolgt. Statt bei jedem Schritt nur das wahrscheinlichste Token zu wählen (Greedy), behält er die k besten Kandidaten.

Warum ist das besser als Greedy?

Greedy: "Der" → "beste" (0.4) → "Weg" (0.3) → ...
        Gesamtwahrscheinlichkeit: 0.4 × 0.3 = 0.12

Beam Search (k=2):
Kandidat 1: "Der" → "beste" (0.4) → "Weg" (0.3) = 0.12
Kandidat 2: "Der" → "schnellste" (0.35) → "Pfad" (0.5) = 0.175 ✓

-> Beam Search findet die bessere Gesamtsequenz

Der Trade-off:

Beam Search ist rechenintensiver (k-mal mehr Berechnungen), findet aber oft bessere Sequenzen.

Technischer Deep Dive

Algorithmus

def beam_search(model, prompt, beam_width=5, max_length=50):
    # Starte mit einem Kandidaten
    beams = [(prompt, 0.0)]  # (Sequenz, Log-Wahrscheinlichkeit)
    
    for _ in range(max_length):
        all_candidates = []
        
        for seq, score in beams:
            # Nächste Token-Wahrscheinlichkeiten
            probs = model.get_next_token_probs(seq)
            
            # Top-k Erweiterungen
            for token, prob in top_k(probs, beam_width):
                new_seq = seq + token
                new_score = score + log(prob)
                all_candidates.append((new_seq, new_score))
        
        # Behalte nur die besten k Kandidaten
        beams = sorted(all_candidates, key=lambda x: x[1], reverse=True)[:beam_width]
    
    return beams[0][0]  # Beste Sequenz

Vergleich Decoding-Strategien

StrategieDeterministischQualitätDiversitätGeschwindigkeit
GreedyNiedrigKeineSchnell
Beam SearchHochKeineMittel
SamplingVariabelHochSchnell
Top-p/Top-kGutMittelSchnell
  • Repetition: Neigt zu sich wiederholenden Phrasen
  • Generische Ausgaben: “Sichere” aber langweilige Texte
  • Length Bias: Bevorzugt kürzere Sequenzen (höhere Gesamtwahrscheinlichkeit)

Lösungen: Length Normalization, Repetition Penalty, Diverse Beam Search

Beam Search ist wie ein Schachspieler, der mehrere Züge vorausdenkt: Statt nur den besten nächsten Zug zu wählen, behält er die besten 3-5 Zugfolgen im Kopf und entscheidet erst am Ende, welche Strategie gewinnt.

Verfolgt k beste Kandidaten parallel (Beam Width)

Findet oft bessere Gesamtsequenzen als Greedy Decoding

Deterministisch – gleiche Eingabe ergibt gleiche Ausgabe

Maschinelle Übersetzung

Beste Übersetzung aus mehreren Kandidaten wählen

Zusammenfassungen

Kohärente, flüssige Zusammenfassungen generieren

Code-Generierung

Syntaktisch korrekte Code-Sequenzen finden

Wann sollte ich Beam Search statt Sampling verwenden?

Beam Search für deterministische, 'beste' Ausgaben (Übersetzung, Zusammenfassung). Sampling für kreative, diverse Ausgaben (Geschichten, Brainstorming). Für Chat-Anwendungen ist Sampling meist besser.

Was ist eine gute Beam Width?

Typisch 4-10. Größere Beams finden theoretisch bessere Sequenzen, aber mit abnehmenden Erträgen und höheren Kosten. Für die meisten Anwendungen reicht 5.

Warum wird Beam Search bei ChatGPT nicht verwendet?

Chat-Anwendungen nutzen meist Sampling (mit Temperatur/Top-p) für natürlichere, variablere Antworten. Beam Search produziert oft repetitive oder 'langweilige' Texte.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.