Wprowadzenie
Beam Search to algorytm dekodowania sekwencji stosowany w modelach generatywnych (np. GPT, T5, Llama, Mistral). Jest znacznie lepszy niż prosty Greedy Search, ponieważ rozważa wiele możliwych ścieżek jednocześnie.
Jak działa Beam Search?
W każdym kroku generowania algorytm zachowuje beam width (szerokość belki) najlepszych sekwencji. Zamiast wybierać tylko jeden token o najwyższym prawdopodobieństwie (jak w Greedy), Beam Search rozważa wiele kombinacji.
Porównanie algorytmów dekodowania
- Greedy Search – najszybszy, ale często generuje bezsensowny tekst
- Beam Search – lepsza jakość, umiarkowana szybkość
- Sampling (Top-k, Top-p / Nucleus) – największa kreatywność
- Beam Search + Temperature – często najlepsze wyniki w praktyce
Zalety Beam Search
- Lepsza spójność i jakość generowanego tekstu
- Skuteczny w zadaniach wymagających precyzji (tłumaczenie maszynowe, podsumowania)
- Możliwość kontrolowania kompromisu między jakością a szybkością (parametr beam width)
Wady
- Większe zużycie pamięci i wolniejszy niż sampling
- Może generować powtarzający się tekst przy dużej szerokości belki
- Nie zawsze gwarantuje globalnie najlepsze rozwiązanie
Aktualny status (2026)
Beam Search nadal jest jedną z najpopularniejszych metod dekodowania w produkcji, szczególnie w zadaniach wymagających wysokiej jakości (tłumaczenia, generowanie kodu, streszczenia). Nowoczesne modele często łączą Beam Search z technikami takimi jak Length Penalty, Repetition Penalty oraz Contrastive Decoding.