Byte Pair Encoding (BPE)
İş akışıByte Pair Encoding nedir?
Byte Pair Encoding (BPE), bir metni modelin işleyebileceği token'lara bölmek için kullanılan bir tokenization yöntemi. Başta veri sıkıştırma için icat edilmiş, sonra dil modellerinin temel taşlarından biri olmuş. GPT ailesi dahil bugünkü pek çok LLM, metni tam da bu mantıkla parçalara ayırıyor.
Fikir basit: kelimeleri tek tek harflere indir, sonra metinde en sık yan yana gelen karakter çiftini bul ve onları tek bir parça olarak birleştir. Bunu binlerce kez tekrarla. Sonunda elinde ne tek tek harfler ne de tam kelimeler kalır — ikisinin arasında, işe yarayan alt-kelime parçaları olur.
Nasıl çalışır?
Diyelim elinde "düşün", "düşünce", "düşünür" kelimeleri var. BPE önce hepsini harflere böler. Sonra "d-ü" çifti çok geçiyorsa onları birleştirir, ardından "düş" parçası ortaya çıkar. Birkaç tur sonra "düşün" tek bir token haline gelir, "ce" ve "ür" gibi ekler ayrı token olarak kalır.
Bu sayede model "düşünür" kelimesini hiç görmese bile "düşün" + "ür" parçalarından anlamı çıkarabilir. Yani sözlükte olmayan, nadir ya da yeni uydurulmuş kelimeler bile parçalanarak temsil edilebilir.
Neden önemli?
Çünkü bir modelin kelime dağarcığı sonsuz olamaz. Her kelimeyi ezbere tutmaya kalksan sözlük şişer, nadir kelimeler de hiç öğrenilemez. BPE bu dengeyi kuruyor: ne çok küçük (her harf ayrı) ne çok büyük (her kelime ayrı) bir token seti. Türkçe gibi ekleri bol, kelimeleri uzayan dillerde bu özellikle değerli — kök ve ekler doğal biçimde ayrı parçalara düşüyor.
Kullanım alanları
Makine çevirisi, metin üretimi, kod tamamlama — token'la çalışan her yerde BPE veya türevleri (WordPiece, SentencePiece) iş başında. Bir prompt yazdığında metnin kaç token tuttuğunu belirleyen de büyük ölçüde bu algoritmanın çıkardığı parçalar.
Ilgili terimler
