merge BPE Nasıl Çalışır?
Algoritma karakterlerle başlar. Eğitim corpus'unda en sık birlikte görülen karakter çifti (örn. "e" ve "r") birleştirilir; "er" yeni bir birim olur. Bu işlem, hedef kelime dağarcığı boyutuna ulaşılana kadar tekrarlanır. Sonuçta "tokenization" kelimesi "token", "ization" gibi parçalara ayrılabilir; model hiç görmediği kelimeleri de mantıklı biçimde işleyebilir.
BPE'nin Önemi
spellcheck Bilinmeyen Kelime Sorunu Çözülür
Kelime düzeyinde tokenizasyonda yeni kelimeler [UNK] token'ı ile geçilir. BPE bu sorunu ortadan kaldırır.
compress Dağarcık Boyutu Kontrolü
50 000-100 000 token ile milyonlarca kelimeyi temsil edebilir; model boyutunu yönetilebilir tutar.
translate Çok Dilli Destek
Farklı dillerdeki metinler aynı BPE dağarcığıyla işlenebilir; çok dilli modeller için kritik.
BPE Algoritması: Adım Adım
- check_circle Başlangıç: Karakter Düzeyi Sözlük: Her kelime karakterlere bölünür ve bitiş sembolü eklenir (</w>). 'low' → ['l', 'o', 'w', '</w>']. Başlangıç sözlüğü tüm karakterlerden oluşur. Her eğitim verisi çiftinin frekansı sayılır.
- check_circle Birleştirme: En Sık Çift Seçimi: En sık görülen bitişik çift bulunur ve tek token olarak birleştirilir. 'l o' çifti en sıksa 'lo' token'ı oluşturulur ve sözlüğe eklenir. Bu işlem belirlenen sözlük büyüklüğüne ulaşana kadar tekrarlanır.
- check_circle Sonuç: Alt Kelime Sözlüğü: Nadir kelimeler alt parçalara bölünür; sık kelimeler tek token olarak kalır. 'unhappiness' → ['un', 'happiness'] veya ['un', 'happy', 'ness']. Eğitim sırasında görülmeyen kelimeler bile temsil edilebilir — sözlük dışı (OOV) sorunu büyük ölçüde çözülür.
BPE ve Modern LLM Tokenizasyonu
BPE, GPT serisi modellerde kullanılan tokenizasyon yöntemidir. GPT-2 tokenizer'ı 50.257 token'lık BPE sözlüğü kullanır. Byte-Level BPE: ham baytlar üzerinde çalışır; herhangi bir Unicode karakteri veya dizi işlenebilir. GPT-3 ve GPT-4'ün cl100k_base tokenizer'ı 100.277 token içerir. Türkçe gibi eklemeli diller için BPE zorlu olabilir: kelimeler çok sayıda eke bölünür — gidilebileceklerden kelimesi ondan fazla token'a ayrılabilir. SentencePiece (Google): BPE ve Unigram modelini uygulayan kütüphane; T5, LLaMA ve Gemini'de kullanılır. tiktoken (OpenAI): Rust tabanlı hızlı BPE uygulaması.
quiz Sık Sorulan Sorular
- check_circle GPT modelleri BPE kullanır mı?: Evet. GPT-2 ve GPT-4 serisi cl100k_base gibi BPE tabanlı tokenizer kullanır. Llama modelleri de SentencePiece ile BPE kullanır.
- check_circle BPE Türkçe için uygun mu?: Türkçe'nin eklemeli yapısı BPE için iyidir; ekler ayrı token'lar olarak öğrenilir. Ancak dil özelindeki tokenizer'lar daha verimli olabilir.
- check_circle BPE nedir?: Byte Pair Encoding: metni alt kelime (subword) birimlerine bölen tokenizasyon algoritmasıdır. Sık görülen karakter dizileri birleştirilerek yeni token'lar oluşturulur. GPT, LLaMA ve pek çok modern LLM'de kullanılan standart tokenizasyon yöntemidir.
- check_circle BPE neden WordPiece'den farklıdır?: BPE: en sık görülen çifti birleştirir. WordPiece (BERT): birleştirme puanını maksimize eden çifti seçer — dil modeli olasılığını artıran kombinasyon tercih edilir. Unigram: olasılıksal model; en düşük bilgi kaybına yol açan tokenizasyonu arar.
- check_circle BPE sözlük boyutu nasıl belirlenir?: Küçük sözlük (10K-30K): daha az bellek, daha uzun dizi; Türkçe gibi eklemeli diller zorlanır. Büyük sözlük (50K-200K): daha hızlı işlem, daha kısa dizi; bellek ve embedding boyutu artar. Modern LLM'ler 32K-100K token arası tercih eder; dil çeşitliliği arttıkça büyük sözlük avantajlı hale gelir.
- check_circle Token sayısı neden önemlidir?: LLM API'leri token başına ücretlendirilir ve bağlam penceresi token cinsinden sınırlıdır. Türkçe metin genellikle İngilizce'den 1.5-2× daha fazla token üretir — bu hem maliyet hem hız açısından önemlidir. Verimli tokenizasyon = daha az token = daha ucuz ve hızlı çıkarım.