ٹوکنائزیشن کا اندرونی طریقہ کار
آپ ایک چیٹ بوٹ (chatbot) تعینات کرتے ہیں۔ انگریزی سوالات 42 ٹوکن استعمال کرتے ہیں۔ ایک ہسپانوی صارف ایک سوال بھیجتا ہے اور وہ 103 ٹوکن استعمال کرتا ہے۔ اچانک، آپ کے API کے اخراجات 40 فیصد بڑھ جاتے ہیں۔
ایسا اس وقت ہوتا ہے جب آپ ٹوکنائزیشن کو ایک نظر انداز ہونے والے پس منظر کے کام کے طور پر دیکھتے ہیں۔ ہر لارج لینگویج ماڈل (LLM) چار سب ورڈ الگورتھم (subword algorithms) میں سے ایک کا استعمال کرتا ہے۔ آپ کا انتخاب الفاظ کے ذخیرے (vocabulary size) کا حجم، زبان کی کارکردگی، اور آپ کے ماہانہ بل کا تعین کرتا ہے۔
ٹوکنائزیشن تین اہم چیزوں کو کنٹرول کرتی ہے:
- انفرنس کا خرچہ (Inference cost)۔ LLM APIs ٹوکن کے حساب سے چارج کرتی ہیں۔ ایک چھوٹا ذخیرہ الفاظ ایک لفظ کو 8 ٹوکنز میں توڑ سکتا ہے۔ ایک بڑا ذخیرہ الفاظ اسے 3 میں سنبھال لیتا ہے۔ بڑے پیمانے پر یہ فرق اصل رقم کا نقصان ہے۔
- ذخیرہ الفاظ کا احاطہ (Vocabulary coverage)۔ ناقص ذخیرہ الفاظ طویل تسلسل (sequences) پیدا کرتے ہیں۔ اس سے مواد کی تخلیق (generation) سست ہو جاتی ہے اور اخراجات بڑھ جاتے ہیں۔
- ماڈل کا طرزِ عمل (Model behavior)۔ اگر ایک ٹوکنائزر "cowboy" کو ["cow", "boy"] میں تقسیم کرتا ہے، تو ماڈل اس طرح سیکھتا ہے جیسے اسے ["c", "owb", "oy"] میں تقسیم کیا گیا ہو۔
یہاں چار اہم اقسام کے کام کرنے کا طریقہ دیا گیا ہے:
BPE (Byte Pair Encoding)
- یہ کیسے کام کرتا ہے: یہ حروف (characters) سے شروع ہوتا ہے۔ یہ بار بار آنے والے ملحقہ جوڑوں (adjacent pairs) کو گنتا ہے اور انہیں نئے ٹوکنز میں ضم کر دیتا ہے۔ یہ اس وقت تک دہراتا ہے جب تک کہ یہ مطلوبہ حجم تک نہ پہنچ جائے۔
- فوائد: تیز اور یقینی (deterministic)۔
- صارفین: GPT-4o, Llama 3, Mistral.
WordPiece
- یہ کیسے کام کرتا ہے: یہ BPE کے مشابہ ہے لیکن خام فریکوئنسی (raw frequency) کے بجائے امکانیت (likelihood) کا استعمال کرتا ہے۔ یہ ایسے ملاپ (merges) کا انتخاب کرتا ہے جو ٹریننگ ڈیٹا کے امکانات (probability) کو زیادہ سے زیادہ کر دیں۔
- فوائد: لسانی طور پر زیادہ معنی خیز ٹوکنز تخلیق کرتا ہے۔
- صارفین: BERT, Google models.
SentencePiece
- یہ کیسے کام کرتا ہے: یہ ان پٹ کو خام Unicode bytes کے طور پر لیتا ہے۔ اسے سپیس (spaces) پر تقسیم کرنے جیسے پری ٹوکنائزیشن (pre-tokenization) مرحلے کی ضرورت نہیں ہوتی۔
- فوائد: کثیر لسانی معاونت (multilingual support) کے لیے بہترین ہے کیونکہ یہ زبان سے آزاد (language-agnostic) ہے۔
- صارفین: Llama 2, Llama 3, Gemma.
Unigram
- یہ کیسے کام کرتا ہے: یہ ایک بہت بڑے ذخیرہ الفاظ سے شروع ہوتا ہے اور ایک احتمالی ماڈل (probabilistic model) کا استعمال کرتے ہوئے اسے کم کرتا جاتا ہے۔ یہ بہترین تقسیم کا راستہ (segmentation path) منتخب کرتا ہے۔
- فوائد: ٹوکن سے معنی کے درمیان زیادہ مستقل مزاج میپنگ (mapping)۔
- صارفین: T5, XLNet.
ڈویلپرز کے لیے اہم نکات:
- اپنی زبانوں کے امتزاج پر نظر رکھیں۔ BPE ماڈلز جو سپیس (spaces) پر انحصار کرتے ہیں، جاپانی یا ہندی جیسی زبانوں کے ساتھ مشکل محسوس کرتے ہیں۔ عالمی مصنوعات کے لیے SentencePiece کا استعمال کریں۔
- اپنے ورژنز کو فکس (pin) رکھیں۔ cl100k_base سے o200k_base پر منتقل ہونے سے آپ کے ٹوکن کی تعداد بدل جاتی ہے۔ ہمیشہ ٹریک کریں کہ آپ تشخیص (evaluations) میں کون سا انکوڈنگ استعمال کر رہے ہیں۔
- درست بینچ مارکنگ (benchmark) کریں۔ مختلف ماڈل فیملیز کے درمیان ٹوکن کی تعداد کا موازنہ نہ کریں۔ درست رہنے کے لیے ہمیشہ حروف (character) یا بائٹ (byte) کی تعداد کا استعمال کرتے ہوئے بینچ مارکنگ کریں۔
ان ٹولز کو سمجھنا آپ کو حیران فنانس ٹیموں کے بجائے کفایت شعار مصنوعات فراہم کرنے میں مدد دیتا ہے۔
اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi