Tokenization (Tokenizasyon (Parçalara Ayırma))

Tokenizasyon, doğal dil işleme (NLP) ve Büyük Dil Modellerinde (LLM), insan dilindeki metinlerin bilgisayarın işleyebileceği matematiksel birimlere (token) bölünmesi işlemidir.

Tokenizasyon, doğal dil işleme (NLP) ve Büyük Dil Modellerinde (LLM), insan dilindeki metinlerin bilgisayarın işleyebileceği matematiksel birimlere (token) bölünmesi işlemidir. Yapay zeka kelimeleri bizim gibi okumaz; onları hecelere, harflere veya kelime köklerine parçalayarak (token) her birine benzersiz bir kimlik numarası (ID) atar. Bir cümlenin yapay zekaya yedirilmeden önceki ilk çiğneme adımıdır.

content_cut Token Nedir ve Nasıl Bölünür?

Bir token; tam bir kelime, bir kelimenin yarısı veya tek bir harf olabilir. Örneğin İngilizcede 'apple' genellikle tek bir token iken, 'unbelievable' kelimesi 'un', 'believ', 'able' şeklinde alt-kelime (sub-word) tokenlerine bölünebilir. Tokenizasyon algoritmaları (örn: BPE - Byte Pair Encoding), dilde en çok tekrar eden karakter dizilerini tek bir token yapmaya çalışarak modelin hafıza verimliliğini maksimize eder.

Tokenizasyonun Etkileri

attach_money Maliyet ve Fiyatlandırma

OpenAI, Anthropic gibi tüm yapay zeka şirketleri API kullanımlarını kelime başına değil, token başına ücretlendirir (örn: 1 Milyon token = $10).

translate Dil Eşitsizliği (Türkçe vs İngilizce)

Tokenizasyon algoritmaları İngilizce ağırlıklı verilerle eğitildiği için Türkçe gibi sondan eklemeli dillerde kelimeler çok fazla parçaya bölünür. İngilizce bir cümle 10 token tutarken, aynı cümlenin Türkçe çevirisi 25 token tutabilir. Bu da Türkçeyi LLM'lerde hem daha pahalı hem de daha yavaş yapar.

spellcheck Kelime Oyunlarındaki Başarısızlık

ChatGPT'nin 'Strawberry kelimesinde kaç tane R var?' sorusuna yanlış cevap vermesinin sebebi aptal olması değil, tokenizasyondur. Modeller metni harf harf değil, token kimlikleri (ID: 3456) olarak gördüğü için harfleri sayamazlar.

Tokenizasyon Yöntemleri

  • check_circle Kelime Düzeyi Tokenizasyon: Metin boşluk veya noktalamaya göre bölünür. Avantaj: sezgisel, kelime anlamı korunur. Dezavantaj: sözlük dışı (OOV) kelimeler — yeni veya nadir kelimeler 'unk'. Büyük sözlük gereksinimi: dil çok sayıda kelime formu içerdiğinde verimsiz.
  • check_circle Alt Kelime Tokenizasyon (Subword): BPE (Byte Pair Encoding): GPT serisi; sık çiftler birleştirilerek token üretilir. WordPiece: BERT; dil modeli olasılığını maksimize eden birleştirme. SentencePiece: T5, LLaMA; dil bağımsız, ham metin üzerinde çalışır. OOV sorunu çözülür: nadir kelime alt parçalara bölünür.
  • check_circle Karakter ve Bayt Düzeyi: Karakter düzeyi: her karakter bir token; sözlük küçük ama dizi uzun. Bayt düzeyi (BPE): ham UTF-8 baytlar — herhangi Unicode dizisi işlenebilir. GPT-2: Byte-Level BPE ile dil ve karakter bağımsız tokenizasyon. Avantaj: bilinmeyen karakter yok; Türkçe özel karakterler sorunsuz.

Türkçe Tokenizasyon ve Token Verimliliği

Türkçe eklemeli (agglutinative) bir dil: bir kök üzerine çok sayıda ek eklenir. 'gidebileceklerden' gibi bir kelime 10+ token'a bölünebilir — İngilizce'de tek token. Bu durum Türkçe AI kullanımını daha pahalı ve yavaş yapar: API maliyeti token başına hesaplanır; aynı metin Türkçe'de 1.5-2× daha fazla token. Çözüm yolları: Türkçe özel tokenizer (SentencePiece Türkçe corpus üzerinde) — Gemma, Qwen ve çok dilli modeller bu sorunu kısmen iyileştirdi. tiktoken (OpenAI): cl100k_base ve o200k_base tokenizer'ları Python kütüphanesiyle erişilebilir — metin boyutunu tahmin etmek için kullanılır. Token tahmini: LLM prompt'unu göndermeden önce token sayısını hesapla; bağlam penceresi sınırı ve maliyeti öngör.

quiz Sıkça Sorulan Sorular (FAQ)

  • check_circle 1 Token kaç kelimeye eşittir?: Genel bir kural olarak İngilizcede 1 token, bir kelimenin 3/4'üne eşittir. Yani 100 token yaklaşık 75 kelimedir. Ancak kodlama veya farklı dillerde bu oran büyük ölçüde değişir.
  • check_circle BPE (Byte Pair Encoding) nedir?: En popüler tokenizasyon algoritmasıdır. Verideki yan yana gelen karakterleri tarar ve en sık birlikte bulunanları tek bir birim (token) haline getirerek sözlüğü optimize eder.
  • check_circle Tokenizasyon nedir?: Metin verisini model tarafından işlenebilecek küçük birimlere (token) bölme sürecidir. Token kelime, alt kelime, karakter veya bayt olabilir. LLM'ler metni doğrudan değil token dizisi olarak işler.
  • check_circle Kaç token 1000 kelimeye eşit?: İngilizce'de yaklaşık 750 kelime = 1000 token (1.33 token/kelime). Türkçe'de eklemeli yapı nedeniyle 1000 kelime = 1500-2000 token olabilir. tiktoken kütüphanesiyle tam sayım yapılabilir.
  • check_circle Token sayısını azaltmanın yolları nelerdir?: Gereksiz boşluk ve tekrar kaldır. Uzun prompt'ları özetle — RAG ile yalnızca ilgili bölümü gönder. Türkçe yerine İngilizce prompt dene: aynı bilgi daha az token. Yapılandırılmış çıktı (JSON): verbose açıklama yerine kısa field'lar.
  • check_circle Farklı modeller aynı metni farklı mı tokenize eder?: Evet, her model kendi tokenizer'ını kullanır. GPT-4 (cl100k_base) ve Claude (BPE tabanlı) aynı metni farklı sayıda token'a böler. Bu nedenle bağlam penceresi karşılaştırması dikkatli yapılmalı: 128K token GPT'de ve Claude'da farklı uzunlukta metne karşılık gelir.