Atlas’ta ara

Keşfetmeye buradan başla

Öğren/Token

Bir kelime nasıl sayıya dönüşür?

Token, kimlik ve embedding: dil modellerinin giriş kapısını iki küçük deneyle aç.

ÖN BİLGİ

Bu yazıyı rahat izlemek için şunlara önce bakmış olman iyi olur:

01Kelime, her zaman tek parça değildir#

İnsanlar bir metni kelimeler olarak görmeye alışkındır. Dil modellerinin girişindeki birimler ise token olarak adlandırılır. Bir kelime tek token olabilir veya birkaç parçaya bölünebilir. Tokenizer, kullandığı sözlüğe ve algoritmaya göre bu sınırları belirler.

Şimdi iki cümleyi üç adımda incele. Kimliklerin küçük veya büyük olması bir anlam sıralaması oluşturmaz. Bunlar bir tablodaki satırı bulmak için kullanılan adreslerdir.

01

Metinden tokenlara

Temsili görselleştirme
Önce bir cümle
“Yapay zekâyı anla.”
?token
?token
?token
?token
?token

Modelin ilk işi anlam çıkarmak değil, metni işlenebilir birimlere ayırmaktır.

1 / 3
Parçalar ve kimlikler öğretim için elle seçilmiştir; gerçek bir tokenizer çıktısı değildir. ␣, baştaki boşluğu görünür kılar.

Bu örnekte sınırları biz seçtik. Gerçek bir token sayısı ölçmek istiyorsan, kullanacağın modelin kendi tokenizerını çalıştırman gerekir. “Bir kelime her zaman bir tokendır” gibi bir kural yoktur.

Sınırları bir algoritmanın nasıl çizdiğini görmek için BPE laboratuvarında kendi metnini dene. Küçük bir veri kümesinden hesaplanan kuralların hangi parçaları birleştirdiğini adım adım izleyebilirsin.

02Bir kimliğin arkasındaki sayı listesi#

Model, her kimliği bir embedding tablosundaki vektörle eşler. Bir vektör, sıralı bir sayı listesidir. Başlangıçta seçilen bu sayılar, eğitim sırasında modelin görevine uygun biçimde güncellenebilir. Vektör fikri yabancıysa, matematik ön bilgisi yazısı kısa bir tekrar sunuyor.

02

Kelimelerin sayısal komşuluğu

Hesaplanan · temsili girdiler

Bir kelime seç, ardından başka bir kelimeyle vektörünü karşılaştır.

Temsili 2B görünüm · eksenlerin anlamsal etiketi yokkediköpekelmaarmutuçak
kedi→[ 0.82 , 0.68 , -0.15 , 0.30 ]
köpek→[ 0.76 , 0.81 , -0.10 , 0.18 ]
kedi ↔ köpek4B vektörlerden hesaplanan kosinüs0.985

Bu iki örnek vektör benzer yönlere bakıyor. Bu sayı bir olasılık veya kelimelerin “anlamca yüzde kaç aynı” olduğunun ölçüsü değildir.

Benzerlik nasıl hesaplanıyor?

cos(a, b) = Σ(aᵢ × bᵢ) / (‖a‖ × ‖b‖)

Aynı konumdaki değerleri çarpıp toplar, sonucu iki vektörün uzunluklarının çarpımına böleriz. Burada dört boyutun tamamı kullanılır; yukarıdaki çizimdeki uzaklık kullanılmaz. Pozitif bir sayıyla ölçeklemek yönü ve kosinüs benzerliğini değiştirmez.

Bir embedding’in her ekseni “canlılık” gibi tek bir özelliğe karşılık gelmek zorunda değildir. Gerçek bir modelde bu benzerliğin ne kadar yararlı olduğu, eğitime ve göreve bağlıdır.

Kosinüs benzerliği, gösterilen dört boyutlu vektörlerden gerçekten hesaplanır. Vektörler ve 2B konumlar elle seçilmiştir; çizim bu vektörlerin projeksiyonu veya eğitilmiş model çıktısı değildir.

Grafik bir sezgi kurmak için var: ilişkili öğelerin temsilleri birbirine yakın olabilir. Ancak gerçek embedding’ler çok boyutludur. Onları iki boyutta çizmek bilgi kaybettirebilir; ekranda yakın görünen her nokta çifti, özgün uzayda da aynı derecede yakın olmak zorunda değildir.

Bu yüzden karşılaştırmadaki kosinüs benzerliğini, çizimdeki noktalar arasındaki uzaklıktan değil, dört boyutlu vektörlerin tamamından hesaplıyoruz. “kedi”yi önce “köpek”le, sonra “uçak”la karşılaştır. Sayı vektörlerin yön ilişkisini anlatır; bir doğruluk oranı veya anlam eşitliği yüzdesi değildir.

03Aynı token, farklı bağlam#

Girdi tablosundaki vektör yalnızca kimliğe bağlıdır. Ama dil bağlama bağlıdır. “Bir yüz çiz” ile “yüz sayfa oku” ifadelerinde aynı yazım farklı görevler üstlenir. Transformer katmanları, başlangıç vektörlerini çevredeki tokenlardan gelen bilgiyle dönüştürür.

Bu bilgi alışverişinin adı attention; onu attention’ın kendi yazısında göreceksin. Önce bu vektörlerin nasıl öğrenildiğine bakalım: Bir model, hatasından nasıl öğrenir?

KENDİNİ SINA

Bu yazıyı bitirdiğinde:

  • Bir kelimenin neden tek parça olmayabileceğini (token) açıklayabilirsin.
  • Bir token kimliği ile onu temsil eden sayı listesi (embedding) arasındaki farkı anlatabilirsin.
  • Aynı tokenın farklı bağlamlarda neden farklı temsil alabildiğini söyleyebilirsin.

Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.

İlerleme yalnızca bu tarayıcıda saklanır.
BAĞLANTILI KAVRAMLAR

Bir fikri diğerine bağla.

Rotanı gör: sıradaki adım ne? Bütün dersler