AI Sözlüğü
Orta· ~2 dk okuma#top-p#nucleus-sampling#sampling

Top-p

Nucleus Sampling

Bir sonraki token seçilirken sadece kümülatif olasılığı belirli bir eşiği (p) aşan token kümesinden örnekleme yapılması.

KÜMÜLATİF OLASILIK EŞİĞİtop_p = 0.9→ kümülatif %90'a kadar0.45Paris0.18Lyon0.12Berlin0.08Roma0.05Madrid0.04Tokyo0.03Atina0.03Kahire0.03Limakesim · top 4 = 83%temperature ile birlikte kullanılır — hangi token'ın seçilebileceğini sınırlar
Tanım

LLM her token üretirken bütün vocabulary üzerinde bir olasılık dağılımı çıkarır (örn: 50K token, her birine olasılık). Top-p (ya da nucleus sampling), bu dağılımdan örnekleme yaparken sadece en olası token'larla ilgilenir.

Çalışma şekli: token'ları olasılığa göre sırala. Yukarıdan toplaya toplaya, kümülatif olasılık p'yi geçtiğinde dur. Geriye kalan, "nucleus" denilen küçük bir alt kümedir. Sadece bu kümeden örnek al.

Tipik değerler: - top_p = 1.0: tüm token'lar dahil (sınırsız çeşitlilik, riskli) - top_p = 0.9: standart "biraz çeşitli" (çoğu kullanım için iyi) - top_p = 0.5: dar, daha tutucu - top_p = 0.1: çok dar, neredeyse deterministik

Temperature ile birlikte kullanılır — top_p hangi token'ların seçilebilir olduğunu, temperature seçim olasılıklarını şekillendirir.

Benzetme

Bir restoranda menüyü sınırlamak gibi. Tüm menüyü açık bırakırsan (top_p=1) garson sana eski tarihli az satılan bir şey de getirebilir (riskli). En çok tutulan %90'ı aç (top_p=0.9), garip seçimleri ele — yine de bir miktar çeşitlilik var. Sadece top 5'i aç (top_p=0.1) — her zaman aynı 3-4 yemek arasından seçilir.

Gerçek dünyadan örnek

GPT-4 ile yaratıcı bir hikaye giriş cümlesi yazdırıyorsun.

top_p = 1.0: "Once upon a time" / "It was a dark and stormy night" / "Wherein the silver moths of dawn..." → bazen klişe, bazen aşırı garip karışım.

top_p = 0.9: "Once upon a time" / "Long ago in a forgotten kingdom" / "She had always known..." → çeşitli ama anlamlı.

top_p = 0.3: "Once upon a time" / "There was once" / "Long ago" → güvenli, klişe, tahmin edilebilir.

Genelde temperature=0.7, top_p=0.9 üretim için iyi başlangıç. OpenAI dokümantasyonu da ikisinden birini ayarla diyor — ikisini birden değil.

Ne zaman kullan
  • Yaratıcı/çeşitli çıktı isterken — top_p=0.9-0.95
  • Garip kelimelerin aniden çıkmasını önlemek (top_p=1 yerine 0.95)
  • Sınıflandırma/structured output — top_p=0.1 deterministik
  • Uzun metin üretimi — top_p büyüklük tutarlılığı sağlar
Ne zaman kullanma
  • Temperature ile birlikte agresif kullanmak (ikisi de 1.5+ → kaos)
  • Tek başına 'kalite ayarı' sanmak — prompt + örnekler daha önemli
  • JSON/structured output — düşük temperature + low top_p kullan
Sık yapılan hatalar

top_p ile temperature arasında karışma

Çoğu rehber 'birini ayarla, diğerini default bırak' der. İkisini birden agresif değiştirmek beklenmedik sonuçlar üretir. OpenAI bile dokümantasyonda uyarıyor.

top_p = 0 ile temperature = 0 farkı

top_p=0 modelin sadece en olası token'ı seçeceği anlamına gelmez (matematik öyle çalışmaz). Tam deterministik için temperature=0 daha doğru.

Reasoning model'lerde manuel ayar

o1, Claude reasoning gibi modellerde temperature/top_p elle ayarlanmıyor — model kendi optimize ediyor. Manuel müdahale çoğu zaman geri tepiyor.