Top-k sampling (TR)
Top-k örneklemesi — büyük dil modelleri (LLM) dahil olmak üzere otoregresif dil modellerinde metin üretimi için kullanılan stokastik bir kod çözme yöntemidir. Temel amacı, bir sonraki token seçimini sabit sayıda () en olası adayla sınırlandırmak; böylece düşük olasılıklı ve çoğunlukla bağlama uymayan sözcüklerin üretilmesini önlemektir. Bu yöntem, basit rastgele örneklemenin ilk geliştirmelerinden biri olup uzun süre üretilen metnin tutarlılığını artırmanın popüler bir yolu olarak kalmıştır.
Basit Açıklama
Top-k örneklemesini, bir sonraki sözcüğü tüm olası seçenekler arasından değil, yalnızca en olası seçeneklerin sınırlı bir listesinden seçmek olarak düşünebilirsiniz.
Örneğin model, "Bugün dışarıda şiddetli bir..." cümlesini tamamlamaya çalışıyor. Sözlüğünde binlerce devam seçeneği var: "yağmur", "rüzgar", "kar", "sağanak" — ve bir yerlerde "kuantum" ya da rastgele bir karakter. Kısıtlama olmadan metin üretimi çeşitli bozulma (text degeneration) biçimlerine açıktır. Maksimizasyon yöntemleri (açgözlü kod çözme, beam search) sıkıcı ve tekrar eden metinler üretirken, kırpma uygulanmadan yapılan saf örnekleme, dağılımın "güvenilmez kuyruğundan" düşük olasılıklı tokenların seçilmesi nedeniyle tutarsızlığa yol açabilir. Top-k öncelikli olarak ikinci sorunla mücadele eder — kuyruğu keserek anlamsız devamların riskini azaltır; ancak tek başına tekrarlılığı gidermez. Top-k şunu söyler: "Yalnızca en olası sözcüğü al, gerisini unut, aralarındaki olasılıkları yeniden hesapla ve rastgele birini seç."
Özetle:
- model, en olası devamların bir listesini oluşturur;
- yalnızca ilk seçeneği alır;
- bunlardan birini rastgele seçer.
ne kadar küçükse sonuç o kadar temkinli ve öngörülebilir olur. ne kadar büyükse üretim o kadar özgür ve çeşitli olur.
Benzetmeler:
- Restoran menüsü: 5.000 kalemden rastgele seçim yapmak yerine (yenilmez bir şey gelme riski) ya da her zaman en popüler yemeği seçmek yerine (sıkıcı), garson yalnızca önerilen en iyi 40 seçeneği getirir — makul bir listeden seçin. Ancak bazen kesilen menü bölümünde tam da hoşunuza gidecek alışılmadık bir yemek olabilir — bu öngörülebilirliğin bedeli.
- Finalist kısa listesi: 1.000 iş adayından en iyi 40 özgeçmiş seçilir, ardından mülakatlar yapılır.
Kavram ve Matematik
Metin üretiminin her adımında standart bir dil modeli, tüm sözlük üzerinde olasılık dağılımı üretir. Top-k örneklemesi bu süreci şu şekilde değiştirir:
- Aday seçimi: Tüm sözlükten, en yüksek olasılığa sahip tokendan oluşan alt kümesi seçilir.
- Kırpma: kümesine giremeyen tüm tokenların logitlerine (Softmax uygulanmadan önce modelin ham tahminleri) değeri atanır; bu da normalizasyon sonrasında olasılığın kesinlikle 0'a eşit olmasını sağlar.
- Yeniden dağıtım (normalizasyon): Kalan tokenın olasılıkları, yeni toplamları 1'e eşit olacak şekilde ölçeklenir.
- Örnekleme: Bir sonraki token, bu yeni kırpılmış dağılımdan rastgele seçilir.
Böylece Top-k, aday sayısı üzerinde sert bir eşik koyar: olasılık sıralaması değerinin altında kalan sözcükler hiçbir zaman seçilmez.
Parametresinin Etkisi
- Küçük (örneğin – ): Üretimi daha muhafazakâr ve öngörülebilir kılar. Model yalnızca çok sınırlı sayıda en olası sözcük arasından seçim yapar. Bu tutarlılığı artırır, ancak tekrar eden ve sıkıcı metne yol açabilir.
- Büyük (örneğin – ): Örneklemeye daha fazla seçenek girdiğinden metnin çeşitliliğini ve yaratıcılığını artırır. Ancak bu, daha az ilgili veya uygunsuz tokenların dahil edilme riskini de artırır.
- Sınır durumlar:
- : Açgözlü kod çözmeye (greedy decoding) eşdeğerdir. Model her zaman en olası tokenı seçer.
- = sözlük boyutu: Kırpma yapmaksızın tam dağılımdan standart örneklemeye eşdeğerdir.
Tarihsel Önemi
Bir kod çözme yöntemi olarak top-k örneklemesi, Angela Fan ve arkadaşlarının (2018) "Hierarchical Neural Story Generation" adlı çalışmasında ilk başarılı uygulamalardan biri olarak yer almıştır; yazarlar hiyerarşik hikâye üretim sisteminde top-k rastgele örneklemeyi ( ile) kullanmış ve bu stratejinin beam search ile düşük olasılıklı sözcük ekleme riski taşıyan tam rastgele örneklemeden önemli ölçüde daha etkili olduğunu göstermiştir.
Ancak metin bozulması sorununu sistematik biçimde analiz eden ve top-k dahil kırpma yöntemlerinin üretim kalitesini önemli ölçüde iyileştirdiğini ortaya koyan kilit çalışma, Holtzman ve ark.'nın (2019) "The Curious Case of Neural Text Degeneration" adlı makalesi olmuştur. Bu çalışmada yazarlar, kendi HUSE ölçütlerine göre nucleus sampling'in karşılaştırılan stratejiler arasında en iyi sonuçları verdiğini göstererek top-p (nucleus sampling) yöntemini top-k'ya daha uyarlanabilir bir alternatif olarak önermiştir.
Örneğin, GPT-2 için yapılan erken gösterim ve önerilerde `top_k=40` değeri yaygın biçimde kullanılmıştır (OpenAI kodunda "generally a good value" olarak geçmektedir); bu değer uzun ve tutarlı metinlerin üretilmesine yardımcı olmuştur.
Diğer Kod Çözme Yöntemleriyle Karşılaştırma
Top-k ile Top-p Karşılaştırması
Top-k, büyük ölçüde Top-p (nucleus) örneklemesi adı verilen daha gelişmiş bir yöntemle tamamlanmış; bazı görevlerde ise onun yerini almıştır.
- Top-k'nın temel dezavantajı — uyarlanabilir olmamasıdır. Sabit değeri, olasılık dağılımının şeklini dikkate almaz:
- Dağılım sivri olduğunda (model birkaç token konusunda emin), Top-k örneklemeyi yapay biçimde genişleterek düşük olasılıklı adayları dahil edebilir.
- Dağılım düz olduğunda (model emin değil ve çok sayıda token benzer olasılığa sahip), Top-k uygun birçok seçeneği erken kesebilir.
- Bunun yanı sıra Top-k, dağılımın "kuyruğunu" sert biçimde kırpar (tail truncation); bu yüzden bağlamsal olarak uygun ancak nadir tokenlar kaybolabilir — yöntem potansiyel yaratıcılıktan tutarlılık adına fedakarlık yapar.
- Top-p ise tersine, tokenları kümülatif olasılıklarına göre seçerek örnekleme boyutunu dinamik biçimde uyarlar. Bu, onu daha esnek ve güvenilir kılar.
- Pratikte her iki yöntem, ardışık filtreler olarak birlikte sık kullanılır: biri aday sayısını kaba biçimde sınırlarken diğeri örneklemeyi modelin güvenine göre dinamik olarak daraltır. Uygulanma sırası, belirli bir framework'ün gerçekleştirim tercihine bağlıdır.
Top-k ile Sıcaklık Karşılaştırması
- Sıcaklık, tüm olasılık dağılımının şeklini değiştirir ancak tokenları kesmez. Tüm adayların göreceli olasılıklarını etkiler.
- Top-k, top- dışındaki tokenları tamamen hariç tutan sert kırpma uygular.
Pratikte Top-k, sıcaklık ve Top-p ile birlikte kullanılabilir. Filtrelerin uygulanma sırası framework'e göre değişir: örneğin Hugging Face Transformers'da ardışım Sıcaklık → Top-k → Top-p şeklindedir; yani sıcaklık önce logitleri () ölçekler, ardından Top-k uzun "çöp token kuyruğunu" keser ve son olarak Top-p modelin güvenine bağlı olarak örneklemeyi dinamik biçimde daraltır. Ayarlara bağlı olarak belirli adımlar atlanabilir: ise Top-k adımı uygulanmaz; ise Top-p adımı uygulanmaz.
Pratik Uygulama
Top-p daha uyarlanabilir bir yöntem olmasına ve açık metin üretimi için çoğunlukla temel yöntem olarak kullanılmasına karşın, evrensel olarak en iyi kod çözme yöntemi yoktur — en uygun seçim göreve, modele ve önceliklere (kalite, hız, kararlılık) göre değişir. Top-k, tüm başlıca framework'lerde (Hugging Face Transformers, vLLM vb.) geniş çapta desteklenen bir parametre olmaya devam etmekte ve hem bağımsız olarak hem de diğer yöntemlerle birlikte aktif biçimde kullanılmaktadır.
- Tipik değerler: Pratikte için genellikle onlarca token mertebesinde değerler kullanılır (örneğin 10, 40, 50); ancak en uygun değer modele ve göreve göre değişir.
- Öneriler: Açık metin üretimi için çoğunlukla Top-p tercih edilir. Top-k kullanılacaksa ılımlı bir sıcaklıkla birleştirilmeli ve değeri belirli göreve göre dikkatlice ayarlanmalıdır. Top-k ayrıca yüksek sıcaklıklarda ek bir "güvenlik mekanizması" olarak da kullanışlıdır.
- Not: Framework'lerde Top-k, modelin aynı sözcükleri tekrar tekrar kullanmasını önlemek amacıyla Repetition Penalty (tekrar cezası) ve
no_repeat_ngram_sizeparametresiyle birlikte top- listesi üzerinde kullanılabilir.
Ayrıca bakınız
- Büyük dil modelleri
Kaynakça
Temel Çalışmalar
- Fan, A. et al. (2018). Hierarchical Neural Story Generation. ACL Anthology. arXiv:1805.04833.
- Holtzman, A. et al. (2019). The Curious Case of Neural Text Degeneration. arXiv:1904.09751 (ICLR 2020).
- Finlayson, M. et al. (2024). Closing the Curious Case of Neural Text Degeneration. OpenReview:dONpC9GL1o (ICLR 2024).
Ek Okuma
- Meister, C. et al. (2022). Locally Typical Sampling. arXiv:2202.00666 (TACL 2023).
- Su, Y.; Lan, T.; Wang, Y.; Yogatama, D.; Kong, L.; Collier, N. (2022). A Contrastive Framework for Neural Text Generation. arXiv:2202.06417 (NeurIPS 2022).
- O'Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
- Shi, C. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. ACL Anthology. arXiv:2402.06925.
- Ravfogel, S.; Goldberg, Y.; Goldberger, J. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
- Chen, S. J. et al. (2024). Decoding Game: On Minimax Optimality of Heuristic Text Generation Strategies. arXiv:2410.03968 (ICLR 2025).
- Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.