yapay zekâLLMTokenlar1 dk okuma

LLM’ler Sonraki Kelimeyi Nasıl Seçer?

Bir yapay zekâyla sohbet ederken yanıt genellikle biri yazıyormuş gibi parça parça görünür. Bunun arkasındaki süreç, göründüğünden daha basittir. Büyük dil modeli, yani LLM, küçük bir işlemi tekrar tekrar yapar: o ana kadarki metne bakar ve sırada ne gelebileceğini tahmin eder. Bu yazıda bu tahminin nasıl yapıldığını göreceğiz.

Öncelikle modeller harfleri veya tam kelimeleri okumaz. tokenları okurlar. Token, küçük bir metin parçasıdır. Çoğu zaman önündeki boşlukla birlikte kısa bir kelime, bazen uzun bir kelimenin parçası, bazen de tek bir semboldür. Metnin nasıl ayrıldığını görmek için aşağıya bir şeyler yazın.

Etkileşimli
Tokenizer yükleniyor…
62
Karakter
10
Kelime
…
Tokenlar

GPT-4o tarafından kullanılan o200k_base tokenizerının gerçek tokenları. Diğer modeller farklı tokenizerlar kullandığı için sayılar oldukça değişebilir. Nokta (·) boşluğu, ×2 ise bir karakterin iki tokena bölündüğünü gösterir.

Yaygın İngilizce kelimeler genellikle tek bir tokena karşılık gelir. Uzun veya nadir kelimeler parçalara, sayılar küçük rakam gruplarına ayrılır; birçok emoji de birden fazla token gerektirir. Bu örnekte Türkçe cümle, İngilizce cümleden daha fazla token kullanır. Farklı tokenizerlar aynı metni farklı böler; bu yüzden sayılar dillere ve modellere göre değişir. Bu önemlidir, çünkü bir model aynı anda sınırlı sayıda token okuyabilir ve birçok yapay zekâ hizmeti token başına ücret alır.

Şimdi asıl fikre gelelim. Model her adımda bildiği her tokena bir olasılık verir. Tek bir yanıt yerine, her biri bir yüzdeyle ifade edilen olasılıklar listesi oluşturur. Aşağıdan bir cümle seçip en olası sonraki tokenlara bakın.

Etkileşimli
The cat sat on the?
En olası 10 sonraki token · denemek için dokunun, üzerine gelin veya odaklanın
  • mat
    31%
  • floor
    14%
  • couch
    9.0%
  • bed
    8.0%
  • edge
    5.0%
  • table
    4.0%
  • chair
    3.5%
  • ground
    3.0%
  • roof
    2.5%
  • sofa
    2.0%
diğerlerikalan olasılığı on binlerce başka token paylaşır18%
Öne çıkan bir seçenek var, ama birçok devam anlamlı.

Fikri göstermek için elle belirlenmiş örnek olasılıklar. Gerçek bir model, sözlüğündeki her token için bir değer üretir.

Fransa örneğinde bir token neredeyse tüm olasılığı alır. Yemek örneğinde ise olasılıklar daha dağınıktır. Gerçek bir model, eğitim metinlerinden örüntüler öğrenir ve mevcut metni kullanarak sırada ne geleceğini tahmin eder. Modelin kendisi bilgi aramaz; ancak bir sohbet botu bilgi aramak için araçlar da kullanabilir.

Model her zaman en olası tokenı seçseydi, aynı soruya neredeyse hep aynı yanıtı verirdi ve metinleri çoğu zaman tekdüze ve tekrarlı olurdu. Bu yüzden birçok uygulama, olasılıklara göre rastgele bir token seçmesine izin verir. temperature adlı ayar, bu seçimin ne kadar cesur olacağını belirler. Düşük temperature olası tokenları daha da olası hale getirir. Yüksek temperature ise dağılımı düzleştirir; böylece alışılmadık tokenlar daha sık seçilir. Kaydırıcıyı hareket ettirip birkaç kez örnekleyin.

Etkileşimli
  • mat
    38%
  • floor
    17%
  • couch
    11%
  • bed
    9.8%
  • edge
    6.1%
  • table
    4.9%
  • chair
    4.3%
  • ground
    3.7%
  • roof
    3.0%
  • sofa
    2.4%

Modelin sonraki tokenı 20 kez seçmesi için 20 kez örnekle düğmesine basın.

Örnek olasılıklar. Basit tutmak için bu demo yalnızca gösterilen 10 tokenı kullanır. T > 0 olduğunda her p olasılığı p^(1/T) değerine dönüştürülür ve toplamları %100 olacak şekilde ölçeklenir. T = 0 olduğunda demo en olası tokenı seçer.

Aynı sorunun her seferinde farklı bir yanıt alabilmesinin nedeni budur. Düşük temperature seçimleri daha az rastgele hale getirir; yüksek temperature daha fazla çeşitlilik sağlar. Ancak rastgeleliğin azalması, kodun doğru olacağını veya bilgilerin gerçek olacağını garanti etmez.

Rastgele seçimin küçük bir riski vardır. Çok düşük olasılıklı tokenlar da ara sıra seçilebilir ve tek bir tuhaf token, cümleyi bambaşka bir yöne götürebilir. Yaygın iki ayar, listenin düşük olasılıklı ucunu keser. Top-k yalnızca en olası k tokenı tutar. Top-p ise toplam olasılığı en az p değerine ulaşan, en olası tokenlardan oluşan en küçük kümeyi tutar.

Etkileşimli
  • pizza
    56%
  • pasta
    22%
  • sushi
    22%
  • chicken
    –
  • definitely
    –
  • probably
    –
  • steak
    –
  • Mexican
    –
  • ice
    –
  • tacos
    –
Top-k her zaman aynı sayıda token tutar: 3 tanesi tutuldu, 7 tanesi çıkarıldı. Tutulanların olasılıkları yeniden %100’e ölçeklenir.

Yalnızca gösterilen 10 tokenı kullanan örnek olasılıklar.

Top-p duruma uyum sağlar. Modelin emin olduğu durumlarda bir veya iki token yeterlidir. Emin olmadığında ise daha fazla token seçenekler arasında kalır. Birçok yapay zekâ aracı temperature, top-k ve top-p ayarlarını değiştirmenize; bazıları da birkaçını aynı anda kullanmanıza izin verir.

Şimdi hepsini birleştirelim. Tam bir yanıt yazmak için model aynı adımları tekrarlar: mevcut metni oku, her tokena bir olasılık ver, birini seç, metne ekle ve yeniden başla. Uzun bir yanıttaki her token, birbiri ardına bu şekilde üretilir.

Etkileşimli
Once upon a time
Adım 1/8 · en olası 4 sonraki token
  • there
    58%
  • in
    21%
  • ,
    9.0%
  • a
    4.0%
Model, en olası token olan “there” seçeneğini seçip metne ekler. Ardından daha uzun metinle yeniden başlar.

Örnek olasılıklar. Burada model her zaman en olası tokenı seçer; buna greedy decoding denir. Sampling kullanılsaydı başka bir dala ilerleyebilir ve cümlenin devamı değişebilirdi.

Bir LLM böyle yazar. Olası bir sonraki tokenı tekrar tekrar seçer. Bu süreç, en bilinen sorunlarından birini de açıklar. Modelin temel amacı gerçekleri kontrol etmek değil, metni olası bir şekilde sürdürmektir. Bir tokenın yüksek olasılığa sahip olması, yanıtın doğru olduğu anlamına gelmez. Kendinden emin ama yanlış bir yanıt da olası bir devam gibi görünebilir. Buna halüsinasyon denir.


Bu içerik size yardımcı olduysa bana bir kahve ısmarlayabilirsiniz.
İlgili yazıCUDA’ya Giriş

yazılım, tasarım ve yapay zekâ üzerine etkileşimli yazı ve kurslardan haberdar olmak için bültene katılabilirsiniz. Ayda en fazla birkaç e-posta alırsınız.


Destekçiler arasına katılın