Tokenization (NLP) (UR)
ٹوکنائزیشن بڑے زبانی ماڈلز (LLM) کے تناظر میں ایک بنیادی پیشگی پروسیسنگ کا عمل ہے، جس میں متن کی ایک ترتیب کو چھوٹی، قابلِ انتظام اکائیوں میں تقسیم کیا جاتا ہے جنہیں ٹوکن کہتے ہیں۔ یہ ٹوکن پھر عددی شناخت کنندگان میں تبدیل کیے جاتے ہیں جنہیں ماڈل پروسیس کر سکتا ہے۔ ٹوکنائزیشن ایک انتہائی اہم ابتدائی مرحلہ ہے، کیونکہ یہ ماڈل کی کارکردگی، افادیت، انصاف پسندی اور زبان کے فہم کے معیار پر براہِ راست اثر ڈالتی ہے۔
بنیادی تصورات
ٹوکن
ٹوکن متن کی وہ مجرد اکائی ہے جسے زبانی ماڈل پروسیس کرتا ہے۔ منتخب کردہ ٹوکنائزیشن کے طریقے کے مطابق، ٹوکن درج ذیل شکلوں میں ہو سکتا ہے:
- پورا لفظ (مثلاً «بلی»)۔
- لفظ کا حصہ یا ذیلی لفظ (مثلاً «نا-»، «-دیکھ-»، «-نا»)۔
- واحد حرف (مثلاً «ا»، «ب»، «پ»)۔
- بائٹ (byte-level ٹوکنائزیشن کی صورت میں)۔
ہر منفرد ٹوکن کو ٹوکنائزر کے vocabulary سے ایک مخصوص اشاریہ نمبر تفویض کیا جاتا ہے۔
ٹوکنائزر کا Vocabulary
Vocabulary (یا ذخیرۂ الفاظ) تمام ممکنہ ٹوکنوں کا مکمل مجموعہ ہے جنہیں ماڈل شناخت کر سکتا ہے۔ Vocabulary کا حجم ایک اہم hyperparameter ہے:
- بڑا vocabulary زیادہ الفاظ کو مکمل طور پر پیش کرنے کی اجازت دیتا ہے، جس سے فہم بہتر ہوتا ہے اور ترتیبوں کی لمبائی کم ہوتی ہے، لیکن ماڈل کا حجم اور تربیت کی پیچیدگی بڑھ جاتی ہے۔
- چھوٹا vocabulary زیادہ مختصر ہوتا ہے، لیکن نادر یا پیچیدہ الفاظ کو زیادہ ذیلی الفاظ میں تقسیم کرنا پڑتا ہے، جس سے ترتیبیں لمبی ہو سکتی ہیں اور معنی کو سمجھنا مشکل ہو سکتا ہے۔
Vocabulary کا حجم ماڈلز کے درمیان کافی مختلف ہوتا ہے: GPT-2 میں تقریباً ~50,000 ٹوکنز سے لے کر جدید ماڈلز جیسے GPT-4 (100,277) اور LLaMA-3 (128,000) میں 100,000 سے زیادہ تک۔
ٹوکنائزیشن کے بنیادی طریقے
ٹوکنائزیشن کی تفصیل کے تین بنیادی درجے موجود ہیں۔
1. لفظی سطح کی ٹوکنائزیشن (Word-level)
- اصول: متن کو الگ کرنے والوں (خالی جگہ، رموزِ اوقاف) کی بنیاد پر انفرادی الفاظ میں تقسیم کیا جاتا ہے۔
- فوائد: بدیہی طور پر قابلِ فہم؛ ٹوکن کی ترتیبیں چھوٹی ہوتی ہیں جس سے حسابی بوجھ کم ہوتا ہے۔
- نقصانات:
- نامعلوم الفاظ کا مسئلہ (Out-of-Vocabulary, OOV): ماڈل ان الفاظ کو پروسیس نہیں کر سکتا جو تربیتی vocabulary میں موجود نہیں تھے، نیز تحریری غلطیاں اور نئے الفاظ بھی۔
- بڑا vocabulary: تمام منفرد الفاظ کو محفوظ کرنا ضروری ہوتا ہے، جو خاص طور پر بھرپور صرفیات والی زبانوں کے لیے مشکل ہے۔
2. حرفی سطح کی ٹوکنائزیشن (Character-level)
- اصول: متن کو انفرادی حروف میں تقسیم کیا جاتا ہے۔
- فوائد:
- OOV کا کوئی مسئلہ نہیں: کسی بھی لفظ کو حروف کی ترتیب کے طور پر پیش کیا جا سکتا ہے۔
- چھوٹا vocabulary: حروفِ تہجی اور خاص علامات کے حجم تک محدود ہے۔
- نقصانات:
- لمبی ترتیبیں: متن بہت لمبی ٹوکن ترتیبوں میں تبدیل ہو جاتا ہے، جس سے حسابی اخراجات نمایاں طور پر بڑھ جاتے ہیں۔
- معنی کا نقصان: ماڈل کے لیے مفہوم کو سمجھنا مشکل ہو جاتا ہے، کیونکہ وہ پورے الفاظ کی بجائے انفرادی حروف پر کام کرتا ہے۔
3. ذیلی لفظی ٹوکنائزیشن (Subword Tokenization)
یہ ایک درمیانی اور آج کا سب سے مقبول طریقہ ہے، جو پچھلے دونوں طریقوں کے فوائد کو یکجا کرتا ہے۔
- اصول: کثرت سے استعمال ہونے والے الفاظ مکمل ٹوکن رہتے ہیں، جبکہ نادر یا نامعلوم الفاظ کو چھوٹے، بامعنی حصوں (ذیلی الفاظ) میں تقسیم کیا جاتا ہے۔
- فوائد:
- OOV الفاظ اور صرفیاتی تغیرات کو مؤثر طریقے سے سنبھالتا ہے۔
- Vocabulary کا حجم قابلِ کنٹرول ہوتا ہے۔
- الفاظ کی صرفیاتی ساخت کو پکڑتا ہے۔
- بنیادی الگورتھم:
- Byte Pair Encoding (BPE): ایک تکراری الگورتھم جو حروف کے مجموعے سے شروع ہوتا ہے اور سب سے زیادہ بار آنے والے جوڑوں کو یکجا کر کے نئے ٹوکن بناتا رہتا ہے۔ GPT ماڈلز میں استعمال ہوتا ہے۔ Byte-level BPE، جو GPT-2 اور RoBERTa میں استعمال ہوتا ہے، الفاظ کو بائٹ کی ترتیب کے طور پر دیکھتا ہے، جو OOV کے مسئلے کو مکمل طور پر حل کرتا ہے۔
- WordPiece: BPE سے ملتا جلتا الگورتھم، لیکن جوڑوں کے ادغام کے لیے وہ جوڑے منتخب کیے جاتے ہیں جو تربیتی ڈیٹا کے امکان کو زیادہ سے زیادہ کریں۔ BERT ماڈلز میں استعمال ہوتا ہے۔
- Unigram LM: BPE/WordPiece کے برعکس، یہ طریقہ ذیلی الفاظ کے ایک بڑے مجموعے سے شروع ہوتا ہے اور اسے آہستہ آہستہ کم کرتا ہے، ان ٹوکنوں کو حذف کرتے ہوئے جن کا corpus کے مجموعی امکان پر کم سے کم اثر پڑتا ہے۔ اس سے ایک لفظ کے لیے کئی ممکنہ ٹوکنائزیشن بنائی جا سکتی ہیں (ذیلی لفظی ریگولرائزیشن)۔
- SentencePiece ٹول کٹ: Google کی ایک لائبریری جو BPE اور Unigram LM کو نافذ کرتی ہے اور متن کو حروف کے مسلسل بہاؤ کے طور پر پروسیس کرتی ہے، جو اسے بغیر واضح الفاظ کے جداکار والی زبانوں (مثلاً چینی) کے لیے موزوں بناتی ہے۔ LLaMA اور T5 ماڈلز میں استعمال ہوتی ہے۔
ملٹی موڈل LLM میں ٹوکنائزیشن
ملٹی موڈل ماڈلز میں، جو صرف متن ہی نہیں بلکہ دیگر اقسام کے ڈیٹا پر بھی کام کرتے ہیں، ٹوکنائزیشن دیگر ڈیٹا اقسام تک بھی پھیلی ہوئی ہے:
- بصری ٹوکنائزیشن: تصاویر کو چھوٹے patches میں تقسیم کیا جاتا ہے (مثلاً 16x16 پکسل)، جنہیں پھر متنی ٹوکنوں کی طرح ویکٹر-ٹوکنوں میں تبدیل کیا جاتا ہے۔
- آڈیو ٹوکنائزیشن: مسلسل آڈیو سگنلز کو مجرد ٹوکنوں کی ترتیب میں تبدیل کیا جاتا ہے جو آواز کے مختصر حصوں کی نمائندگی کرتے ہیں۔
- یکساں طریقہ (TEAL): ایک تصور جس میں کسی بھی modality کے ڈیٹا کو پہلے متعلقہ ٹوکنائزر سے ٹوکنائز کیا جاتا ہے، اور پھر ان کے embeddings کو ایک مشترکہ فضا میں پروسیس کیا جاتا ہے۔
مسائل اور حدود
ٹوکنائزیشن، اپنی اہمیت کے باوجود، LLM کی کارکردگی میں بہت سے مسائل کا ذریعہ ہے:
- عدم تسلسل اور حساسیت: ان پٹ ڈیٹا میں معمولی تبدیلیاں (تحریری غلطی، بڑے-چھوٹے حروف، آخر میں خالی جگہ) ٹوکنائزیشن کو یکسر بدل سکتی ہیں، جس سے ماڈل کا رویہ غیر متوقع ہو جاتا ہے۔
- کثیر لسانی مسائل: بہت سی زبانوں کے لیے ایک مشترکہ vocabulary اکثر کم وسائل والی یا صرفیاتی طور پر بھرپور زبانوں کے لیے غیر مؤثر ثابت ہوتی ہے، جس سے ٹوکن کی ترتیبیں بہت لمبی ہو جاتی ہیں۔
- استدلال پر اثر: اعداد (مثلاً «25,000» کو «25»، «,»، «000» میں تقسیم کرنا) یا علامات کی غیر منطقی تقسیم حسابی اور علامتی کاموں کو مشکل بنا دیتی ہے۔
- Glitch Tokens: تربیتی ڈیٹا سے آنے والے غیر معمولی یا نادر ٹوکن (مثلاً Reddit کے صارف نام) جو ماڈل کا غیر متوقع یا نقصاندہ رویہ پیدا کر سکتے ہیں۔
ترقی پذیر منظرنامہ اور مستقبل کی سمتیں
ٹوکنائزیشن کے شعبے میں تحقیق فعال طور پر درج ذیل سمتوں میں جاری ہے:
- ٹوکنائزر کے بغیر ماڈلز: ایسے ماڈلز (CANINE، ByT5) کی تیاری جو براہِ راست بائٹ یا حرفی سطح پر کام کرتے ہیں، تاکہ واضح ٹوکنائزیشن کے مرحلے اور اس سے متعلق مسائل کو مکمل طور پر ختم کیا جا سکے۔
- انکولی اور قابلِ تربیت ٹوکنائزیشن: ایسے ٹوکنائزرز کی تخلیق جو زبان، شعبے یا یہاں تک کہ مخصوص ان پٹ متن کے مطابق متحرک طور پر ڈھل سکیں، یا جو بنیادی ماڈل کے ساتھ مشترکہ طور پر تربیت پائیں۔
- علمِ ادراک پر مبنی طریقے: ایسے طریقوں کی تیاری جو انسانی زبان کی پروسیسنگ سے متعلق علمِ ادراک (مثلاً «کم از کم کوشش کا اصول») سے متاثر ہوں، تاکہ زیادہ معنوی طور پر بامعنی ٹوکنائزیشن بنائی جا سکے۔
حوالہ جات
- Hugging Face کے LLM کورس میں ٹوکنائزیشن کا جائزہ
- Mistral AI کی طرف سے ٹوکنائزیشن کی دستاویزات
کتابیات
- Schuster, M.; Nakajima, K. (2012). Japanese and Korean Voice Search. PDF.
- 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.
- Song, X. et al. (2021). Fast WordPiece Tokenization. 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.
- Clark, J. H. et al. (2022). CANINE: Pre-Training an Efficient Tokenization-Free Encoder for Language Representation. arXiv:2103.06874.
- Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). Tokenization Impacts Multilingual Language Modeling. 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.