Top-p Örnekleme (Nucleus Sampling)
Araç kavramlarıTop-p nedir?
Top-p — diğer adıyla nucleus sampling — bir dil modelinin sıradaki token'ı seçerken aday havuzunu nasıl daralttığını belirleyen örnekleme yöntemi. Model her adımda binlerce olası token'a olasılık atar. Top-p, bu listeyi en olası adaylardan başlayıp toplam olasılığı p eşiğine ulaşana kadar keser ve seçimi sadece bu "çekirdek" (nucleus) içinden yapar.
Örneğin top-p = 0.9 ise, model olasılıkları toplamı %90'a ulaşan en güçlü adayları havuza alır, gerisini eler. Düşük olasılıklı saçma adaylar daha baştan oyun dışı kalır.
Nasıl çalışır?
Klasik alternatifi top-k, her adımda sabit sayıda aday tutar — mesela en olası 40 token. Sorun şu: bazen tek bir token bariz doğrudur (sabit 40 aday gereksiz risk), bazen onlarca makul seçenek vardır (40 yetmeyebilir). Top-p bu sorunu dinamik davranarak çözer. Dağılım keskinse havuz otomatik küçülür, dağılım yayvansa genişler.
Yöntem, 2019 tarihli "The Curious Case of Neural Text Degeneration" makalesinde önerildi. Araştırmacılar, her zaman en olası token'ı seçmenin (greedy decoding) metni tekrara ve sıkıcılığa sürüklediğini, tamamen serbest örneklemenin ise tutarsızlık ürettiğini gösterdi. Top-p ikisinin arasında dengeli bir nokta sunuyor.
Neden önemli?
Temperature ile birlikte, üretilen metnin karakterini kontrol eden iki ana düğmeden biri. Temperature olasılık dağılımının keskinliğini ayarlar, top-p ise aday havuzunun sınırını çizer. API üzerinden model kullanan herkesin karşısına çıkan bu iki parametre, aynı prompt'tan bambaşka çıktılar alınmasının başlıca sebebi.
Pratik kural: ikisini aynı anda agresif kurcalamak yerine birini sabitleyip diğeriyle oynamak daha öngörülebilir sonuç verir.
Kullanım alanları
Yaratıcı yazım ve beyin fırtınasında yüksek top-p (0.9–1.0) çeşitliliği artırır. Kod üretimi, veri çıkarma ve teknik özetleme gibi doğruluk gerektiren işlerde düşük top-p daha güvenli. Chatbot'larda genelde orta seviye tercih edilir — yeterince doğal ama raydan çıkmayan cevaplar için. Çoğu API'de varsayılan değer 0.9–1.0 aralığındadır.