KonuAnlatım.com

Token nedir?

Yapay Zekâ · Bölüm 42Yapay ZekâDers

Yapay zekâ sohbet botlarının metinleri nasıl "okuduğunu" hiç merak ettin mi? Bu derste doğal dil işlemenin temel yapı taşı olan token kavramını sıfırdan anlatıyoruz: tokenın ne olduğu, metnin tokenlara nasıl ayrıldığı ve token sayısının modellerin çalışmasında neden bu kadar önemli olduğu. Konunun çerçevesini görmek için NLP nedir? dersine, alanın bütününe bakmak içinse Yapay Zekâ dersleri sayfamıza göz atabilirsin.

Token Nedir?

Token, bir yapay zekâ modelinin metni işlerken kullandığı en küçük metin birimidir. Bir token bütün bir kelime olabileceği gibi, bir kelimenin yalnızca bir parçası, tek bir karakter, hatta bir noktalama işareti de olabilir. Modeller metni bizim gibi harf harf ya da kelime kelime okumaz; metin önce tokenlara ayrılır, her tokena sayısal bir kimlik (ID) verilir ve model asıl işini bu sayılar üzerinde yapar.

Örneğin "Bugün hava çok güzel" cümlesi bir tokenizerda şöyle parçalanabilir: ["Bug", "ün", " h", "ava", " çok", " güzel"]. Buradaki bölünme tamamen gösterim amaçlıdır; kesin sonucu, hangi modeli kullandığına ve o modelin tokenizerına göre değişir. Önemli olan fikir şudur: bir cümlenin token sayısı, kelime sayısıyla aynı olmak zorunda değildir.

Tokenizer Nasıl Çalışır?

Metni tokenlara ayıran araca tokenizer denir. Modern modeller çoğunlukla alt kelime (subword) mantığına dayanan yöntemler kullanır; en bilineni BPE (Byte Pair Encoding)dir. Eğitim aşamasında dev bir metin yığını taranır, en sık karşılaşılan harf dizileri öğrenilir ve sık görülenler tek token olarak sözlüğe eklenir. Böylece "ve" gibi sık kelimeler tek token olurken, "görülebilirlik" gibi uzun ve nadir kelimeler birkaç parçaya bölünür.

Peki modeller neden ya tamamen kelime ya tamamen harf bazlı çalışmıyor? Üç yaklaşımı karşılaştıralım:

  • Kelime düzeyi: Her kelime tek token. Sözlük devasa büyür; modelin hiç görmediği "evlerdekindir" gibi bir türemiş biçimi anlaması çok zorlaşır. Türkçe gibi ek dilli diller için bu yaklaşım pratik değildir.
  • Karakter düzeyi: Her harf bir token. Sözlük küçüktür ama diziler çok uzar, işlem maliyeti artar ve metindeki uzak ilişkileri öğrenmek zorlaşır.
  • Alt kelime (token) düzeyi: İkisinin ortası. Sık birimler tek parça, nadir birimler parçalara bölünür. Sözlük makul boyutta kalır, görülmemiş kelimeler bile karakter parçalarından kurularak işlenebilir. Günümüz modellerinin tercihi budur.

Token Sayısı Neden Önemli?

Token soyut bir teknik ayrıntı olmanın ötesinde üç pratik noktayı doğrudan belirler:

  • Bağlam penceresi (context window): Modelin tek seferde belleğinde tutabildiği en fazla token sayısıdır. Sohbetin geçmişi, yüklediğin belge ve üretilecek yanıtın tamamı bu pencereye sığmalıdır. 2024-2025 döneminde güncel modellerde bağlam pencereleri yüz binlerce tokena uzasa da sınır ortadan kalkmadı; pencere dolduğunda eski içerik modelin belleğinden düşer.
  • Maliyet ve hız: Bir modele API üzerinden erişen servisler genellikle token başına ücretlendirme yapar. Ne kadar çok token, o kadar yüksek maliyet ve o kadar uzun işlem süresi.
  • Üretim sınırı: Modelin tek yanıtta üretebileceği token sayısı da ayrıca sınırlıdır. Uzun bir metin istediğinde yanıtın yarıda kesilmesinin sık görülen nedenlerinden biri budur.

Tokenden Sonra Ne Olur: Embedding ve Dil Modeli

Token son aşama değil, ilk adımdır. Her token model içinde sayısal bir vektöre, yani bir embeddinge dönüşür; benzer anlam taşıyan tokenların vektörleri birbirine yakın olur. Ayrıntıları Embedding nedir? dersinde işliyoruz. Bu vektör dizileri, metni üretmekle görevli dil modelinin girdisidir: model her adımda sıradaki en olası tokenı tahmin ederek metni parça parça, token token yazar. ChatGPT gibi büyük dil modellerinin bu şekilde çalışmasını LLM nedir? ve ChatGPT nasıl çalışır? derslerinde ayrıntılı olarak görüyoruz.

Sık Yapılan Hatalar ve Yanılgılar

Token kavramında yeni olanların en çok düştüğü noktalar şunlardır:

  • "Token, kelimenin başka adıdır" sanmak: Değildir. İngilizcede kabaca "1 token ≈ 4 karakter ≈ 0,75 kelime" pratik bir kural olarak kullanılır; Türkçede ekler nedeniyle bir kelime genellikle daha fazla tokena bölünür.
  • Noktalama ve boşlukların sayılmadığını sanmak: Bunlar da token olabilir; cümle sonundaki nokta bile sözlükte bir yer kaplar.
  • Bağlam penceresini kelime sınırı sanmak: Sınır token cinsindendir. "100 bin kelimelik belge sığar mı?" sorusunun cevabı kelime sayısından çok token sayısına bağlıdır.
  • Aynı metnin her modelde aynı sayıda token olduğunu sanmak: Farklı modeller farklı tokenizer kullanır; aynı cümle bir modelde 6, başka bir modelde 9 token olabilir.
  • Token sayısını kalite ölçüsü sanmak: Az token "daha iyi anlaşıldı" anlamına gelmez; token sayısı bir maliyet ve sınır birimidir, başarı ölçüsü değildir.

Küçük ama işe yarar bir pratik not: Prompt yazarken gereksiz tekrarları ve dağınık ifadeleri temizlemek hem token tasarrufu sağlar hem de modele daha net bir görev verir. Etkili yönergeler yazmak için Prompt nedir? dersimize bakabilirsin.

Sık Sorulan Sorular

Token nedir?

Token, yapay zekâ modelinin metni işlerken kullandığı en küçük birimdir; bütün bir kelime olabileceği gibi bir kelime parçası, karakter ya da noktalama işareti de olabilir. Metin önce tokenlara ayrılır, ardından her token sayısal bir kimliğe (ID) dönüşür.

Token ile kelime arasındaki fark nedir?

Her token bir kelime olmak zorunda değildir: sık kullanılan kelimeler tek token olurken, uzun ya da nadir kelimeler birkaç parçaya bölünür. Bu yüzden bir metnin token sayısı genellikle kelime sayısından farklıdır; Türkçede ekler nedeniyle kelime başına düşen token sayısı daha yüksektir.

Bir token kaç karaktere karşılık gelir?

Kullandığın modele ve dile göre değişir. İngilizcede kabaca "1 token ≈ 4 karakter ≈ 0,75 kelime" pratik bir kural olarak kullanılır; Türkçe gibi ek dilli dillerde aynı metin daha çok tokena bölünür, kesin sayıyı yalnızca modelin kendi tokenizerı verir.

Dersler

Tümü →