Tokenization nedir? BPE nasıl çalışır ve token sayısı neden önemlidir?
Cevap
Tokenization, metni modelin işleyebileceği alt birimlere (token) ve bunların ID'lerine çevirme işlemidir. Modern LLM'ler kelime veya karakter yerine subword tokenizasyon kullanır. Sık kelimeler tek token olur, nadir kelimeler parçalara bölünür. Böylece vocabulary makul boyutta kalır (genelde 32K–200K) ve bilinmeyen kelime sorunu ortadan kalkar.
BPE (Byte Pair Encoding)
- Başlangıçta vocabulary tek tek karakterlerden (veya byte'lardan) oluşur.
- Eğitim korpusunda en sık yan yana gelen sembol çifti bulunur ve yeni bir sembol olarak birleştirilir.
- Hedef vocabulary boyutuna ulaşılana kadar tekrarlanır.
- Yeni metin, öğrenilen birleştirme kuralları sırayla uygulanarak tokenize edilir.
GPT ailesi ve Llama 3 byte-level BPE kullanır: her metin byte'lara indirgenebildiği için hiçbir karakter "bilinmeyen" olmaz. WordPiece (BERT) ve SentencePiece/Unigram (T5) diğer yaygın yöntemlerdir.
import tiktoken
enc = tiktoken.get_encoding("o200k_base")
print(len(enc.encode("Hello, how are you?")))
print(len(enc.encode("Merhaba, nasılsınız?")))Token sayısı neden önemli?
- Maliyet: API'ler token başına ücretlendirir.
- Context window: Limit token cinsindendir.
- Gecikme: Çıktı tokenları sırayla üretilir, her biri zaman alır.
- Dil eşitsizliği: Türkçe gibi eklemeli diller, İngilizce ağırlıklı tokenizer'larda aynı anlam için daha fazla token tüketir. Bu, maliyeti ve efektif bağlam boyutunu etkiler.
Tokenizasyonun yol açtığı tuhaflıklar
Harf sayma ("strawberry kelimesinde kaç r var?"), aritmetik, ters çevirme gibi görevlerde zorlanma. Model harfleri değil token'ları görür. Ayrıca baştaki boşluk (" kedi" ile "kedi" farklı token olabilir) prompt'larda beklenmedik farklar yaratabilir.
İlgili LLM & Üretken YZ soruları
- RAG'de chunking stratejisi, hybrid search ve reranker neden önemlidir? Retrieval kalitesi düşükse ne yaparsınız?
- Şirket içi dokümanlar (Confluence, PDF, wiki) üzerinde soru cevaplayan bir RAG sistemi tasarlayın.
- Hangi prompt engineering tekniklerini kullanırsınız? Few-shot ve chain-of-thought ne zaman işe yarar?
- LLM'lerde temperature, top-k ve top-p (nucleus) sampling parametreleri ne işe yarar?
- Production'daki bir LLM uygulamasında maliyeti ve gecikmeyi (latency) nasıl düşürürsünüz?
- Prompt injection nedir? LLM tabanlı bir uygulamayı ve agent'ı buna karşı nasıl korursunuz?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.