tag BPE

Token (Dil Modeli Birimi)

Bu sayfada BPE (Token (Dil Modeli Birimi)) etiketi ile işaretlenmiş 3 yapay zeka kavramını bulabilirsiniz.

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.

data_array

Token (Dil Modeli Birimi)

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.

arrow_forward
receipt_long

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

Tokenizasyon, metin verisini büyük dil modelleri (LLM) ve doğal dil işleme (NLP) sistemlerinin işleyebileceği temel birimlere —"token"lara— dönüştürme sürecidir. Yapay zeka modelleri metni insan gibi harf harf değil, token kimlik numaraları (ID) cinsinden işler; tokenizasyon bu dönüşümün ilk ve belirleyici adımıdır. Bir token; tam kelime, kelime kökü, hece veya bayt grubu olabilir. Modern LLM'lerin büyük çoğunluğu Byte Pair Encoding (BPE) ya da SentencePiece gibi alt-kelime (subword) algoritmalarını tercih eder. Bu yöntemler yaygın kelimeleri tek token'a sıkıştırırken nadir kelimeleri birden fazla parçaya böler; böylece sözlük boyutu sınırlı tutulurken bilinmeyen kelime (OOV) sorunu ortadan kalkar. WordPiece (BERT), Tiktoken (GPT-4) ve SentencePiece (LLaMA, T5) gibi tokenizer'lar aynı metni farklı parça sayısına bölebilir. Tokenizasyon hem modelin tahmin kalitesini hem de kullanıcının API maliyetini doğrudan etkiler. OpenAI, Anthropic ve Google gibi sağlayıcılar ücretlendirmeyi kelime değil token başına yapar; bu nedenle token sayısını önceden tahmin etmek maliyet yönetiminin temelidir. Tiktoken kütüphanesi veya Hugging Face tokenizers ile prompt'lar göndermeden önce sayılabilir. Türkçe'nin eklemeli (agglutinative) yapısı tokenizasyon açısından ciddi bir dezavantaj yaratır: aynı içeriğin Türkçe versiyonu İngilizce'ye kıyasla genellikle 1,5–2 kat daha fazla token tüketir. Bu durum hem API maliyetini artırır hem de bağlam penceresi (context window) kapasitesini daha hızlı doldurur. Gemma, Qwen ve DeepSeek gibi çok dilli modeller Türkçe içerli eğitim verileriyle bu açığı kısmen kapatmıştır. Son olarak, tokenizasyon modelin bazı basit sorulardaki başarısızlığını da açıklar. Bir LLM'e "Strawberry kelimesinde kaç R var?" diye sorulduğunda alınan yanlış yanıt, modelin harfleri değil token ID'lerini gördüğünden kaynaklanır. Bu temel kısıt, LLM ile çalışan geliştiricilerin anlaması gereken en kritik altyapı konseptlerinden biridir.

arrow_forward
code_blocks

Tokenizör (Tokenizör)

Tokenizör (tokenizer), ham metni bir yapay zeka modelinin işleyebileceği en küçük birimlere — token'lara — bölen bir ön işleme aracıdır. Modern büyük dil modellerinde metin önce token dizisine dönüştürülür, ardından bu token'lar sayısal kimlik (token ID) listesine çevrilir ve modele beslenir. Tokenizörün seçimi modelin hem performansını hem de Türkçe gibi eklemeli dillerdeki doğruluğunu doğrudan etkiler. Günümüzde en yaygın tokenizasyon yöntemi Byte Pair Encoding'dir (BPE). BPE, eğitim verisindeki en sık geçen karakter çiftlerini tekrarlı olarak birleştirerek bir alt kelime sözlüğü oluşturur. GPT ailesi bu yöntemi kullanır. WordPiece ise Google tarafından BERT için geliştirilmiştir; SentencePiece, dil bağımsız çalışarak boşluk içeren diller dahil her dili aynı pipeline ile işleyebilir ve LLaMA, Mistral gibi modellerde tercih edilir. Unigram dil modeli ise olasılıksal bir yaklaşım benimseyerek token seçimini entropi minimize ederek yapar. Tokenizörün kritik bir özelliği bağlam penceresidir: bir LLM'in tek seferde işleyebildiği maksimum token sayısı. GPT-4o 128K token penceresiyle 300 sayfalık bir belgeyi aynı anda değerlendirebilirken, bazı modeller 4K ile sınırlıdır. Türkçe açısından önemli bir nokta şudur: eklemeli yapı nedeniyle Türkçe bir metin İngilizceye kıyasla 2-3 kat daha fazla token tüketir. "Yapamayabileceğim" gibi tek bir Türkçe kelime, İngilizce karşılığının birkaç token'ına karşı 5-7 token olarak temsil edilebilir. Özel tokenlar (special tokens) modelin davranışını yönlendirmek için kullanılır. `<|endoftext|>`, `<|system|>`, `<|user|>`, `<|assistant|>` gibi kontrol token'ları chat şablonlarının temelini oluşturur. `[CLS]` ve `[SEP]` BERT ailesi modellerde cümle sınırlarını işaretler. Bu token'lar olmadan model giriş yapısını anlayamaz. Bir tokenizörü keşfetmek için Hugging Face'in `transformers` kütüphanesindeki `AutoTokenizer.from_pretrained()` kullanılabilir. Token sayısını önceden hesaplamak, API maliyetini kontrol etmek ve bağlam penceresi aşımını önlemek açısından üretim sistemlerinde zorunlu bir adımdır. OpenAI'nin tiktoken kütüphanesi, GPT modellerinin token kullanımını yerel olarak saymak için yaygın bir araçtır.

arrow_forward