Emin Özeryapay zekâ defteri
Tüm yazılar

Türkçe neden daha fazla token harcıyor?

Bir yapay zekâ modeline yazdığınız metin, model tarafından kelime kelime okunmaz. Önce token denen küçük parçalara bölünür. Model bu parçaları görür, bu parçalarla düşünür ve cevabını yine bu parçaları tek tek üreterek yazar.

Bu parçalar rastgele değildir. Modeli eğitenler, eğitim verisinde en sık geçen harf dizilerini tek bir parça olarak tanımlar. Çok sık geçen bir kelime tek parça olur; seyrek geçen bir kelime ise birkaç parçaya bölünür.

Eklerle büyüyen bir dil

Türkçe sondan eklemeli bir dildir. İngilizcede birkaç kelimeyle söylenen şeyi biz tek kelimeye sığdırırız. Bu, bir okur için zarif; bir tokenizer için ise yorucu.

Tek bir kelime, birden fazla parça. Kendi cümlenizi aşağıda deneyin.

Üstelik bu modellerin eğitim verisinin büyük kısmı İngilizcedir. Parça sözlüğü de İngilizceye göre şekillenir. Sonuçta aynı anlamı taşıyan bir Türkçe metin, İngilizce karşılığına göre çoğu zaman belirgin şekilde daha fazla tokene bölünür.

0kelime
0token
0kelime başına token

Basitleştirilmiş gösterim: kökleri ve sık ekleri ayırıyor. Gerçek modeller parçaları istatistiksel olarak öğrenir, ama sonuç benzer çıkar.

Bu neden önemli?

Üç pratik sonucu var. Birincisi maliyet: API üzerinden kullanılan modeller token başına ücretlendirilir, yani Türkçe aynı iş için daha pahalıya gelebilir. İkincisi kapasite: modelin bir seferde okuyabileceği metin miktarı da token ile ölçülür, Türkçe bir belge bu sınıra daha çabuk dayanır. Üçüncüsü hız: cevap token token üretildiği için Türkçe cevaplar biraz daha yavaş akar.

Model kelimeyi değil parçayı sayar. Parça sayısını düşürmek hem maliyeti hem bekleme süresini düşürür.

İyi haber şu: yeni nesil modellerin sözlükleri çok dilli veriyle hazırlanıyor ve aradaki fark her nesilde biraz daha kapanıyor. Yine de uzun Türkçe belgelerle çalışırken bu farkı hesaba katmak, bütçeyi ve tasarımı doğru kurmanın parçası.