Beam search
Beam search — стратегия генерации текста моделью, при которой на каждом шаге рассматривается несколько («лучей») наиболее перспективных продолжений.
Общее
В отличие от greedy-поиска (всегда следующий токен — самый вероятный), beam search хранит B лучших кандидатов и развивает их параллельно.
Как работает =
Допустим, B=3 (beam width = 3).
Шаг 1: модель предсказала top-3 токена: «кот», «собака», «птица». Шаг 2: для каждого из трёх предсказать следующий → 3×top-3 = 9 вариантов. Выбрать top-3 из 9 по совокупной вероятности. Повторять.
Результат: не одно продолжение, а B лучших гипотез. Финальный ответ — наиболее вероятный по сумме.
Beam width =
- B=1 → greedy search (один лучший).
- B=5–10 → типичный beam search.
- B→∞ → превращается в полный перебор (very slow).
Применение =
Beam search используется для:
- Машинный перевод — поиск оптимального перевода.
- Генерация текста — если важна когерентность длинного текста.
Для разговорных задач (chat) beam search применяется реже — обычно достаточно temperature/top-p сэмплирования.
Связанные понятия
- Temperature — альтернативная стратегия выбора.
- Top-p_sampling — альтернативная стратегия.
- LLM — генерация текста как процесс выбора токенов.