Logit Yanlılığı (Logit Bias)
Araç kavramlarıLogit bias nedir?
Dil modeli her adımda sözlüğündeki her token için bir ham skor üretir; bunlara logit denir. Softmax bu skorları olasılığa çevirir, sampling de o olasılıklardan bir token seçer.
Logit bias, softmax devreye girmeden önce belirli tokenlerin skoruna elle bir sayı eklemektir. Pozitif değer o tokenin seçilme ihtimalini artırır, negatif değer azaltır. Yeterince büyük negatif bir değer (pratikte -100 civarı) tokeni fiilen yasaklar.
Nasıl çalışır?
API'ye token ID'si ve bias değerinden oluşan bir eşleme verilir: {"1734": -100, "9906": 5}. Model üretim sırasında ilgili tokenin logit'ine bu sayıyı ekler.
Ölçek önemlidir. -1 ile +1 arası küçük dokunuşlardır, olasılığı biraz kaydırır. ±5 belirgin etkidir. -100 ve üzeri fiilen kapatmadır, çünkü softmax sonrası olasılık sıfıra yaklaşır.
En sık yapılan hata, kelime yerine token seviyesini unutmaktır. Bir kelime birden fazla tokene bölünebilir ve baştaki boşluk ayrı bir token üretir — "elma" ile " elma" farklı ID'lerdir. Bias vermeden önce tokenizer ile kelimenin gerçekte hangi tokenlere bölündüğüne bakmak gerekir; yoksa yasak sandığın kelime rahatça geçer.
Hugging Face transformers tarafında aynı iş LogitsProcessor sınıflarıyla yapılır; temperature ve repetition penalty de aslında aynı noktaya, logit'lere müdahale eder.
Neden önemli?
Temperature ve top-p tüm dağılımı topluca etkiler; logit bias tek tek tokenleri hedefler. Cerrahi müdahale gerektiğinde tek yol budur.
Ayrıca ucuzdur. Aynı sonucu prompt'a "şu kelimeyi kullanma" yazarak elde etmeye çalışmak hem token harcar hem de model bazen dinlemez. Logit bias mimari seviyede uygular, dinlememe ihtimali yoktur.
Kullanım alanları
- Sınıflandırmada çıktıyı sabit etiketlere kilitleme
- Marka adı, küfür ya da rakip ismi gibi istenmeyen tokenleri kapatma
- Modeli belirli bir formatta başlamaya yönlendirme
- Tekrarlayan kalıpları bastırma
- Stop sequence yeterli olmadığında üretimi erken kesme
Sınırı da bilmek gerekir. Logit bias tek tek tokenlere etki eder, cümle seviyesinde anlam kontrolü yapmaz. Bir markanın adını kapatabilirsin ama modelin o markayı tarif etmesini engelleyemezsin. Uzun listelerle çalışmak da zahmetlidir; onlarca kelimeyi yasaklamak gerekiyorsa üretim sonrası filtre ya da guardrails katmanı genelde daha sürdürülebilir bir çözümdür.
Ilgili terimler
