3 puan yazan GN⁺ 2025-05-06 | 1 yorum | WhatsApp'ta paylaş
  • Büyük dil modellerinin (LLM) örnekleme yöntemlerini yeni başlayanların da anlayabileceği şekilde anlatan kapsamlı bir rehber
  • Token’ın ne olduğu, neden kelime yerine kullanıldığı ve modelin metni nasıl ürettiği ayrıntılı biçimde ele alınıyor
  • Örnekleme, çıktının çeşitliliğini ve doğallığını ayarlama sürecidir; Temperature, Top-K, Top-P, DRY gibi çeşitli örnekleme algoritmaları tanıtılıyor
  • Her örnekleme tekniği, kavramsal açıklamaların yanı sıra matematiksel ve algoritmik çalışma prensipleriyle birlikte açıklanıyor; tekrarın önlenmesi, yaratıcılığın artırılması, tutarlılığın ayarlanması gibi etkiler karşılaştırılıyor
  • Örnekleyiciler arasındaki birleştirme sırası, etkileşimler ve çakışma örnekleri de derlenmiş; bu da metin üretim kalitesini hassas biçimde kontrol etmek isteyen geliştiriciler için çok faydalı bir kaynak haline getiriyor

Intro Knowledge

Short Glossary

  • Logits, her token için skoru ifade eden normalize edilmemiş değerlerdir
  • Softmax, logits değerlerini normalize edilmiş bir olasılık dağılımına dönüştüren fonksiyondur
  • Entropy, tahmin belirsizliğini ifade eder; ne kadar yüksekse bir sonraki token hakkındaki belirsizlik de o kadar yüksektir
  • Perplexity, düşük olduğunda modelin güveninin yüksek olduğunu gösteren bir metriktir
  • n-gram, art arda gelen n adet token dizisini ifade eder
  • Context window, modelin tek seferde işleyebileceği azami token sayısıdır

Why tokens?

Why not letters?

  • Harf düzeyinde tokenizasyon, diziyi fazla uzatarak hesaplama maliyetini artırır ve bilgi bağlantılarını kurmayı zorlaştırır

Why not whole words?

  • Kelime tabanlı yaklaşımda sözlük boyutunun patlaması ve yeni ya da nadir kelimeleri ifade etme zorluğu gibi sorunlar vardır
  • Sub-word tabanlı yaklaşım, önek, kök ve sonekleri ayırarak işleyebildiği için biçimbirimsel anlayış ve çok dilli transfer öğrenmesi açısından etkilidir

How are the sub-words chosen?

  • Sözlük, eğitim verisinin temsilî örnekleri üzerinden en sık geçen alt kelimelerin (sub-word) bulunmasıyla oluşturulur

How does the model generate text?

  • Eğitim sırasında büyük miktarda metin üzerinden bir sonraki token’ın olasılık dağılımı öğrenilir
  • Çıkarım sırasında ise tüm olası token’lar için olasılık hesaplanır ve örnekleme tekniğine göre bir sonraki token seçilir

From Tokens to Text

  • Tahmin aşaması: Tüm aday token’lar için olasılık dağılımının hesaplanması
  • Seçim aşaması: Belirli bir örnekleme stratejisine göre token seçimi
  • Yalnızca olasılığı en yüksek token’ı seçmek sıkıcı veya tekrarlı metinler üretebileceğinden, örnekleme teknikleri önemlidir

Sampling

Temperature

  • Düşük değerler daha tutucu ve tekrarlı, yüksek değerler ise daha yaratıcı sonuçlara yol açar; ancak hata olasılığını da artırır
  • Olasılık dağılımının keskinliğini (yoğunluğunu) ayarlamak için logits değerleri sıcaklık değerine bölünür

Presence Penalty

  • En az bir kez görünen token’ın yeniden görünme olasılığını düşürür
  • Yalnızca kullanılmış olup olmadığına bakar; kaç kez geçtiğini dikkate almaz

Frequency Penalty

  • Görünme sayısıyla orantılı olarak puan düşürülür
  • Sık kullanılan kelimeler daha büyük cezaya uğrayarak çeşitliliği artırmaya katkı sağlar

Repetition Penalty

  • Daha önce görülen token’lara pozitif/negatif logit için asimetrik ceza uygular
  • Döngüsel tekrarları önlemede etkilidir, ancak bağlam tutarlılığına zarar verebilir

DRY (Don't Repeat Yourself)

  • n-gram örüntülerindeki tekrarları algılayarak tekrarı öngören token’ların olasılığını düşürür
  • Daha uzun ve daha yakın zamanda tekrar edilmiş ifadeler daha güçlü biçimde bastırılır
  • Yaratıcı metinlerde doğallığı korurken tekrarı azaltmada son derece başarılıdır

Top-K

  • Yalnızca en üstteki K aday bırakılır, diğer token’lar elenir
  • Aşırı uç örnekleri ayıklarken belli bir rastgelelik düzeyini korur

Top-P (Nucleus Sampling)

  • Kümülatif olasılık P değerine ulaşana kadar olan token’lar bırakılır, geri kalanı elenir
  • Modelin güven düzeyine göre aday kümesinin boyutu değiştiği için uyarlanabilirdir

Min-P

  • En yüksek olasılıklı token temel alınarak, onun belirli bir oranından düşük olmayan token’lar bırakılır
  • Filtreleme, modelin özgüvenine göre dinamik olarak ayarlanır

Top-A

  • Adaylar, en yüksek olasılıklı token’ın olasılığının karesiyle orantılı bir eşik üzerinden filtrelenir
  • Güven arttıkça daha sıkı filtreleme uygulanır

XTC

  • Belirli bir olasılıkla en yüksek olasılıklı adayları kasıtlı olarak çıkarır ve daha az kesin seçimlere yönlendirir
  • Alışılmadık veya yaratıcı yanıtlar üretmek için kullanılan bir tekniktir

Top-N-Sigma

  • Olasılık dağılımının standart sapmasına göre geçerli token’ları seçer
  • İstatistiksel özelliklere dayalı filtreleme sayesinde farklı durumlara esnek biçimde uyum sağlar

Tail-Free Sampling (TFS)

  • Olasılık eğiminin ikinci türevi (eğrilik) üzerinden anlamlı adaylarla long-tail adayları ayırır
  • Doğal bir kesim noktası bularak filtreleme yapar

Eta Cutoff

  • Dağılımın entropisine (belirsizliğine) göre filtreleme ölçütünü dinamik biçimde ayarlar
  • Güven arttıkça daha fazla token elenir, güven azaldıkça daha esnek davranır

Epsilon Cutoff

  • Sabit bir olasılık eşiği kullanarak düşük olasılıklı token’ları eler
  • Basittir ama öngörülebilirdir ve gereksiz long-tail adayları temizlemede kullanışlıdır

Locally Typical Sampling

  • Beklenen surprisal’a (tahminle farkına) ortalamaya yakın olan token’ları tercih eder
  • En olası token’ı ya da en tuhaf token’ı değil, "tipik" bir seçimi teşvik eder

1 yorum

 
GN⁺ 2025-05-06
Hacker News yorumları
  • Sampler'ların modelin iç durumuna erişemediğinden bahsetmiyor

    • Yalnızca çıktı dağılımına matematik uygulanıyor; model kadar akıllı değilseniz bunu çözüp yorumlayamazsınız
    • Tekrar cezası veya DRY gibi sampler'lar, modelin kendi kendini tekrar etmesini engellemeye çalışıyor; bu da daha iyi eğitim gerektiğini gösteriyor
    • Otoregresif süreci hack'lemek, Min-P gibi basit iyileştirmeleri mümkün kılıyor
    • Kötü bir modeli iyi bir modele dönüştürmeye çalışmak yanlış bir yaklaşım
  • Ollama/llama.cpp için bir örnekleme kılavuzu yazdım

    • Geri bildirim veya düzeltme önerilerine açığım
  • LLM'in "fikirler" üretmesini sağlamaya çalıştığınızda, logit vektörü seçiminin o özgün fikri bozması gerekir

    • Eğer fikir tamamsa, logitler üzerinde örnekleme yapmaya gerek yoktur
  • Her şey sade biçimde açıklanmış; bu da yeni şeyler denemek için alan açıyor

    • Örneğin, tüm kelimeleri token olarak kullanmak nasıl olurdu?
    • Sınırlı bir "robot lehçesi" olan bir "robot" yapılabilir
    • Yeni veya nadir kelimeler için kapasite olmaz, ancak eğitim verisi ve girdi verisi değiştirilerek mevcut söz varlığına çevrilebilir
    • Bu, kullanıcıya robotun iyi yanıt verebileceği cevaplara dair bir beklenti sunar
  • LLM modeli örtük olarak tokenizasyon yapabilir mi?

    • Ayrı bir tokenizer oluşturmak yerine karakter dizeleri kullanıp sinir ağının bunları token'lara dönüştürmesine izin vermek
    • Bu ağın ağırlıkları, LLM'in geri kalanıyla birlikte eğitilir
  • Bununla bağlantılı olarak, min_p makalemiz ICLR'de 12.000 başvuru arasında 18. oldu

    • Poster ilgi gördü
    • Sözlü sunumda Yoshua Bengio ile bir tartışma yaşandı
    • Top N sigma'nın şu anda en yaygın sampler olduğu doğrulanabilir
    • Sıcaklık şu ankinden çok daha yükseğe ayarlanabilir
    • top_k = 2 ve aşırı yüksek sıcaklığın özel durumu çok ilginç
  • Örneklemenin gerçekten modelin sınırlarını çözüp çözmediğini, yoksa daha derin bir sorunu gizleyip gizlemediğini merak ediyorum

  • "Sampling" beklediğimden çok daha fazla şeyi kapsıyor

  • Çok faydalı bir doküman; açıklamalar net ve birçok şeyi kapsıyor

    • Bunu kimin yazdığını bilen var mı merak ediyorum
    • DRY - "tekrar cezası" bölümü ilginçti
    • Sık sık LLM'in girdinin birebir kopyasını üretmesini istiyorum
    • Uzun konuşmaları özetlerken, en açıklayıcı tam alıntıları istiyorum
    • DRY cezası bu hedefle çelişebilir
  • Başlangıç softmax sıcaklığı seçiminden sonra bu kadar çok oynama yapıldığını fark etmemiştim