Atlas’ta ara

Keşfetmeye buradan başla

Öğren/Token

Tokenların sınırını kim çizer?

BPE’nin sık görülen parçaları nasıl birleştirdiğini keşfet. Kendi metnini yaz, öğrenilen kuralları adım adım çalıştır.

ÖN BİLGİ

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

01Bir kelimenin içinde kaç parça var?#

“Kediler” yazdığında sen tek bir kelime görürsün. Bir dil modelinin önündeyse bir seçim vardır: bunu tek parça olarak mı, “kedi” ve “ler” olarak mı, yoksa harf harf mi temsil etmeli? Bu karar, modelin okuyacağı dizinin uzunluğunu değiştirir.

Her kelimeye ayrı bir yer ayırmak, yeni kelimelerle karşılaşınca zorlaşır. Her şeyi harflere ayırmak ise sık kullanılan ifadeleri bile uzun dizilere dönüştürür. Alt kelime tokenizasyonu, parçaların tekrar kullanılabildiği bir ara yol sunar. BPE, bu parçaları oluşturmanın yöntemlerinden biridir.

Önce token ile embedding arasındaki farkı görmek istersen kısa bir girişimiz var. Burada daha dar bir sorunun peşindeyiz: parçaların sınırları nasıl öğrenilir?

02Sık görülen komşuları birleştir#

Karakter tabanlı basit bir BPE eğitimi, kelimeleri tek tek karakterlere ayırarak başlar. Bütün eğitim verisindeki komşu çiftler sayılır. En sık çift birleştirilir; oluşan yeni parçalarla sayım tekrarlanır. Böylece sıralı bir birleştirme listesi oluşur. Bu, yeni metne uygulanacak kural listesidir. Hugging Face’in BPE anlatımı bu iki aşamayı birlikte açıklar.

Bizim küçük veri kümemizde “kedi” 12, “kediler” 8 ve “kedim” 4 kez geçiyor. Bu yüzden ilk turda k + e çifti 24 kez sayılıyor. Aynı sıklıktaki çiftlerde, veri içinde önce karşılaşılanı seçiyoruz. İlk birleşme “ke”; sonraki turlarda bu yeni parça da başka bir parçayla birleşebilir.

Bu tercih “kedi”nin bir hayvan olduğunu bilmeye dayanmaz. Algoritma burada anlam çözümlemesi yapmaz; tekrar eden komşulukları sayar.

03Şimdi kuralları kendi metninde çalıştır#

“kediler kedim” ile başla. Sonraki adım düğmesine bastıkça, öğrenilmiş bir kuralın metinde bulduğu çiftler birleşecek. Aynı adımda birden çok eşleşme değişebilir. Alttaki ayrıntıyı açıp kuralın eğitim verisinde ne kadar sık görüldüğünü de inceleyebilirsin.

01

BPE: küçük parçalar birleşiyor

Hesaplanan · temsili girdiler
13 / 80 kod noktası

Metnin yalnızca tarayıcında işlenir. Büyük ve küçük harfler farklıdır.

BAŞLANGIÇ · TEK TEK KARAKTERLER13 token
kediler␣kedim
Önce harfleri gör.Sonra öğrenilmiş çiftleri birleştir.␣ boşluk · ↵ satır sonu · ⇥ sekme
1 / 7

Her adım, sıradaki uygun kuralın eşleşen çiftlerini soldan sağa birleştirir. Boşluklar ve noktalama sınırları aşılmaz. Mavi parçalar son birleşmenin sonucudur.

Bu kurallar nereden geliyor?

Her turda eğitim verisindeki en sık komşu çift seçilir, birleştirilir ve çiftler yeniden sayılır. Eşitlikte aşağıdaki veri sırası belirleyicidir. Deney 10 kural öğrendikten sonra durur.

kedi × 12kediler × 8kedim × 4köpek × 6köpekler × 5evler × 3
Öğrenilme sırasıyla birleştirme kuralları
SıraÇift → parçaO turdaki sıklık
1k + e → ke24
2ke + d → ked24
3ked + i → kedi24
4l + e → le16
5le + r → ler16
6k + ö → kö11
7kö + p → köp11
8köp + e → köpe11
9köpe + k → köpek11
10kedi + ler → kediler8

Yeni metinde sıklıklar yeniden öğrenilmez. Kurallar bu sırayla uygulanır; eşleşmeyen kurallar görsel adımlarda atlanır. Sözcük sonu işareti ve Unicode normalizasyonu bu basit örneğe dahil değildir.

Birleştirmeler gerçek BPE hesabıdır; altı kelimelik eğitim verisi öğretim için seçilmiştir. Karakter tabanlı bu deney, GPT veya başka bir modelin tokenizerı değildir. Token sayısı yalnızca bu deneye aittir.

Sonra “Kedi, kedi! 🐈” örneğine geç. Büyük K, küçük k ile aynı işaret olmadığı için iki yazım aynı biçimde birleşmez. Virgül, boşluk ve emoji de kaybolmaz. Bu deney, eğitimde görmediği işaretleri tek tek korur; dolayısıyla sonuç tam bir model sözlüğüne ait token kimlikleri içermez.

04Öğrenmek ile uygulamak farklı işlerdir#

Yeni cümlede en sık çifti yeniden seçmiyoruz. Eğitimde elde edilmiş sıraya bakıyor, eşleşen kuralları uyguluyoruz. Yoksa aynı sözcüğün parçaları, yanına yazdığın cümlelere göre gelişigüzel değişirdi.

Laboratuvardaki adım numarası ile kural numarası bu yüzden farklı olabilir. Örneğin ilk dört kural bir metne uymuyorsa, görünen ilk birleşme beşinci kuralla gerçekleşebilir. Görsel, hiçbir şeyi değiştirmeyen kuralları atlar; öğrenilmiş önceliği değiştirmez.

Tokenizerın eğitimi ile Transformer’ın eğitimi de aynı işlem değildir. Bu deney birleştirme kuralları çıkarır. Dil modelinin eğitimi ise, bu tokenlarla yapılan tahminlerin hatasına göre model parametrelerini günceller.

05Parçalar, dilbilgisi kuralları değildir#

BPE bazen bir kökü veya eki andıran parçalar bulabilir. Her zaman bulması gerekmez: sıklıkla seçilen bir çiftin dilbilimsel anlam taşıması şart değildir. Farklı eğitim verisi, normalizasyon veya kural sayısı farklı sınırlar oluşturabilir.

Alt kelime birimlerinin az görülen sözcükleri temsil etmedeki rolü, Sennrich, Haddow ve Birch’in makinesel çeviri çalışmasında ayrıntılı olarak incelenir. BPE’nin bir NLP uygulamasındaki motivasyonunu anlamak için iyi bir başlangıçtır.

Parçalar hazır. Transformer anlatımında şimdi bu tokenların sayısal temsillere dönüşmesini, ardından attention ile birbirinden bilgi almasını izleyebilirsin.

KENDİNİ SINA

Bu yazıyı bitirdiğinde:

  • BPE’nin sık görülen komşu parçaları nasıl birleştirdiğini anlatabilirsin.
  • Kuralları öğrenmek ile yeni metne uygulamak arasındaki farkı açıklayabilirsin.
  • Token sınırlarının dilbilgisi kuralları olmadığını bir örnekle gösterebilirsin.

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