01Dağılım hazır; seçim kuralı ayrı bir karar#
Transformer anlatımında gördüğün gibi, model her adımda sözlükteki her token için bir olasılık üretir. Bu dağılımın kendisi seçimi yapmaz; bir seçim kuralı gerekir. İki uç nokta: greedy decoding, her zaman en yüksek olasılıklı tokenı alır. Örnekleme, dağılıma göre rastgele seçer; düşük olasılıklı bir token da, nadiren de olsa, seçilebilir.
Sıradaki token ne olabilir?
Sıcaklık sıralamayı değiştirmez; olasılıkları değiştirir. Örneklemede en olası token her zaman seçilmez.
Logitleri ve formülü gör
pᵢ = exp(zᵢ / T) / Σⱼ exp(zⱼ / T). Başlangıç logitleri: [2.8, 1.9, 1.5, 0.8]. İkinci adım: [2.6, 1.6, 1.1, 0.9]. Sözlüğümüz yalnızca dört adaydan oluşur; gerçek modeller çok daha geniş bir sözlük üzerinde dağılım üretir.
Aynı dağılım üzerinde “En olasıyı seç” ile “Dağılımdan örnekle” düğmelerini sırayla dene. Greedy her zaman aynı sonucu verir. Örnekleme ise sıcaklığa ve o anki rastgele sayıya bağlı olarak değişebilir. Sıcaklık sıralamayı değiştirmez; yalnızca olasılıkları birbirine yaklaştırır veya birbirinden uzaklaştırır.
02Adayları önceden eleyen kurallar#
Saf örnekleme, çok düşük olasılıklı bir adayı da teorik olarak seçime açık bırakır. Uygulamada bunu sınırlamak için iki yaygın yöntem kullanılır. Yukarıdaki diyagramın ilk turundaki gerçek sayılarla göster:
| Aday | Logit | Olasılık (T=1) | Kümülatif |
|---|---|---|---|
| parlıyor | 2.8 | %55.1 | %55.1 |
| batıyor | 1.9 | %22.4 | %77.5 |
| doğuyor | 1.5 | %15.0 | %92.5 |
| ısıtıyor | 0.8 | %7.5 | %100.0 |
Top-k örnekleme, en yüksek olasılıklı sabit sayıda adayı tutar, gerisini atar. k=2 seçilirse yalnızca “parlıyor” ve “batıyor” kalır; bu iki olasılık toplam %77,5’i oluşturduğu için örnekleme öncesi yeniden ölçeklenip %71,1 ve %28,9 yapılır. Top-p (nükleer) örnekleme ise sabit bir aday sayısı değil, sabit bir kümülatif olasılık eşiği kullanır. p=0,9 seçilirse, kümülatif toplam %90’ı geçene kadar sırayla aday eklenir: burada ilk üç aday (%92,5) yeterli olur, “ısıtıyor” dışarıda kalır.
Diyagramın ikinci turundaki dağılım daha düzdür (logitler 2.6 / 1.6 / 1.1 / 0.9). Orada ilk üç adayın kümülatif toplamı yalnızca %89,7’dir; p=0,9 eşiğini geçmek için dördüncü aday da gerekir. Bu, top-k ile top-p arasındaki asıl farkı gösterir: top-k her zaman aynı sayıda adayı tutar, top-p dağılımın ne kadar keskin veya düz olduğuna göre aday sayısını kendisi değiştirir. Üretim stratejileri karşılaştırması ↗
03Hiçbir seçim kuralı doğruluğu garanti etmez#
Greedy decoding bazen aynı ifadeyi tekrarlayan, sıkışmış bir metne yol açabilir; çünkü en olası tek adayı seçmek, bağlamda tekrar eden bir örüntüyü güçlendirebilir. Örnekleme çeşitliliği artırır ama rastgeleliği de getirir: aynı girdi, aynı modelle, farklı bir çıkış üretebilir. Top-k ve top-p bu rastgeleliği sınırlar; ortadan kaldırmaz.
Seçilen her token, bir sonraki adımın bağlamına eklenir; sonraki dağılım bu genişlemiş bağlamdan yeniden hesaplanır. Üretim böylece tek bir karar değil, birbirini izleyen küçük seçimlerden oluşur. Her birinde aynı soruyla karşılaşırsın: en olası olanı mı almalı, yoksa dağılıma güvenip örnekleme mi yapmalı?
Hiçbir seçim kuralının çözemediği bir soru var: bu akıcı metin, doğru mu? Üretimin neden yavaşladığını Dil modeli neden yavaşlar? yazısında, ham bir modelin nasıl bir asistana dönüştüğünü Ham dil modeli, asistana nasıl dönüşür? yazısında görebilirsin. Sınırların tamamı ise yolculuğun son durağında: Bir model ne zaman yanılır?
Bu yazıyı bitirdiğinde:
- Olasılık dağılımı ile seçim kuralının ayrı kararlar olduğunu anlatabilirsin.
- Sıcaklık, top-k ve top-p’nin neyi değiştirdiğini açıklayabilirsin.
- Hiçbir örnekleme kuralının doğruluğu garanti etmediğini söyleyebilirsin.
Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.
Dil modeli neden yavaşlar?
Orta · 8 dk okuma