Beam Search

Wprowadzenie

Beam Search to algorytm dekodowania używany w modelach sekwencyjnych (szczególnie w modelach językowych), który zamiast wybierać w każdym kroku najbardziej prawdopodobny token (jak w Greedy Decoding), utrzymuje jednocześnie kilka najbardziej obiecujących sekwencji (tzw. „beams”).

Jak działa Beam Search?

Algorytm działa w następujący sposób:

  1. Na początku przechowuje beam_width (np. 5) najlepszych sekwencji.
  2. W każdym kroku generuje dla każdej aktywnej sekwencji wszystkie możliwe kolejne tokeny.
  3. Z wszystkich kandydatów wybiera beam_width najlepszych sekwencji według skumulowanego prawdopodobieństwa (log-probability).
  4. Proces kontynuowany jest do osiągnięcia maksymalnej długości lub tokenu końca sekwencji.

Parametry Beam Search

  • Beam Width – liczba utrzymywanych sekwencji (zwykle 3–10)
  • Length Penalty – kara za zbyt krótkie lub zbyt długie sekwencje
  • Early Stopping – zatrzymanie, gdy wszystkie beams zakończą się tokenem EOS

Zalety Beam Search

  • Lepsza jakość generacji niż Greedy Decoding
  • Deterministyczny (przy tym samym beam width zawsze zwraca te same wyniki)
  • Dobrze sprawdza się w zadaniach wymagających spójności (tłumaczenie, podsumowywanie)

Wady Beam Search

  • Większy koszt obliczeniowy niż Greedy (proporcjonalny do beam width)
  • Może generować powtarzające się lub „nudne” teksty
  • Nie jest tak kreatywny jak metody samplingowe (Temperature + Top-p)

Porównanie z innymi metodami dekodowania

  • Greedy Decoding – najszybsze, ale najgorsza jakość
  • Beam Search – dobry kompromis jakości i determinizmu
  • Sampling (Temperature, Top-k, Nucleus) – największa kreatywność

Zastosowania

  • Tłumaczenie maszynowe
  • Podsumowywanie tekstu
  • Generowanie kodu
  • Zadania, w których ważna jest spójność i faktograficzna poprawność

Aktualny status (2026)

Beam Search nadal jest szeroko stosowany, szczególnie w zadaniach wymagających wysokiej spójności i determinizmu (tłumaczenie, podsumowywanie, generowanie kodu). W modelach kreatywnych (chatboty, storytelling) częściej używa się kombinacji Temperature + Top-p lub Nucleus Sampling. Nowoczesne modele oferują hybrydowe podejścia, np. Beam Search z diversity penalty lub Contrastive Beam Search, aby zmniejszyć powtarzalność.