Token (LLM) — رَمْز
الرَّمْز (Token) — هو أصغر وحدة نصية تستطيع نماذج اللغة الكبيرة (LLM) التعامل معها. قبل معالجة أي نص بواسطة نموذج لغة كبير، يتم تحويله أولاً إلى سلسلة من الرموز، والتي تُترجم بدورها إلى تمثيلات رقمية يسهل على النموذج تحليلها ومعالجتها.
اعتمادًا على استراتيجية الترميز المستخدمة، يمكن للرَّمْز أن يمثل:
- كلمة كاملة (على سبيل المثال، "بيت")
- جزء من كلمة أو جذر (على سبيل المثال، "بيت" في "بُيَيْت")
- حرف واحد أو علامة ترقيم (على سبيل المثال، "،" أو "!")
يسمح استخدام الرموز لنماذج اللغة بدراسة بنى النص وإعادة إنتاجها بفعالية، واكتشاف الأنماط، بالإضافة إلى فهم الدلالات وبناء الجملة في النص.
عملية الترميز
الترميز (tokenization) — هو عملية تقسيم النص الأصلي إلى رموز ثم تحويلها إلى مُعرِّفات رقمية يمكن للنموذج فهمها.
تُعد هذه المرحلة إلزامية وأساسية لعمل نماذج اللغة الكبيرة. فمن خلالها، يتمكن النموذج من:
- تحليل بناء الجملة — أي بنية النص ومواقع عناصره (الكلمات والعبارات)؛
- استخلاص الدلالات — أي المعنى العميق للنص والعلاقات بين عناصره.
توجد عدة طرق أساسية للترميز، من بينها:
- Byte Pair Encoding (BPE): خوارزمية تقوم بشكل تكراري باستبدال أزواج الرموز الأكثر شيوعًا برموز جديدة، مما يسمح بمعالجة الكلمات النادرة والتنوعات الصرفية بكفاءة.
- WordPiece: تُستخدم في نماذج BERT وتقوم بتقسيم الكلمات إلى وحدات أصغر من الكلمة (subwords)، مما يساعد في التعامل مع الكلمات غير المعروفة.
- SentencePiece: طريقة تتعامل مع النص كسلسلة من الرموز وتطبق نماذج مبنية على BPE أو Unigram لإجراء الترميز.
يؤثر اختيار طريقة الترميز على أداء النموذج وقدرته على معالجة اللغات المختلفة وكفاءة تدريبه.
الرموز الخاصة
بالإضافة إلى الرموز الأساسية، تستخدم النماذج أيضًا رموزًا خاصة للإشارة إلى عناصر وظيفية في النص، مثل:
[CLS](class) — رمز بداية السلسلة، يُستخدم غالبًا في مهام تصنيف النصوص؛[SEP](separator) — يفصل بين أجزاء مختلفة من النص (على سبيل المثال، سؤال وجواب، أو جمل وفقرات)؛[MASK]— رمز خاص يُستخدم للإشارة إلى كلمة يجب على النموذج التنبؤ بها (يُستخدم في نماذج BERT وغيرها من نماذج اللغة المقنّعة)؛[PAD](padding) — يُستخدم لموازنة طول النص (حشو).
تساعد هذه الرموز الخاصة النماذج على فهم بنية وسياق النص المُعالَج بدقة أكبر.
الرموز ونافذة السياق
نافذة السياق (context window) — هي أقصى عدد من الرموز يمكن للنموذج أن يأخذها في الاعتبار ويعالجها في آن واحد عند توليد النص.
على سبيل المثال، يبلغ حجم نافذة السياق في نموذج GPT-3 2048 رمزًا. وهذا يعني أنه عند إنشاء نص، يمكن للنموذج أن يأخذ في الاعتبار المعلومات الموجودة في 2048 رمزًا كحد أقصى من النص الأصلي. يؤثر حجم نافذة السياق على:
- الحد الأقصى لكمية المعلومات المتاحة للنموذج؛
- جودة الأجوبة التي يتم إنشاؤها ومدى ترابطها؛
- قدرة النموذج على فهم النصوص الطويلة والحفاظ على السياق عبر مسافات كبيرة بين الرموز.
المراجع
- 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.