Stop sequences (language models) (UR)
Stop Sequence (اسٹاپ سیکوئنس) بڑے لینگویج ماڈلز (LLM) کے تناظر میں ایک خاص حروف یا tokens کی ترتیب ہوتی ہے جو ماڈل کو متن کی تخلیق روکنے کا اشارہ دیتی ہے[1]۔ یہ طریقہ کار آٹو ریگریسیو لینگویج ماڈلز کا ایک اہم جزو ہے جو جواب کا قابلِ کنٹرول اور قابلِ پیش گوئی اختتام یقینی بناتا ہے۔
stop sequence استعمال کرتے وقت ماڈل ہر تخلیقی مرحلے پر جانچتا ہے کہ آیا پہلے سے تیار کردہ متن کسی مقررہ ترتیب پر ختم تو نہیں ہو رہا۔ اگر مطابقت پائی جائے تو عمل فوری طور پر رک جاتا ہے، اور خود stop sequence حتمی آؤٹ پٹ میں شامل نہیں ہوتی[2]۔ اس سے ڈویلپر کو خود درخواست میں تبدیلی کیے بغیر جواب کی حدود پر درست کنٹرول حاصل ہوتا ہے۔
بنیادی اصول
آٹو ریگریسیو لینگویج ماڈلز میں متن کی تخلیق یکے بعد دیگرے، token بہ token ہوتی ہے۔ ہر مرحلے پر ماڈل پچھلی پوری ترتیب (ان پٹ prompt اور پہلے سے تیار کردہ متن) کی بنیاد پر اگلا token متعین کرتا ہے۔ ریاضیاتی طور پر یہ مشروط احتمال کے ذریعے ظاہر ہوتا ہے:
جہاں موجودہ تیار ہونے والا token ہے، پہلے سے تیار کردہ tokens کی ترتیب ہے، اور ان پٹ ترتیب ہے[3]۔
stop sequence کا طریقہ کار اس تکراری عمل کو منقطع کرنے کے لیے ایک بیرونی معیار کے طور پر کام کرتا ہے۔
اسٹاپ سیکوئنسز کی اقسام
اسٹاپ کے کئی بنیادی طریقے ہیں جن کو الگ الگ یا مل کر استعمال کیا جا سکتا ہے۔
1. سیکوئنس کے اختتامی tokens (EOS)
End-of-Sequence (EOS) خاص tokens ہوتے ہیں (مثلاً `<|endoftext|>`) جو ماڈل کی لغت میں شامل ہوتے ہیں اور متن کے منطقی حصے کے اختتام کی نشاندہی کرتے ہیں۔ ماڈل کو EOS token تیار کرنا اس وقت سکھایا جاتا ہے جب وہ جواب مکمل سمجھے، کیونکہ تربیتی ڈیٹا کے تمام متون اسی token پر ختم ہوتے ہیں[4]۔ EOS token کی شناخت ہوتے ہی تخلیق خودبخود رک جاتی ہے۔
تحقیق سے ظاہر ہوتا ہے کہ EOS tokens کی موجودگی attention کے فن تعمیر پر اثر ڈالتی ہے: ماڈلز پوزیشن گنتی کے اندرونی طریقے تیار کرتے ہیں، تاہم اس سے تربیتی مثالوں کی لمبائی سے نمایاں طور پر زیادہ ترتیبوں پر ان کی extrapolation کی صلاحیت محدود ہو سکتی ہے[5]۔
2. صارف کی مقررہ ترتیبیں
یہ من مانی تاریں ہیں جو ڈویلپر کسی مخصوص کام کے لیے متعین کرتا ہے۔ یہ ماڈل کی لغت کا حصہ نہیں ہوتیں لیکن حروف کی سطح پر ٹریک کی جاتی ہیں۔ مثالیں شامل ہیں:
- لائن بریک علامات: `\n` یا `\n\n` پیراگراف کے بعد رکنے کے لیے۔
- سیاق و سباق کے نشانات: `Human:`، `User:` یا `Q:` گفتگو میں جملوں کو الگ کرنے کے لیے۔
- خاص نشانات: `###`، `</output>` یا `END`۔
3. ساختی ترتیبیں
یہ خصوصی نشانات ہیں جو مخصوص ساختی عناصر کو ختم کرنے کے لیے استعمال ہوتے ہیں، جو فارمیٹ شدہ مواد تیار کرتے وقت انتہائی اہم ہوتے ہیں[1]:
- کوڈ: تین بیک ٹِکس (```) کوڈ بلاک ختم کرنے کے لیے۔
- JSON/XML: بند قوسین (`}`) یا ٹیگز (`</element>`)۔
تکنیکی نفاذ اور مسائل
stop sequence کی مؤثر شناخت ایک غیر معمولی کام ہے جس میں متعدد پیچیدگیاں شامل ہیں۔
شناخت کا الگورتھم اور بہتری
حقیقی نظاموں میں شناخت کے عمل میں شامل ہیں:
- ہر مرحلے پر جانچ: ہر نئے token کی تخلیق کے بعد نظام جانچتا ہے کہ آیا موجودہ آؤٹ پٹ کسی مقررہ stop sequence پر ختم تو نہیں ہو رہا۔
- جزوی مطابقت کی پروسیسنگ: نظام کو ایسے حالات ٹریک کرنے چاہییں جہاں ترتیب کا ایک حصہ پہلے سے تیار ہو چکا ہو لیکن مکمل مطابقت ابھی تک نہ ہو۔
- کثیر معیاری جانچ: اکثر نظام (مثلاً OpenAI API) بیک وقت کئی (چار تک) stop sequences ٹریک کرنے کی اجازت دیتے ہیں[2]۔
Hugging Face Transformers فریم ورک میں اس کے لیے ایک abstract class `StoppingCriteria` موجود ہے جو کسٹم اسٹاپ معیار بنانے کی سہولت دیتا ہے، جیسے `MaxLengthCriteria` (لمبائی کی بنیاد پر) یا `EosTokenCriteria` (EOS token کی بنیاد پر)[4]۔
مسائل اور حدود
- Tokenization کا مسئلہ: یہ بنیادی تکنیکی پیچیدگی ہے۔ ایک ہی حروف کی ترتیب (مثلاً `\nUser:`) سیاق و سباق کے لحاظ سے مختلف طریقوں سے tokens میں تقسیم ہو سکتی ہے۔ اس سے قابل اعتماد شناخت مشکل ہو جاتی ہے کیونکہ stop sequence کئی tokens میں بٹ سکتی ہے[5]۔
- کارکردگی: ہر مرحلے پر متعدد لمبی stop sequences کی جانچ تخلیق کو سست کر سکتی ہے، خاص طور پر طویل ترتیبوں کے ساتھ حقیقی وقت میں کام کرتے ہوئے۔
- غلط الارم: مقررہ ترتیب غلطی سے مطلوبہ جواب کے وسط میں آ سکتی ہے جس سے قبل از وقت اختتام ہو گا۔ اس لیے کافی منفرد اور مخصوص نشانات (مثلاً `\n###\n`) چننا ضروری ہے[6]۔
استعمال اور کارآمد صورتحال
Stop sequences LLM کے رویے کو کنٹرول کرنے کا ایک طاقتور ذریعہ ہیں۔
- لمبائی اور لاگت کا کنٹرول: جواب کا زیادہ سے زیادہ حجم محدود کرنے اور نتیجتاً tokens کا خرچ کم کرنے کی اجازت دیتی ہیں، جو ادائیگی والے API استعمال کرتے وقت اہم ہے۔
- مکالماتی نظام: بات کرنے والوں کی باری کو واضح طور پر الگ کرنے کے لیے استعمال ہوتی ہیں تاکہ اسسٹنٹ ماڈل صارف کی جگہ جواب نہ دے۔
- منظم مواد کی تخلیق: JSON، XML فارمیٹ میں یا کوڈ لکھتے وقت درست آؤٹ پٹ حاصل کرنے کے لیے ناگزیر ہیں، ڈھانچے کی تکمیل کے بعد اضافی معلومات شامل ہونے سے روکتی ہیں[7]۔
- ناپسندیدہ رویے سے بچاؤ: دہرانے والے یا غلط مواد (hallucinations) کے ظہور پر تخلیق منقطع کرنے میں مدد کرتی ہیں۔
- تربیت اور fine-tuning: تربیتی ڈیٹاسیٹس میں اکثر منفرد نشانات (مثلاً `###`) stop sequence کے طور پر استعمال ہوتے ہیں تاکہ ماڈل مناسب جگہ جواب ختم کرنا سیکھے[6]۔
جدید تحقیقی سمتیں
- موافق اسٹاپ معیار: ایسے طریقوں کی تیاری جو سیاق و سباق اور تیار کردہ متن کے معیار کی بنیاد پر اختتامی نقطہ متحرک طور پر متعین کریں۔
- Entropy پر مبنی نقطہ نظر: Tokens کی تقسیم کی entropy کو معیار کے طور پر استعمال کرنا۔ زیادہ entropy ماڈل کی بے یقینی کی علامت ہو سکتی ہے اور تخلیق روکنے کا اشارہ دے سکتی ہے۔
حوالہ جات
- Stop sequences کے استعمال پر OpenAI کی دستاویزات
- StoppingCriteria پر Hugging Face کی دستاویزات
کتابیات
- Sutskever, I.; Vinyals, O.; Le, Q. V. (2014). Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215.
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Keskar, N. S. et al. (2019). CTRL: A Conditional Transformer Language Model for Controllable Generation. arXiv:1909.05858.
- Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
- Brown, T. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Zong, M.; Krishnamachari, B. (2022). A Survey on GPT-3. arXiv:2212.00857.
- Zhao, Y. et al. (2022). Calibrating Sequence Likelihood Improves Conditional Language Generation. arXiv:2210.00045.
- Hu, J. C.; Cavicchioli, R.; Capotondi, A. (2023). A Request for Clarity over the End-of-Sequence Token in the Self-Critical Sequence Training. arXiv:2305.12254.
- Zhu, W. et al. (2024). Improving Open-Ended Text Generation via Adaptive Decoding. arXiv:2402.18223.
- Zhang, H. et al. (2024). Adaptable Logical Control for Large Language Models. arXiv:2406.13892.
- Suh, Y. J. et al. (2025). The Curious Case of Sequentially Mis-calibrated Language Models. arXiv:2205.11916.
حواشی
- ↑ 1.0 1.1 «Stop Sequence: Understanding & Setting It Correctly». Promptitude.io Help Center. [1]
- ↑ 2.0 2.1 «How do I use stop sequences in the OpenAI API?». OpenAI Help Center. [2]
- ↑ «How to use stop sequences?». Vellum. [3]
- ↑ 4.0 4.1 Brown, Tom, et al. «A Survey on GPT-3». arXiv:2212.00857 [cs.CL], 1 дек. 2022 г. [4]
- ↑ 5.0 5.1 Suh, Y. J., et al. «The Curious Case of Sequentially Mis-calibrated Language Models». arXiv:2205.11916 [cs.CL], 24 мая 2022 г. [5]
- ↑ 6.0 6.1 Eric, Mihail. «How to Finetune GPT3». mihaileric.com. [6]
- ↑ Corin, Daniel. «Way Enough - Cursor Triple Backticks Stop Sequence». danielcorin.com. [7]