Kelimelerden Sayılara
Sınırdaki Bir Çevirmen
Bir dil modeli asla metin görmez. Tam sayılar görür. Bir tokenizer, sınır geçişinde oturur: insan kelimeleri akar gelir, tam sayı kimlikleri akar çıkar. Üretim, akışı tersine çevirir: tam sayı kimlikleri geri döner, bir tokenizer metni oluşturur.
Üç görev:
1. Parçalara Ayır. Bir dizeyi parçalara (token'lara) böl.
2. Haritala. Her parçaya sabit bir kelime haznesinden benzersiz bir tamsayı KİMLİĞİ ata.
3. Tersine Çevir. Üretim zamanında KİMLİK'lerden metni yeniden oluştur.
Neden Parçalar, Bütün Kelimeler Değil
Bütün kelime haznesi patlar. İngilizce bile yüz binlerce forma sahip. Daha kötüsü, bütün kelimelerle eğitilmiş bir model bir yazım hatasını, yeni bir ismi veya yabancı bir ifadeyi işleyemez: görülmemiş herhangi bir kelime tek bir <UNK> yuvasına haritalanır.
Alt kelime tokenizasyonu bunu düzeltir. Yaygın parçalardan oluşan bir kelime haznesi, eğitim sırasında hiç görülmemiş kelimeler dahil herhangi bir kelimeyi oluşturur. İki strateji baskındır: BPE (byte pair encoding) & distributional segmentation. ANDREA ikinci bir strateji seçer.
Neden Alt Kelime
Bir Kelime Nerede Kesilir
Zellig Harris, 1955
Zellig Harris adlı bir dilbilimci bir şey fark etti. Bir kelimenin içinde, belirli bir harf dizisini takip eden farklı harflerin sayısı keskin bir şekilde değişir. undan sonra onlarca harf bulunabilir: a, b, c, d, e ... unbelden sonra ise sadece çok küçük bir küme takip eder: i (sonra ievable).
Takipçi çeşitliliğinde bir sıçrama, olası bir morfem sınırını işaret eder. un (bir önek) sonrasında çeşitlilik artar çünkü birçok kök takip edebilir. believ gibi bir kökün içinde çeşitlilik düşük kalır çünkü harfler birbirini öngörür. Morfemler arasındaki geçişte çeşitlilik tekrar sıçrar.
Çeşitlilik Sıçramalarından Segmentlere
Eğitim korpusu boyunca bu detektörü çalıştırın. Her kelime istatistiksel kanıt bağışlar. Bir tokenizer, morfem şeklinde sınırlarınızda tekrar eden yüksek frekanslı segmentleri toplar: un, re, pre, believ, know, ing, able, ly, tion, ed.
Etiket yok. Dilbilimci morfemleri el ile etiketlemez. Harf birlikte görünümünün bir istatistiği işi yapar.
Harris vs BPE
| Özellik | Harris | BPE |
|---|---|---|
| Sınır kriteri | Halef çeşitliliği pik'i | Çift frekansı |
| Dilbilimsel şekil | Morfemle hizalanmış (ön ek, kök, son ek) | Sık bayt çiftleri |
Örnek: unbelievably | un + believ + abl + y | unb + eli + eva + bly |
| Genelleştirme | Güçlü (kök + ek yeniden birleşir) | Daha zayıf (çiftlerin hizalanması gerekmez) |
Her ikisi de alt kelime parçaları üretir. Harris parçaları, bir dilbilimcinin morpheme dediği en küçük anlamlı birimle uyum eğilimindedir. BPE parçaları sıkıştırmayı optimize eder: en sık bayt çifti, anlamdan bağımsız olarak birleştirilir.
Bir Kelimeyi Parçalama
Üç Kelime Dağarcığı Katmanı
Bir ANDREA Kelime Dağarcığının Anatomisi
Harris tokenizasyonu, üç katmandan oluşan bir kelime dağarcığı üretir:
Slab 1: 256 temel bayt. Her olası UTF-8 baytı (0x00'den 0xFF'e kadar) kendi token ID'sini alır. Bir güvenlik ağı: bir korpusun içerdiği herhangi bir karakter, bir tokenizer tarafından bayt dizisi olarak temsil edilebilir. Hiçbir <UNK> tetiklenmez.
Slab 2: N morfom segmenti. Dağılımsal analiz yoluyla keşfedilen yaygın parçalar. ANDREA-12M eğitiminde N = 4096; ANDREA-120M eğitiminde N = 8192. Her segment, tekrar eden çok baytlı bir diziyi tek bir tokene sıkıştırır.
Slab 3: 1 BOS tokeni. Her eğitim dizisinin başına yerleştirilen özel bir işaretleyici. Modelin 'bu konumun geçmişi yok' diye öğrenmesini sağlar. ANDREA-12M & ANDREA-120M ikisi de tam olarak bir ID'yi BOS için ayırır.
Kelime Dağarcığı Boyutları
| Model | Base bytes | Morfèm segmentleri (N) | BOS | Kelime haznesi boyutu |
|---|---|---|---|---|
| ANDREA-12M | 256 | 4096 | 1 | 4353 |
| ANDREA-120M | 256 | 8192 | 1 | 8449 |
256 + N + 1 = kelime haznesi boyutu. Basit. Tekrarlanabilir. Açık.
Neden Bir Bayt Katmanı Önemli
Bir bayt yedeği kapsama sağlar. Bir model 日本語 ile karşılaştığında ve bir tokenizer Japonca morfemlere sahip değilse, bireysel UTF-8 baytları bir diziyi taşır. Bir model baytlar üzerinde eğitilir; nadir betimlerdeki kalite kapasiteye ve maruziyete bağlıdır, ancak hiçbir girdi tokenizer'ı çökertmez.
Bir Kelime Dağarcığı Hesapla
Dizinin Başlangıcı
Bir Dizinin Neden İşarete İhtiyacı Var
Sadece decoder transformer, önceki bağlamdan sonraki token'ı tahmin eder. Konum 0'ın önceki bağlamı yoktur. İşaret olmadan, konum 0 mantıksal bir boşlukta kalır: modelin dikkat edecek bir şeyi yoktur.
BOS bir boşluğu çözer. Tek bir özel token (ID = 256 + N) eğitim sırasında her dizinin başında yer alır. Model öğrenir:
- 'BOS gördüğünde, doğal metnin olası ilk token'ını tahmin et.'
- 'BOS'un ardından bir kelime gördüğünde, o kelime bir dizinin başlangıcıdır, devamı değil.'
Bir Token, Çok Kullanım
BOS şu yerlerde görünür:
- Eğitim zamanı: modele beslenen her metin parçasına önek olarak eklenir.
- Çıkarım zamanı: Bir modele prompt'a önek olarak eklenir ki model tanıdık bir 'yeni başlangıç' sinyali görsün.
- Sınır işareti: Bazı boru hatlarında, birleştirilmiş belgeler arasında ayırıcı.
ANDREA, BOS için tam olarak bir ID ayırır. EOS yok, PAD yok, kelime dağarcığının ihtiyaç duyduğundan öte özel token yok. Basitlik, permacomputer değeri olarak kalır: her token yerini hak eder.
Etkinlik 3 Devam Ediyor
Etkinlik 3 (grow_a_language_model_tokenizer_diet), N çok büyük olduğunda veya bir tokenizer korpusu eğitim korpusundan saparsa neler olduğunu kapsar. ANDREA-12M kelime dağarcığının %63.6'sını boşa harcadı; ANDREA-120M bunu düzeltti. Devamını oku.