
Wat is Beam Search?
Beam search is een zoekalgoritme dat wordt gebruikt bij het genereren van sequenties in AI-modellen. In plaats van bij elke stap alleen het meest waarschijnlijke token te kiezen (greedy) of alle mogelijkheden te verkennen (exhaustief), houdt beam search een vaste set van de meest veelbelovende kandidaat-sequenties bij — de "beam width."
Waarom het ertoe doet
De manier waarop een model tokens selecteert tijdens generatie beïnvloedt de kwaliteit van de output direct. Greedy decoding mist soms de globaal beste sequentie door lokaal optimale maar globaal suboptimale keuzes te maken. Beam search vindt betere sequenties dan greedy decoding, en is de standaard voor machinevertaling en spraakherkenning.
Hoe het werkt
Het proces:
- Begin met een starttoken
- Genereer alle mogelijke volgende tokens met hun kansen
- Houd de top-k (beam width) sequenties bij
- Breid elke kandidaat uit met alle mogelijke volgende tokens
- Selecteer opnieuw de top-k van alle uitgebreide kandidaten
- Herhaal tot alle beams een eindtoken genereren of de maximale lengte bereiken
Parameters:
- Beam width (k) — het aantal parallelle kandidaten (typisch 3-10)
- Length penalty — voorkomt dat kortere sequenties altijd winnen (hogere kans per stap)
- — controleert de spreiding van kansen