Nucleus Sampling
Çekirdek örneklemenin (top-p), yapay zeka metin üretimi için tokenleri nasıl seçtiğini öğren ve çıktı çeşitliliğini ince ayar yapmak için bunu top-k, açgözlü kod çözme (greedy decoding) ve sıcaklık (temperature) ile karşılaştır.
Üst-p örnekleme olarak da adlandırılan nükleus örnekleme, yapay zeka metin üretimi sırasında bir sonraki jetonu seçmenin bir yoludur. Model, her zaman en olası jetonu seçmek yerine, olasılıkları seçilen bir eşiğe kadar toplanan kısa bir liste oluşturur ve ardından bu kısa listeden rastgele örnekleme yapar. Kısa liste her tahminde değişir: bir devam yolu aşikar olduğunda küçük, birkaç devam yolu makul olduğunda ise daha büyük olabilir.
Nükleus Örnekleme Nasıl Çalışır#
Bir dil modeli, olası her bir sonraki jetona bir olasılık atar. Bu olasılıklar genellikle modelin çıkış puanlarından, değerlerin toplamını bir yapan softmax kullanılarak hesaplanır. Nükleus örnekleme, jetonları en olasıdan en aza doğru sıralar, kümülatif olasılığı p eşiğine ulaşana kadar jetonları dahil eder, geri kalanını hariç tutar ve dahil edilen jetonlardan örnekleme yapar. Burada p, tek bir jetonun olasılığını değil, olasılık kütlesini ifade eder. PyTorch'un softmax belgeleri olasılık dönüşümünü açıklarken, IBM'in kod çözme kılavuzu kümülatif kesmeyi tanımlar. (docs.pytorch.org)
Olası dört sonraki jetonun olasılıklarının 0.50, 0.25, 0.15 ve 0.10 olduğunu varsayalım. top_p=0.80 ile ilk ikisinin toplamı yalnızca 0.75'tir, bu nedenle üçüncü de dahil edilir ve kısa liste 0.90'a çıkarılır. Dördüncü hariç tutulur. Model daha sonra ilk üçü arasından normalleştirmeden sonraki olasılıklarıyla orantılı olarak örnekleme yapar; her birine eşit şans vermez. Kesme sınırı p değerini aşabilir, çünkü bunu aşan jeton kısa listede kalır. Google Cloud'un üst-p açıklaması aynı jeton seçme kuralını tanımlar. (cloud.google.com)
Bu seçim, üretilen her jetondan sonra tekrar gerçekleşir. Cümle geliştikçe model yeni bir dağılım ve dolayısıyla yeni bir nükleus hesaplar.
Üst-p ve Üst-k, Açgözlü Kod Çözme ile Sıcaklık#
Bu ayarlar üretimin farklı kısımlarını etkiler:
- Üst-k örnekleme, en olası beş jeton gibi sabit sayıda aday tutar. Üst-p, bir olasılık eşiğine ulaşmak için yeterli sayıda aday tutar, bu nedenle kısa listesinin sabit bir boyutu yoktur.
- Açgözlü kod çözme her zaman en olası tek jetonu seçer. Tahmin edilebilirdir ancak örneklemenin sağladığı çeşitliliğin hiçbirini sunmaz.
- Sıcaklık, seçim öncesinde modelin yüksek olasılıklı jetonları ne kadar güçlü tercih ettiğini değiştirir. Düşük sıcaklıklar olasılığı önde gelen seçeneklerde yoğunlaştırırken, yüksek sıcaklıklar olasılığı daha geniş bir alana yayar. Üst-p ise ortaya çıkan dağılım üzerinde kümülatif bir kesme sınırı belirler.
Uygulamalar bu kontrolleri birleştirebilir, ancak bunların etkileşimi sonuçların yorumlanmasını zorlaştırır. Deneme yaparken her seferinde tek bir ayar değiştirin. OpenAI Sohbet Tamamlamaları parametre başvurusu, top_p değerini tanımlar ve ikisini birden ayarlamak yerine bu değeri veya sıcaklığı ayarlamayı önerir. (platform.openai.com)
Pratikte Neden Önemlidir#
Bir müşteri destek sohbet botunda, nükleus örnekleme, her olası olmayan devamdan yararlanmadan rutin bir yanıtın birkaç doğal ifade biçimine izin verebilir. Örneğin, bir iade politikasını açıklayan bir asistan, komutunda sağlanan politika ayrıntılarını korurken açılış cümlesini çeşitlendirebilir. Örnekleme bu ayrıntıları doğrulamaz: akıcı bir yanıt yine de yanlış olabilir, bu nedenle gerçek kontrolleri ve uygun dayanaklar gerekli olmaya devam eder.
Görüntü etiketlemede, bir görüntü-dil modeli, aynı sokak sahnesini tanımlamanın birkaç makul yoluna sahip olabilir. Üst-p, düşük olasılıklı jeton seçeneklerini filtrelerken başlıkların ifade biçimini çeşitlendirebilir. Görsel bir boru hattı, nesne tespiti için önce Ultralytics YOLO26 kullanabilir, ardından tespit edilen nesneleri bir başlık üretecine bağlam olarak sağlayabilir. YOLO'nun tespit adımı, nesne etiketlerini seçmek için kesinlikle nükleus örnekleme kullanmaz; ayar, sonraki aşamadaki metin üretim adımına uygulanır. TensorFlow görüntü etiketleme eğitimi, görsel girdinin ve bir metin kod çözücünün nasıl bir araya geldiğini gösterir. (ibm.com)
Belgelenmiş Bir İş Akışında Üst-p'yi Denemek#
Ultralytics LLM arayüzü, uyumlu bir dil modeli uç noktası için istek argümanlarını kabul eder. ultralytics[llm] kurulduktan ve OPENAI_API_KEY ayarlandıktan sonra, bu örnek top_p=0.9 ile kısa bir yanıt talep eder:
from ultralytics import LLM
# Use an endpoint that supports the top_p request argument.
llm = LLM("gpt-4.1-mini", api="chat.completions")
prompt = "Describe a city bus in one friendly sentence."
response = llm(prompt, top_p=0.9)
message = response.choices[0].message
print(message.content)Kod, jeton seçimini dil modeli sağlayıcısına bırakır. Kodu tekrar çalıştırmak farklı bir ifade üretebilir, ancak top_p=0.9 her yanıtın farklı olacağının garantisi değildir. Aynı ayarı başka bir yerde uygulamadan önce seçilen modelin desteklenen parametrelerini kontrol edin.
Kullanışlı Bir Ayar Seçmek#
Modelin varsayılanıyla başlayın, ardından temsili girdiler üzerindeki çıktıkları karşılaştırın. Yanıtlar olası olmayan ifadelere kayıyorsa top_p değerini düşürün; gereksiz yere tekrara düşüyorlarsa daha yüksek bir değer düşünün. Sonucu yalnızca çeşitliliğe göre değil, göreve göre değerlendirin. Müşteri yanıtları veya başlıklar için olgusal doğruluğu ve önemli ayrıntıların bulunup bulunmadığını inceleyin. Daha dar bir kısa liste bazı olağandışı devamları azaltabilir, ancak desteklenmeyen ifadeleri doğru yapamaz. IBM'in doğru çıktı üretme hakkındaki kılavuzu da kod çözme seçimlerini temellendirilmiş bir üretim iş akışının yalnızca bir parçası olarak ele alır. (ibm.com)









