tag beam search

Otoregresif Kod Çözme (Otoregresif Kod Çözme)

Bu sayfada beam search (Otoregresif Kod Çözme (Otoregresif Kod Çözme)) etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.

Otoregresif Kod Çözme (Autoregressive Decoding), bir dil modelinin metin üretirken her yeni tokeni yalnızca önceki tokenlerden türeterek sırayla ürettiği standart çıkarım yöntemidir. Modelin çıktı dizisi soldan sağa doğru inşa edilir; her adımda tüm önceki bağlam koşullu olasılık dağılımını belirler ve buradan bir sonraki token örneklenir ya da seçilir. Matematikte otoregresif süreç, bir serinin her terimini kendinden önceki terimlere bağlı bir fonksiyon olarak ifade eder. Dil modellerinde bu P(x_t | x_1, ..., x_{t-1}) biçiminde yazılır: t. tokenin olasılığı, 1'den t-1'e kadar tüm önceki tokenlere koşulludur. GPT ailesi başta olmak üzere tüm kausal dil modelleri bu paradigmayı kullanır. Kod çözme stratejisi, üretilen metnin kalitesini ve çeşitliliğini doğrudan etkiler. Açgözlü kod çözme (greedy decoding), her adımda en yüksek olasılıklı tokeni seçer; hızlıdır ancak tekrarlayan çıktılar üretebilir. Işın araması (beam search), K olası diziyi paralel takip ederek toplam puan açısından en iyi tam diziyi arar; çeviri gibi görevlerde kaliteyi artırır. Sıcaklık örneklemesi (temperature sampling), olasılık dağılımını keskinleştirerek veya yumuşatarak çıktı çeşitliliğini ayarlar. Top-p (nucleus) ve top-k örnekleme ise düşük olasılıklı tokenleri keserek anlamsız çıktı riskini azaltır. Otoregresif kod çözmenin temel performans sorunu, her tokenin sırayla üretilmesidir; bu durum gecikmeyi (latency) artırır ve GPU paralelizmini kısıtlar. KV önbelleği (KV cache), önceki adımlarda hesaplanan anahtar-değer matrislerini saklayarak yeniden hesaplanmalarını önler ve çıkarımı önemli ölçüde hızlandırır. Spekülatif kod çözme (speculative decoding) ise küçük bir taslak model kullanarak büyük modelin doğrulamasını paralel yürütür; böylece birden fazla token tek geçişte onaylanabilir. Flash Attention ve sürekli toplu işleme (continuous batching) gibi teknikler de üretim sistemlerindeki verimliliği artıran önemli optimizasyonlar arasında yer alır. Bu yöntemler, yüksek trafikli LLM hizmeti senaryolarında gecikmeyi düşürmek ve GPU kullanımını artırmak amacıyla birlikte uygulanmaktadır.

token

Otoregresif Kod Çözme (Otoregresif Kod Çözme)

Otoregresif Kod Çözme (Autoregressive Decoding), bir dil modelinin metin üretirken her yeni tokeni yalnızca önceki tokenlerden türeterek sırayla ürettiği standart çıkarım yöntemidir. Modelin çıktı dizisi soldan sağa doğru inşa edilir; her adımda tüm önceki bağlam koşullu olasılık dağılımını belirler ve buradan bir sonraki token örneklenir ya da seçilir. Matematikte otoregresif süreç, bir serinin her terimini kendinden önceki terimlere bağlı bir fonksiyon olarak ifade eder. Dil modellerinde bu P(x_t | x_1, ..., x_{t-1}) biçiminde yazılır: t. tokenin olasılığı, 1'den t-1'e kadar tüm önceki tokenlere koşulludur. GPT ailesi başta olmak üzere tüm kausal dil modelleri bu paradigmayı kullanır. Kod çözme stratejisi, üretilen metnin kalitesini ve çeşitliliğini doğrudan etkiler. Açgözlü kod çözme (greedy decoding), her adımda en yüksek olasılıklı tokeni seçer; hızlıdır ancak tekrarlayan çıktılar üretebilir. Işın araması (beam search), K olası diziyi paralel takip ederek toplam puan açısından en iyi tam diziyi arar; çeviri gibi görevlerde kaliteyi artırır. Sıcaklık örneklemesi (temperature sampling), olasılık dağılımını keskinleştirerek veya yumuşatarak çıktı çeşitliliğini ayarlar. Top-p (nucleus) ve top-k örnekleme ise düşük olasılıklı tokenleri keserek anlamsız çıktı riskini azaltır. Otoregresif kod çözmenin temel performans sorunu, her tokenin sırayla üretilmesidir; bu durum gecikmeyi (latency) artırır ve GPU paralelizmini kısıtlar. KV önbelleği (KV cache), önceki adımlarda hesaplanan anahtar-değer matrislerini saklayarak yeniden hesaplanmalarını önler ve çıkarımı önemli ölçüde hızlandırır. Spekülatif kod çözme (speculative decoding) ise küçük bir taslak model kullanarak büyük modelin doğrulamasını paralel yürütür; böylece birden fazla token tek geçişte onaylanabilir. Flash Attention ve sürekli toplu işleme (continuous batching) gibi teknikler de üretim sistemlerindeki verimliliği artıran önemli optimizasyonlar arasında yer alır. Bu yöntemler, yüksek trafikli LLM hizmeti senaryolarında gecikmeyi düşürmek ve GPU kullanımını artırmak amacıyla birlikte uygulanmaktadır.

arrow_forward
🔦

Beam Search Decoding Nedir? Paralel Hipotez Arama (Işın Arama Kod Çözme)

Beam search decoding, otomatik çeviriden metin özetlemeye kadar geniş bir yelpazede kullanılan temel bir çıkarım algoritmasıdır. Greedy search her adımda yalnızca en yüksek olasılıklı tek tokeni seçerken; beam search 'ışın genişliği' (beam width, k) kadar hipotezi paralel biçimde takip eder. Her adımda mevcut k hipotezin her biri en olası devamlarıyla genişletilir, ortaya çıkan k×vocab_size aday arasından toplamda en yüksek log-olasılıklı k dizisi bir sonraki adım için korunur. Son token üretildiğinde (veya EOS tokeni görüldüğünde) en yüksek kümülatif olasılıklı dizi çıktı olarak döner. k=1 greedy search ile özdeştir; k arttıkça arama kalitesi artabilir ancak hesaplama ve bellek maliyeti de k katına çıkar. Algoritmanın temel zayıflığı, ham log-olasılık toplamının kısa dizileri kayırmasıdır: her ek token küçük bir negatif değer eklediğinden model kısa ve özlü çıktılar üretmeye yönelir. Bu sorunu gidermek için length penalty (uzunluk cezası) devreye girer; nihai skor dizinin uzunluğu üzerinden normalize edilir ve α parametresiyle ayarlanır, α değeri genellikle 0.6–1.0 arasında seçilir. Çeşitlilik gerektiren görevlerde ise diverse beam search, hipotezler arasına benzerlik cezası ekleyerek tekrarlayan ve birbiriyle örtüşen çıktı dizilerini azaltır. Modern büyük dil modelleri — GPT-4, Claude veya Llama-3 gibi — çoğunlukla beam search yerine greedy arama veya temperature/top-p örneklemeyi tercih eder. Otoregresif üretimde k paralel akışın GPU bellek gereksinimini k katına çıkarması, bunun yanı sıra yüksek kapasiteli modellerde kalite farkının belirgin biçimde azalması bu tercihin başlıca nedenleridir. Makine çevirisi (Google Translate, DeepL), otomatik konuşma tanıma (ASR/STT) ve metin özetleme gibi deterministik ve tekrarlanabilir çıktı gerektiren görevlerde beam search hâlâ endüstri standardıdır. Pratik bir boyutlandırma örneği: k=5 ile 30.000 token'lık sözlükte çalışan bir makine çevirisi modeli her üretim adımında 150.000 kombinasyonu değerlendirir; bu greedy search'e kıyasla yaklaşık 5× hesaplama yükü anlamına gelir. Buna karşın elde edilen BLEU artışı, özellikle kısa ve orta uzunluktaki cümlelerde bu ek maliyeti karşılar. 2015 yılında Sutskever ve ekibinin seq2seq mimarisiyle makine çevirisinde yaptığı çalışma, beam search'in NLP alanında geniş çapta benimsenmesine öncülük etmiştir.

arrow_forward