Token, dil modellerinin metni işlemek için kullandığı en küçük birim olup kelime, hece veya karakter olabilir.

Token, büyük dil modelleri (LLM) ve doğal dil işleme (NLP) sistemlerinde metnin işlenebilir en küçük birimidir. LLM'ler ham metni doğrudan okuyamaz; önce metni token adı verilen parçacıklara böler, ardından her tokena sayısal bir kimlik (token ID) atar ve bu sayısal diziler üzerinde matematiksel işlemler gerçekleştirir. Bir token; tam bir kelime, kelimenin bir parçası (alt-kelime/subword), tek bir karakter ya da noktalama işareti olabilir. Bu dönüşüm sürecine tokenizasyon (tokenization) denir. GPT serisi modellerde kullanılan BPE (Byte Pair Encoding), eğitim verisi üzerinde en sık birlikte geçen karakter çiftlerini yinelemeli olarak birleştirerek bir vocabulary oluşturur. Google'ın geliştirdiği WordPiece de benzer bir mantıkla çalışırken seçim kriterinde maksimum olasılığı kullanır. SentencePiece ise dil bağımsız çalışan ve doğrudan ham karakterlerden token üreten bir yöntemdir. Token kavramı üç kritik boyutu doğrudan etkiler. Birinci boyut bağlam penceresidir (context window): bir modelin aynı anda işleyebildiği maksimum token sayısı o modelin 'hafıza kapasitesini' tanımlar. GPT-4o 128.000 token, Claude 3.5 Sonnet 200.000 token, Gemini 1.5 Pro ise 1.000.000 token bağlam kapasitesiyle öne çıkar. Bu limit aşıldığında model eski bağlamı unutur. İkinci boyut API maliyetidir: OpenAI, Anthropic ve Google gibi sağlayıcılar hizmetlerini giriş (input) ve çıkış (output) token sayısına göre faturalandırır. GPT-4o için 1 milyon giriş tokenu yaklaşık 5 USD, 1 milyon çıkış tokenu ise 15 USD'dir. Aynı görevi daha az tokenla çözen prompt tasarımı maliyeti kayda değer ölçüde azaltır; bu nedenle token ekonomisi LLM uygulama mühendisliğinin temel konularından biri haline gelmiştir. Üçüncü boyut dikkat hesaplamasıdır: Transformer mimarisinde her token diğer tüm tokenlarla dikkat skoru hesaplar. Bu O(n²) karmaşıklık nedeniyle bağlam uzadıkça hesaplama maliyeti hızla büyür; Flash Attention ve diğer verimlilik teknikleri bu soruna çözüm arayışından doğmuştur. Türkçe gibi eklemeli dillerde token kullanımı İngilizce'ye kıyasla daha yüksektir. 'Gidebileceklerinden' gibi tek bir Türkçe kelime birden fazla tokena bölünebilirken, aynı anlam İngilizce'de daha az token harcar. Bu durum Türkçe içerikli API çağrılarında maliyeti ve bağlam penceresi verimliliğini olumsuz etkileyebilir.

Token Nedir ve Nasıl Oluşur?

Büyük dil modelleri (LLM) ham metni doğrudan okuyamaz; önce tokenizasyon adı verilen bir ön işleme adımından geçirmesi gerekir. Bu süreçte model, girilen metni sabit bir vocabulary'yle eşleşen en uygun parçacıklara —tokenlara— böler ve her tokena benzersiz bir tam sayı kimliği atar. Bu dönüşümü somutlaştırmak için şu örneği düşünelim: 'Yapay zeka geleceği şekillendiriyor' cümlesi tokenizasyon sonrasında [32451, 29240, 17823, 44102, 9821] gibi bir sayı dizisine dönüşebilir. Model bu sayı dizisi üzerinde hesaplama yapar; üretilen çıktı sayıları yeniden metin karakterlerine çevrilir. **BPE (Byte Pair Encoding):** GPT serisi modellerin kullandığı bu algoritma, eğitim verisi üzerinde en sık birlikte geçen karakter çiftlerini yinelemeli olarak birleştirerek vocabulary oluşturur. 'playing' kelimesi 'play' + 'ing' şeklinde iki tokena bölünebilir. Bu yöntem 'bilinmeyen token' sorununu minimize eder. **WordPiece:** BERT'in kullandığı bu algoritma benzer mantıkla çalışırken seçim kriterinde maksimum olasılığı kullanır. **SentencePiece:** Google'ın geliştirdiği, dil bağımsız çalışan ve boşluk dahil ham karakterlerden token üreten yöntemdir.

Token, Maliyet ve Bağlam Penceresi

Bağlam Penceresi

Bir modelin aynı anda işleyebildiği maksimum token sayısı. GPT-4o: 128K | Claude 3.5: 200K | Gemini 1.5 Pro: 1M token.

API Maliyeti

Giriş ve çıkış token sayısına göre faturalandırma. GPT-4o: girdi 5 USD/1M token, çıktı 15 USD/1M token (2024).

Türkçe Token Verimliliği

Türkçe eklemeli dil yapısı nedeniyle aynı anlam için İngilizce'ye kıyasla daha fazla token harcanır; bu API maliyetini artırır.

Dikkat Karmaşıklığı

Transformer'da her token diğerleriyle dikkat skoru hesaplar (O(n²)). Uzun bağlamlarda Flash Attention gibi çözümler gerekir.

Tokenizasyonu Etkileyen Faktörler

  • check_circle Vocabulary boyutu: Büyük vocabulary (örn. Llama 3: 128K) daha az token kullanımı sağlar ancak embedding matrisini büyütür; küçük vocabulary (GPT-2: 50K) tersi etkiyi yaratır.
  • check_circle Dil yapısı: Eklemeli Türkçe, Fince ve Japonca gibi dillerde aynı anlam İngilizce'ye kıyasla daha fazla token harcar; bu API maliyetini ve bağlam verimliliğini etkiler.
  • check_circle Kod ve özel karakterler: Programlama dilleri genellikle sözcük sınırlarını farklı tanımlar; '{', '()', '__init__' gibi öğeler tokenizasyonda beklenmedik ayrışmalara yol açabilir.
  • check_circle Sayılar ve tarihler: 4 haneli sayılar bile modele göre 1-4 arasında değişen token sayısıyla temsil edilebilir; bu matematiksel görevlerde tutarsızlıklara neden olabilir.

Sıkça Sorulan Sorular

  • check_circle Token ile kelime arasındaki fark nedir?: Kelime dilsel bir anlam birimidir; token ise bir modelin işlem birimidir. 'Tokenizasyon' bir kelime olabilir ancak model bunu 'Token' + 'izasyon' gibi iki tokena bölebilir. Konuşma dilinde token çoğu zaman kelime anlamında kullanılır ama teknik açıdan farklıdır.
  • check_circle Bir metnin kaç token olduğunu nasıl öğrenirim?: OpenAI'nin resmi Tokenizer aracı (platform.openai.com/tokenizer) girilen metni anlık tokenizasyon yaparak görselleştirir. Hızlı tahmin için: İngilizce metin × 1.3 ≈ token sayısı; Türkçe metin × 1.5-2 arası bir çarpan kullanılabilir.
  • check_circle Token limiti aşılırsa ne olur?: Model bağlam penceresinin ötesindeki metni göremez ve sanki verilmemiş gibi davranır. Bu 'bağlam kırpması' (context truncation) olarak bilinir; uzun sohbetlerde eski mesajların kaybolmasına neden olabilir.
  • check_circle Token sayısını azaltmak mümkün mü?: Evet. Gereksiz dolgu cümlelerinden kaçınmak, bağlamı özetlemek ve RAG mimarilerinde yalnızca ilgili parçaları seçmek token kullanımını ve API maliyetini önemli ölçüde azaltır.