LLM'lerde temperature, top-k ve top-p (nucleus) sampling parametreleri ne işe yarar?
Cevap
LLM her adımda vocabulary üzerinde bir olasılık dağılımı üretir. Bu parametreler, bir sonraki token'ın bu dağılımdan nasıl seçileceğini kontrol eder.
Temperature
Logit'ler softmax'tan önce T'ye bölünür: p = softmax(z / T).
- T < 1: Dağılım keskinleşir, yüksek olasılıklı tokenlar daha baskın olur. Daha tutarlı, deterministik çıktı.
- T = 1: Modelin orijinal dağılımı.
- T > 1: Dağılım düzleşir, çıktı daha çeşitli ama hata ve tutarsızlık artar.
- T → 0: Greedy decoding (her zaman en olası token).
Top-k
Sadece en olası k token tutulur, olasılıklar yeniden normalize edilir ve bunlardan örnekleme yapılır. Sorun: k sabittir. Model çok eminken de k aday tutar, çok belirsizken de.
Top-p (nucleus)
Olasılıklar büyükten küçüğe sıralanır ve kümülatif olasılığı p'yi (örneğin 0.9) geçen en küçük küme tutulur. Aday sayısı modelin belirsizliğine göre dinamik olarak değişir.
import numpy as np
def sample(logits, T=0.7, top_p=0.9):
p = np.exp((logits - logits.max()) / T); p /= p.sum()
idx = np.argsort(p)[::-1]
cum = np.cumsum(p[idx])
keep = idx[: np.searchsorted(cum, top_p) + 1]
q = p[keep] / p[keep].sum()
return np.random.choice(keep, p=q)Pratik öneriler
| Kullanım | Ayar |
|---|---|
| Bilgi çıkarma, sınıflandırma, JSON, kod | Düşük temperature (0–0.3) |
| Genel sohbet | 0.5–0.8, top-p 0.9 civarı |
| Yaratıcı yazım, beyin fırtınası | 0.8–1.0+ |
Genel kural: temperature ve top-p'yi aynı anda agresif değiştirmeyin, birini ayarlayın. Temperature 0 bile GPU'daki paralel hesaplama ve batching yüzünden her zaman bit düzeyinde aynı çıktıyı garanti etmez. Ayrıca bazı reasoning modelleri sampling parametrelerini sabitler veya kısıtlar.
İlgili LLM & Üretken YZ soruları
- RAG'de chunking stratejisi, hybrid search ve reranker neden önemlidir? Retrieval kalitesi düşükse ne yaparsınız?
- Şirket içi dokümanlar (Confluence, PDF, wiki) üzerinde soru cevaplayan bir RAG sistemi tasarlayın.
- Hangi prompt engineering tekniklerini kullanırsınız? Few-shot ve chain-of-thought ne zaman işe yarar?
- Production'daki bir LLM uygulamasında maliyeti ve gecikmeyi (latency) nasıl düşürürsünüz?
- Prompt injection nedir? LLM tabanlı bir uygulamayı ve agent'ı buna karşı nasıl korursunuz?
- Bir LLM uygulamasını nasıl değerlendirirsiniz? Benchmark'lar ve LLM-as-judge yaklaşımının sınırlamaları nelerdir?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.