Beam Search

Wie ein Modell mehrere mögliche Fortsetzungen abwägt, statt immer nur den nächsten wahrscheinlichsten Token zu wählen

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

Experte2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Verfolgt k beste Kandidaten parallel (Beam Width)
  2. Findet oft bessere Gesamtsequenzen als Greedy Decoding
  3. Deterministisch – gleiche Eingabe ergibt gleiche Ausgabe

Sofortantwort

Beam Search einfach erklärt

Decoding-Algorithmus, der mehrere Kandidaten parallel verfolgt.

Kurz gesagt
Verfolgt k beste Kandidaten parallel (Beam Width)
Typischer Einsatz
Maschinelle Übersetzung, Zusammenfassungen, Code-Generierung
Wichtig zu wissen
Deterministisch – gleiche Eingabe ergibt gleiche Ausgabe

Beam Search im Überblick

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.

Technisch betrachtet

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

Schritt für Schritt

Wie Beam Search die Ausgabeplanung verändert

  1. Aufgabe und Qualitätsziel bestimmen

    Kläre, ob die Aufgabe eine präzise, regelgebundene oder eine offene kreative Ausgabe braucht. Beam Search eignet sich vor allem dort, wo mehrere wahrscheinliche Fortsetzungen gegeneinander abgewogen werden sollen.

  2. Breite und Bewertungsregel wählen

    Lege fest, wie viele Kandidaten gleichzeitig verfolgt und wie Länge oder Endmarkierungen bewertet werden. Mehr Kandidaten können Qualität erhöhen, vergrößern aber Rechenaufwand und begünstigen nicht automatisch hilfreiche Antworten.

  3. Kandidaten gegen reale Kriterien prüfen

    Bewerte Ausgaben nicht nur nach Modellwahrscheinlichkeit, sondern auch nach Faktenbezug, Format, Verständlichkeit und Sicherheitsgrenzen. Wahrscheinlicher Text ist nicht automatisch die richtige Antwort für die Aufgabe.

  4. Einsatz und Kosten beobachten

    Vergleiche Beam Search mit einfacheren Verfahren auf repräsentativen Fällen. Wenn die zusätzliche Suche keinen erkennbaren Nutzen bringt, kann ein schlankeres Decoding besser für Latenz und Betrieb sein.

Konkretes Beispiel

Mehrere Zusammenfassungen werden abgewogen

Ein Team erzeugt kurze Zusammenfassungen strukturierter Berichte. Die Ausgabe soll vollständig sein, darf aber nicht unnötig lang oder repetitiv werden.

Ein einzelner Pfad

Greedy Decoding wählt bei jedem Schritt nur den wahrscheinlichsten Token. In einigen Fällen führt dies zu einer zu frühen, unvollständigen oder wiederholten Zusammenfassung.

Mehrere Kandidaten

Beam Search verfolgt begrenzt mehrere Fortsetzungen und bewertet sie mit einer passenden Längenregel. Das Team prüft die Ergebnisse gegen Quellen und Aufgabenfälle, bevor es das Verfahren produktiv einsetzt.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Berücksichtigt mehrere plausible Ausgabepfade statt nur einer lokalen nächsten Wahl.
  • Kann bei bestimmten strukturierten oder regelgebundenen Aufgaben stabilere Sequenzen liefern.
  • Macht den Kompromiss zwischen Suchbreite, Länge und Rechenaufwand explizit steuerbar.

Das solltest du beachten

  • Höhere Modellwahrscheinlichkeit garantiert keine faktische Richtigkeit oder hilfreiche Antwort.
  • Mehr Suchbreite erhöht Latenz und Kosten und kann dennoch ähnliche Kandidaten erzeugen.
  • Unpassende Bewertungsregeln können kurze, lange oder generische Ausgaben verzerren.
Vertiefung · für Fortgeschrittene

Mehrere Ausgabepfade kontrolliert bewerten

Wissenskarte

Kandidaten im Vergleich

Greedy Decoding
Wählt immer das wahrscheinlichste nächste Token.
Top-p
Sampling-Methode, die die wahrscheinlichsten Tokens auswählt.
Temperatur
Ein Parameter, der die Kreativität der Textausgabe eines Modells beeinflusst.
Logits
Unnormalisierte Ausgabewerte eines neuronalen Netzes vor der Umwandlung.
LLM Evaluation
Systematische Bewertung von LLM-Qualität, Zuverlässigkeit und Sicherheit.
Beam Search verfolgt mehrere wahrscheinliche Fortsetzungen und bewertet sie nach einer festgelegten Regel; die tatsächliche Qualität muss dennoch an der realen Aufgabe geprüft werden. Beam Search gliedert sich in: Greedy Decoding, Top-p, Temperatur, Logits, LLM Evaluation.

01Einsatzbereiche

Wann ist Beam Search sinnvoll?

Geeignet für

  • Maschinelle ÜbersetzungBeste Übersetzung aus mehreren Kandidaten wählen
  • ZusammenfassungenKohärente, flüssige Zusammenfassungen generieren
  • Code-GenerierungSyntaktisch korrekte Code-Sequenzen finden

↑ Inhalt

02Werkzeuge

Womit Beam Search umgesetzt wird

↑ Inhalt

Merksatz

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.

  1. Verfolgt k beste Kandidaten parallel (Beam Width)
  2. Findet oft bessere Gesamtsequenzen als Greedy Decoding
  3. Deterministisch – gleiche Eingabe ergibt gleiche Ausgabe

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 Beam Search

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.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Greedy Decoding

    Wählt immer das wahrscheinlichste nächste Token.

  • Technisch vertiefen

    Temperatur

    Ein Parameter, der die Kreativität der Textausgabe eines Modells beeinflusst.

↑ Inhalt