Byte-Pair Encoding ve Tokenizasyon Patolojileri
Byte-Pair Encoding, en sık geçen karakter çiftlerini birleştirerek verimli bir sözlük oluşturur; ancak bu birleştirme kelimelerin yapısal parçalarını ortadan kaldırdığı için model, parçalı bilgi üzerinde işlem yapmakta zorlanır.
Neden alt kelime?
Kelime düzeyi tokenizasyon, seyrek sözlükteki her kelime için ayrı bir token gerektirir. Bu, büyük ve pahalı bir sözlük demektir ve nadir kelimeler için verimsizdirir.
Alt kelime yaklaşımı, kelimeleri daha küçük parçalara bölerek ortak parçaları yeniden kullanılabilir hâle getiriyor. Bu, dizi uzunluğunu kısaltarak hesabı azaltıyor.
BPE nasıl çalışıyor?
Eğitim verisinde en sık geçen bayt çiftleri tespit edilir ve en sık olanı yeni bir token olarak birleştirilir. Bu işlem tekrarlanır.
Sonuçta, sık kullanılan kelimeler tek bir token olurken nadir veya yeni kelimeler parçalara ayrılır. Sözlük boyutu, veri dağılımına göre belirlenir.
Yapısal bilgi kaybı
En kritik sorun, tokenların dilbilimsel parçalara denk gelmemesi. Aynı kavram farklı metinlerde farklı token dizilerine bölünebiliyor.
Bu, modelin gövde veya son ek gibi yapıları öğrenmesini zorlaştırıyor. Model, kavramı değil, istatistiksel olarak sık geçen bayt dizilerini öğreniyor.
Sayı ve dizi görevleri
Rakamlar sık kullanılan diziler olarak tek bir token hâline gelir. Bu, modelin bir sayının bireysel rakamlarını görmesini ve aritmetik yapmasını engelliyor.
Ayrıca bir kelimenin harflerinin sırası, token sırasına birebir yansımaz. Bu, tersine çevirme ve karakter düzeyi işlemlerde zorluk yaratıyor.
Alternatif yaklaşımlar
Bayt düzeyi tokenizasyon, hiç bilinmeyen karakterler dâhil her şeyi işleyebiliyor, ancak diziler daha uzun ve hesap daha pahalı hâle geliyor.
Farklı sözlük kombinasyonları da deneniyor. Önemli olan, hedef görevlerin karakteristiklerine en uygun dengeyi bulmaktır; bu, her model için farklıdır.
- Alt kelime tokenizasyonu dizileri kısaltarak hesap tasarrufu sağlar
- BPE sık geçen bayt çiftlerini birleştirerek sözlük oluşturur
- Tokenlar dilbilimsel parçalara denk gelmediği için yapı kaybolur
- Rakam ve dizi görevleri bu bozulmadan en çok etkileniyor
Sık sorulan sorular
Alt kelime tokenizasyonu neden kullanılıyor?
Kelime düzeyi tokenizasyon büyük ve pahalı bir sözlük gerektirir. Alt kelime yaklaşımı ortak parçaları yeniden kullanarak dizileri kısaltıyor ve hesabı azaltıyor.
BPE neden sayılarla iyi çalışmıyor?
Sık kullanılan rakam dizileri tek bir token olarak birleştirildiğinde model, sayının bireysel rakamlarını göremez. Bu da aritmetik işlemlerde hatalara yol açıyor.
Kelimeyi tersine çevirmek neden zor?
Token sırası, kelimenin harf sırasıyla birebir örtüşmez. Modelin bu eşleşmeyi öğrenmesi gerekiyor ve bu, genel dil anlayışından bağımsız bir beceridir.
Daha iyi bir alternatif var mı?
Bayt düzeyi tokenizasyon her şeyi işleyebiliyor ama daha uzun diziler üretiyor. Her model için en uygun yaklaşım, görevlerin karakteristiklerine göre belirleniyor.
Kaynakça
- Byte Pair Encoding ile Sinir Dil ModellemearXiv
- Byte-Pair EncodingWikipedia
- Token (dil modelleme)Wikipedia
- Alt kelime tokenizasyonuWikipedia