
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)
- Temperature — controleert de spreiding van kansen
Beam search vs alternatieven:
- Greedy decoding (k=1) — snel maar mist vaak de beste sequentie
- Beam search (k=3-10) — betere kwaliteit, meer compute
- Sampling — willekeurig kiezen op basis van kansen (creatiever, minder deterministisch)
- Top-p / nucleus sampling — de standaard voor chatmodellen (creatiever dan beam search)
Wanneer beam search gebruiken:
- Machinevertaling — precisie is belangrijker dan creativiteit
- Spraakherkenning — de meest waarschijnlijke transcriptie is gewenst
- Code-generatie — correctheid boven variatie
Voorbeeld
Bij het vertalen van "The cat sat on the mat" met beam width 3, houdt het model drie kandidaat-vertalingen bij: "De kat zat...", "Het katje zat...", "De poes zat...". Na elk nieuw woord worden de drie beste sequenties bewaard. Uiteindelijk selecteert het model de sequentie met de hoogste cumulatieve kans als eindresultaat.