Nucleus Sampling
Top-p (çekirdek) örneklemesi, her belirteci toplam olasılığı p'ye ulaşan en küçük kümeden seçer; böylece havuz, modelin güvenine göre uyarlanır. Top-k yönteminden farkı budur.
Çekirdek örnekleme, top-p örnekleme olarak da bilinir; her yeni token'ı, toplam olasılığı p eşiğine ulaşan en küçük aday kümesinden seçip bu kümeden örnek alan bir çözümleme yöntemidir. Washington Üniversitesi ve Allen Yapay Zekâ Enstitüsü'nden Ari Holtzman ve çalışma arkadaşları, yöntemi 2019'da Neural Text Degeneration'ın İlginç Vakası makalesinde tanıttı. GPT-2 Large üzerinde çalışarak açgözlü çözümleme ve demet aramasının dil modellerini basmakalıp, tekrarlayan döngülere soktuğunu; tüm dağılımdan örneklemenin ise tutarsız metinlere sürüklediğini gösterdiler. Dağılımın güvenilmez kuyruğunu kesmenin, şaşkınlık ve çeşitlilik bakımından insan yazımına en çok yaklaşan metinleri ürettiğini de ortaya koydular. Top-p, artık neredeyse tüm büyük dil modeli API'lerinde metin oluşturma için standart bir ayardır.
Çekirdek Küme Nasıl Seçilir#
Her adımda dil modeli, kelime dağarcığındaki her token'a bir puan verir; softmax da bu puanları olasılıklara dönüştürür. Ardından çekirdek örnekleme, token'ları en olasıdan en az olasıya sıralar, birikimli toplam p'ye ulaşana kadar olasılıklarını bu sırayla toplar, bu kümenin dışındaki her şeyi eler, kalanların toplamı bir olacak şekilde olasılıkları yeniden ölçeklendirir ve tek bir token örnekler.
Olasılıkları 0.50, 0.25, 0.15 ve 0.10 olan dört aday alıp p değerini 0.8 olarak belirle. İlk ikisinin toplamı 0.75'tir ve eşiğe yetmez; bu nedenle üçüncü aday eklenir ve çekirdek küme 0.90'ı kapsar. Dördüncü belirteç elenir ve kalan üç belirteç, yeniden normalleştirme sonrasında yaklaşık 0.56, 0.28 ve 0.17 olasılıklarla seçilir.
Tanımlayıcı özelliği, çekirdek kümenin her adımda kendi boyutunu ayarlamasıdır. "Fransa'nın başkenti" ifadesinden sonra olasılığın neredeyse tamamı tek bir belirteçte toplanır ve çekirdek küme tek bir sözcüğe küçülür. Bir hikâyenin başında olasılık yüzlerce makul sözcüğe yayılır ve çekirdek küme bunları kapsayacak şekilde genişler. Sabit sayıda aday bu şekilde uyum sağlayamaz.
Altı token'lı bir kelime dağarcığında tek bir çözümleme adımı için aynı işlemin PyTorch ile uygulanışı:
import torch
# 6 belirteçli bir söz dağarcığı için sonraki belirteç olasılıkları
probs = torch.tensor([0.10, 0.40, 0.04, 0.25, 0.06, 0.15])
top_p = 0.75
# Sırala, ardından kümülatif toplam top_p değerine ulaşana kadar belirteçleri tut
sorted_probs, order = probs.sort(descending=True)
cumulative = sorted_probs.cumsum(dim=0)
keep = cumulative - sorted_probs < top_p # top_p değerini aşan belirteç kümede kalır
# Çekirdek kümeyi yeniden normalleştir ve sonraki belirteç kimliğini örnekle
nucleus = sorted_probs * keep
next_token = order[torch.multinomial(nucleus / nucleus.sum(), num_samples=1)]
print(order[keep].tolist(), next_token.item())Çıktıda, olasılığın toplam 0.80'ini kapsayan 1, 3 ve 5 belirteç kimliklerinden oluşan çekirdek küme ve ardından örneklenen kimlik listelenir. Bu adımda 0, 2 ve 4 belirteçleri hiçbir zaman seçilemez; betiği yeniden çalıştırmak, üç kalan belirteç arasından olasılıklarıyla orantılı seçim yapar.
Üst-p, Açgözlü Kod Çözme, Üst-k ve Sıcaklık Karşılaştırması#
- Açgözlü kod çözme, her zaman olasılığı en yüksek tek belirteci seçer. Belirleyicidir ve kısa, olgusal yanıtlar için işe yarar; ancak uzun çıktılar tekrara girme eğilimindedir.
- Üst-k örneklemesi, sabit sayıda adayı tutar. k değeri 50 olarak ayarlandığında, modelin emin olduğu bir adımda bile anlamsız seçenekler dâhil 50 belirteç arasından seçim yapılır; modelin kararsız olduğu bir adımdaysa makul seçenekler elenebilir. Üst-p, sabit aday sayısı yerine sabit bir olasılık payı kullanır.
- Sıcaklık, softmax öncesinde modelin puanlarını böler. 1'in altındaki değerler dağılımı en iyi seçeneklere doğru keskinleştirirken 1'in üzerindeki değerler dağılımı düzleştirir. Üst-p sıcaklık uygulandıktan sonra kullanıldığından, sıcaklığın artırılması çekirdek kümeyi de genişletir.
- Min-p örneklemesi, olasılığı en olası token'ın olasılığının belirli bir oranına eşit veya daha yüksek olan her token'ı tutar; böylece eşiği modelin güven düzeyini de takip eder. Hugging Face Transformers, vLLM ve llama.cpp, top-p'nin yanı sıra bu yöntemi de sunar.
Sıcaklık ve top-p rastgeleliği birlikte kontrol ettiğinden, standart öneri ikisini aynı anda değil, birini ya da diğerini ayarlamaktır. Birçok çıkarım motoru, top-k ve top-p'nin birlikte çalışmasına da izin verir; bu durumda top-k, aday sayısına kesin bir üst sınır koyar.
Üst-p Değeri Seçme#
Top-p değerini 1.0 yapmak filtreyi devre dışı bırakır; yaygın varsayılan değerler 0.9 ile 1.0 arasındadır. Top-p yalnızca modelin kendi olasılıklarını yeniden şekillendirir; bu nedenle olgusal doğruluk, örneğin modele gereken bilgileri vererek halüsinasyonları azaltan geri getirim destekli üretim yoluyla istemi temellendirmeye bağlıdır. Daha yüksek değerler beyin fırtınası, sohbet botu diyalogları ve yaratıcı yazım için çeşitliliği artırır. 0.5 gibi daha düşük değerler, veri çıkarma, sınıflandırma istemleri ve kod için uygun olan daha öngörülebilir ve tekrarlayan çıktılar üretir; kısıtlı çözümleme ise gerekli biçimi bozacak her token'ı maskeleyerek işi daha da ileri taşır.
Aynı ayar, görüntü işleme hatlarındaki dil çıktısını da belirler. Bir Ultralytics YOLO26 algılaması, bir görüntü-dil modelinden sahne açıklaması alınmasını tetiklediğinde, Ultralytics LLM arayüzü, top_p gibi istek bağımsız değişkenlerini doğrudan sağlayıcının API'sine iletir; böylece 0.5 gibi düşük bir değer, benzer karelerin açıklamalarının benzer biçimde yazılmasını sağlar.










