Nasıl Çalışır?
Beam search, her zaman adımında k en iyi kısmi diziyi (hipotezi) bellekte tutar. Başlangıçta k kopya başlatılır; her kopya sözlükteki tüm tokenler için olasılık hesaplar. Ortaya çıkan k×|V| aday içinden log-olasılık toplamı en yüksek k tanesi bir sonraki adıma aktarılır. EOS (end-of-sequence) tokeni üreten hipotez 'tamamlanmış' olarak ayrılır; diğerleri genişlemeye devam eder. Süreç belirli bir maksimum uzunluk veya tüm hipotezler tamamlanana kadar sürer.
Greedy Search ile Karşılaştırma
Greedy search her adımda argmax token'i seçer; bu hızlıdır ama yerel optimuma takılabilir. Beam search k > 1 ile daha geniş arama uzayını tarar ve genellikle daha tutarlı, yüksek kaliteli çıktılar üretir. Ancak k büyüdükçe bellek (k×seq_len) ve işlem süresi artar. Çok büyük k değerlerinde (k > 20) kalite artışı marginal kalırken maliyet yükselir.
Uzunluk Cezası
Ham log-olasılık kısa dizileri tercih eder çünkü her ek token küçük bir log-negatif değer ekler. Bunu önlemek için BLEU veya ROUGE optimizasyonlarında kullanılan uzunluk cezası formülü devreye girer: score = log_prob / length^α. α = 0.6–0.8 değerleri makul denge sağlar.
LLM Döneminde Değişen Rol
GPT, Claude ve Llama gibi büyük otoregresif modellerde beam search yerini büyük ölçüde greedy veya sıcaklık tabanlı örneklemeye (temperature sampling, top-k, top-p) bırakmıştır. Bunun nedenleri: (1) Bu modeller zaten milyarlarca parametre ve RLHF ile yüksek kaliteli greedy çıktı üretebilir, (2) Sampling çıktılarda yaratıcılık ve çeşitlilik sağlar, (3) Beam search 'degenerate' tekrarlı cümlelere eğilimlidir. Spekülatif çıkarım (speculative decoding) ile birleşiminde ise draft-model beam tabanlı kısa diziler önerirken büyük model doğrular.
Kullanım Alanları
Makine çevirisi (Google Translate, DeepL), otomatik konuşma tanıma (ASR/STT), metin özetleme ve protein dizisi tasarımı (AlphaFold2 MSA örneklemesi) beam search'ü aktif kullanan alanlardır. Kod üretiminde GitHub Copilot gibi araçlar genellikle k=1 veya sampling kullanır.
Sık Sorulan Sorular
- check_circle Beam width kaç seçilmeli? Göreve bağlı: makine çevirisi ve ASR'da 4–10 arası yaygın; modern büyük dil modellerinde 1–2 (greedy veya hafif beam) çoğunlukla yeterli görülür.
- check_circle Beam search ile greedy search farkı nedir? Greedy search her adımda en yüksek olasılıklı tek tokeni seçer. Beam search k paralel hipotezi takip ederek daha geniş arama uzayını tarar; bu genellikle daha tutarlı ve yüksek kaliteli çıktılar üretir.
- check_circle Length penalty neden gereklidir? Log-olasılık toplamı kısa dizileri kayırdığından model çok kısa çıktılar üretmeye yönelir. Length penalty, uzunluğa göre normalize ederek dengeli dizi uzunlukları elde edilmesini destekler.
- check_circle Modern LLM'ler neden beam search kullanmaz? Yüksek kapasiteli modellerde greedy arama kalite farkı azalır; k paralel akış bellek maliyetini k katına çıkarır; temperature sampling ise daha çeşitli ve yaratıcı yanıtlar üretir.
- check_circle Diverse beam search nedir? Hipotezler arasına benzerlik cezası ekleyen bir beam search varyantıdır. Böylece üretilen k çıktı birbiriyle daha az örtüşür ve farklı yaklaşımları kapsayan alternatifler sunar.