Tokenizasyon (Tokenization)
Araç kavramlarıTokenizasyon nedir?
Tokenizasyon, bir metni dil modelinin anlayabileceği küçük birimlere — token'lara — bölme işlemidir. Bu birimler tam kelimeler, kelime parçaları (subword), hatta tek karakterler olabilir. Model aslında metni okumaz; token dizileriyle çalışır.
"Yapay zeka" ifadesi bazı modellerde 2 token, bazılarında 3 token olabilir. "ChatGPT" gibi nadir bir kelime ise parçalara bölünerek temsil edilir.
Nasıl çalışır?
En yaygın yöntem Byte Pair Encoding (BPE)'dir. Algoritma, eğitim verisinde sık geçen karakter çiftlerini birleştirerek bir kelime dağarcığı (vocabulary) oluşturur. Örneğin "running" → "run" + "ning" şeklinde 2 token'a bölünebilir.
Bir diğer popüler yöntem SentencePiece'dir — Google'ın geliştirdiği, dil bağımsız çalışan bir tokenizer. Boşluk karakterlerini de token olarak ele alması nedeniyle Türkçe gibi dillerde daha tutarlı sonuçlar verir.
Neden önemli?
Tokenizasyon, model performansını doğrudan etkiler:
- Context window sınırı token sayısıyla ölçülür, karakter sayısıyla değil. "128k context" demek 128.000 token demektir.
- Maliyet token başına hesaplanır — tokenizer ne kadar verimli, o kadar ucuz.
- Türkçe dezavantajı: İngilizce üzerine eğitilmiş tokenizer'lar Türkçe metni daha fazla token'a böler. "Yapamıyordum" kelimesi 1 token değil 3-4 token olabilir. Bu, Türkçe kullanımı orantısız pahalı ve daha az bağlam verimli yapar.
Kullanım alanları
- API maliyet hesaplama: Kaç token gönderdim, kaç token döndü?
- Prompt optimizasyonu: Uzun prompt token israfı mı yapıyor?
- Çok dilli uygulamalar: Türkçe için tokenizer seçimi kritik — daha az token = daha iyi performans ve daha düşük maliyet.
- Model eğitimi: Vocabulary boyutu, tokenizer kalitesi doğrudan model başarısını etkiler.
Ilgili terimler
