Token (LLM) (TR)
Token (token) — büyük dil modellerinin (LLM) üzerinde çalışabildiği en küçük metin birimidir. Herhangi bir metin, LLM tarafından işlenmeden önce bir token dizisine dönüştürülür; bu token'lar daha sonra modelin analiz edip işleyebileceği sayısal temsillere çevrilir.
Kullanılan tokenizasyon stratejisine bağlı olarak, bir token şunları temsil edebilir:
- Tam bir kelime (örneğin, "ev")
- Bir kelimenin parçası veya kökü (örneğin, "ev" kelimesinin "evcilik" içindeki kısmı)
- Tek bir karakter veya noktalama işareti (örneğin, ",", "!")
Token kullanımı, dil modellerinin metin yapılarını etkin biçimde öğrenmesine ve yeniden üretmesine, örüntüleri tespit etmesine, metnin anlambilimini ve sözdizimini kavramasına olanak tanır.
Tokenizasyon Süreci
Tokenizasyon (tokenization) — kaynak metnin token'lara bölünmesi ve ardından bu token'ların model tarafından anlaşılabilir sayısal tanımlayıcılara dönüştürülmesi sürecidir.
Bu aşama, büyük dil modellerinin çalışması için zorunlu ve temel bir adımdır. Bu sayede LLM şunları yapabilir:
- Sözdizimini analiz etmek — metnin yapısını ve öğelerin (kelimeler ile ifadeler) konumunu;
- Anlambilimi çıkarmak — metnin derin anlamını ve öğeler arasındaki ilişkileri.
Başlıca tokenizasyon yöntemleri şunlardır:
- Byte Pair Encoding (BPE): En sık görülen sembol çiftlerini yinelemeli olarak yeni token'larla değiştiren bir algoritma; nadir kelimelerin ve morfolojik varyasyonların etkin biçimde işlenmesini sağlar.
- WordPiece: BERT modellerinde kullanılan ve kelimeleri alt-kelime birimlerine ayıran bir yöntem; bilinmeyen kelimelerin işlenmesine yardımcı olur.
- SentencePiece: Metni bir karakter dizisi olarak ele alan ve tokenizasyon için BPE ya da Unigram tabanlı modeller uygulayan bir yöntemdir.
Tokenizasyon yönteminin seçimi, modelin performansını, farklı dilleri işleme kapasitesini ve eğitim verimliliğini doğrudan etkiler.
Özel Token'lar
Temel token'lara ek olarak modeller, metnin işlevsel öğelerini belirtmek amacıyla özel token'lar da kullanır. Bu token'lar şunlardır:
[CLS](class) — genellikle metin sınıflandırma görevlerinde kullanılan dizi başlangıç token'ı;[SEP](separator) — metnin farklı bölümlerini birbirinden ayırır (örneğin soru ve cevap, cümleler veya paragraflar);[MASK]— modelin tahmin etmesi gereken kelimeyi belirtmek için kullanılan özel token (BERT ve diğer masked-language modellerinde kullanılır);[PAD](padding) — metni uzunluk bakımından hizalamak için kullanılır.
Bu özel token'lar, modellerin işlenen metnin yapısını ve bağlamını daha doğru biçimde kavramasına yardımcı olur.
Token'lar ve Bağlam Penceresi
Bağlam penceresi (context window) — bir modelin metin üretimi sırasında aynı anda dikkate alıp işleyebildiği maksimum token sayısıdır.
Örneğin GPT-3 modeli, 2048 token büyüklüğünde bir bağlam penceresine sahiptir. Bu, modelin metin oluştururken kaynak metnin en fazla 2048 token'ında yer alan bilgileri aynı anda göz önünde bulundurabileceği anlamına gelir. Bağlam penceresinin boyutu şunları etkiler:
- Modele sunulan maksimum bilgi miktarı;
- Üretilen yanıtların kalitesi ve anlamlılığı;
- Modelin uzun metinleri işleyebilme ve token'lar arasındaki uzun mesafelerde bağlamı koruyabilme kapasitesi.
Kaynakça
- Sennrich, R.; Haddow, B.; Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. arXiv:1508.07909.
- Kudo, T.; Richardson, J. (2018). SentencePiece: A Simple and Language-Independent Subword Tokenizer and Detokenizer for Neural Text Processing. arXiv:1808.06226.
- Kudo, T. (2018). Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. arXiv:1804.10959.
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Song, X. et al. (2021). Fast WordPiece Tokenization. *EMNLP 2021*. ACL Anthology.
- Mielke, S. J.; Dalmia, S.; Cotterell, R. (2021). A Brief History of Open-Vocabulary Modeling and Tokenization in NLP. arXiv:2112.10508.
- Xue, J. et al. (2022). ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models. arXiv:2105.13626.
- Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). Tokenization Impacts Multilingual Language Modeling: Assessing Vocabulary Allocation and Overlap Across Languages. arXiv:2305.17179.
- Pourmostafa Roshan Sharami, J.; Shterionov, D.; Spronck, P. (2023). A Systematic Analysis of Vocabulary and BPE Settings for Optimal Fine-tuning of NMT. arXiv:2303.00722.
- Batsuren, K. et al. (2024). Evaluating Subword Tokenization: Alien Subword Composition and OOV Generalization Challenge. arXiv:2404.13292.
- Chai, Y. et al. (2024). Tokenization Falling Short: On Subword Robustness in Large Language Models. arXiv:2406.11687.