Stop sequences (language models) (BN)

From Systems analysis Wiki
Jump to navigation Jump to search

Stop Sequence (স্টপ সিকোয়েন্স) বৃহৎ ভাষা মডেলের (LLM) প্রেক্ষাপটে এমন একটি বিশেষ অক্ষর বা token-এর ক্রম, যা মডেলকে পাঠ্য উৎপাদন বন্ধ করার সংকেত দেয়[1]। এই প্রক্রিয়াটি অটোরিগ্রেসিভ ভাষা মডেলের একটি গুরুত্বপূর্ণ উপাদান, যা নিয়ন্ত্রিত ও পূর্বানুমানযোগ্যভাবে উত্তর সমাপ্ত করে।

Stop sequence ব্যবহারের সময় মডেল প্রতিটি উৎপাদন ধাপে পরীক্ষা করে যে ইতোমধ্যে উৎপাদিত পাঠ্য নির্দিষ্ট কোনো ক্রমের সাথে মিলে যাচ্ছে কিনা। মিল পাওয়া গেলে প্রক্রিয়াটি তাৎক্ষণিকভাবে বন্ধ হয়, এবং stop sequence নিজে চূড়ান্ত আউটপুটে অন্তর্ভুক্ত হয় না[2]। এটি ডেভেলপারকে প্রশ্ন পরিবর্তন না করেই উত্তরের সীমা নির্ভুলভাবে নিয়ন্ত্রণ করতে দেয়।

কার্যপ্রণালীর মৌলিক নীতিমালা

অটোরিগ্রেসিভ ভাষা মডেলে পাঠ্য উৎপাদন ধারাবাহিকভাবে, token থেকে token-এ ঘটে। প্রতিটি ধাপে মডেল পূর্ববর্তী সম্পূর্ণ ক্রমের (ইনপুট prompt এবং ইতোমধ্যে উৎপাদিত পাঠ্য) ভিত্তিতে পরবর্তী token পূর্বানুমান করে। গাণিতিকভাবে এটি শর্তসাপেক্ষ সম্ভাবনা হিসেবে প্রকাশ পায়:

P(yty<t,x)

যেখানে yt — বর্তমানে উৎপাদিত token, y<t — পূর্বে উৎপাদিত token-এর ক্রম, এবং x — ইনপুট ক্রম[3]

Stop sequence-এর প্রক্রিয়া এই পুনরাবৃত্তিমূলক প্রক্রিয়া বিরতির জন্য একটি বাহ্যিক মানদণ্ড হিসেবে কাজ করে।

স্টপ সিকোয়েন্সের ধরনসমূহ

বিভিন্ন ধরনের স্টপ মেকানিজম রয়েছে, যা আলাদাভাবে বা সমন্বিতভাবে ব্যবহার করা যায়।

১. ক্রমসমাপ্তি token (EOS)

End-of-Sequence (EOS) হলো বিশেষ token (যেমন `<|endoftext|>`), যা মডেলের শব্দভান্ডারে অন্তর্নির্মিত এবং একটি যৌক্তিক পাঠ্য খণ্ডের শেষ চিহ্নিত করার জন্য ব্যবহৃত হয়। মডেলকে EOS token উৎপাদন করতে প্রশিক্ষিত করা হয় যখন সে উত্তরকে সম্পূর্ণ মনে করে, কারণ প্রশিক্ষণ ডেটাসেটের সকল পাঠ্য এই token দিয়ে শেষ হয়[4]। EOS token শনাক্ত হলে উৎপাদন স্বয়ংক্রিয়ভাবে বন্ধ হয়।

গবেষণা দেখায় যে EOS token-এর উপস্থিতি attention আর্কিটেকচারকে প্রভাবিত করে: মডেলগুলো অবস্থান গণনার অভ্যন্তরীণ প্রক্রিয়া গড়ে তোলে, তবে এটি প্রশিক্ষণ উদাহরণের দৈর্ঘ্যের চেয়ে উল্লেখযোগ্যভাবে দীর্ঘ ক্রমে এক্সট্রাপোলেশন করার ক্ষমতাকে সীমিত করতে পারে[5]

২. কাস্টম ক্রমসমূহ

এগুলো হলো স্বেচ্ছামূলক স্ট্রিং, যা ডেভেলপার নির্দিষ্ট কাজের জন্য নির্ধারণ করেন। এগুলো মডেলের শব্দভান্ডারের অংশ নয়, কিন্তু অক্ষর স্তরে পর্যবেক্ষণ করা হয়। উদাহরণ হিসেবে:

  • নতুন লাইনের অক্ষর: `\n` বা `\n\n` অনুচ্ছেদের পরে থামার জন্য।
  • প্রাসঙ্গিক মার্কার: `Human:`, `User:` বা `Q:` কথোপকথনে বক্তব্য পৃথক করতে।
  • বিশেষ মার্কার: `###`, `</output>` বা `END`।

৩. কাঠামোগত ক্রমসমূহ

এগুলো হলো বিশেষায়িত মার্কার, যা নির্দিষ্ট কাঠামোগত উপাদান সম্পন্ন করতে ব্যবহৃত হয়, যা ফরম্যাটেড কন্টেন্ট উৎপাদনে অত্যন্ত গুরুত্বপূর্ণ[1]:

  • কোড: কোড ব্লক শেষ করতে ট্রিপল ব্যাকটিক (```)।
  • JSON/XML: বন্ধ বন্ধনী (`}`) বা ট্যাগ (`</element>`)।

প্রযুক্তিগত বাস্তবায়ন ও সমস্যাসমূহ

কার্যকর stop sequence শনাক্তকরণ একটি জটিল কাজ, যা বেশ কিছু চ্যালেঞ্জের সাথে যুক্ত।

শনাক্তকরণ অ্যালগরিদম ও অপ্টিমাইজেশন

বাস্তব সিস্টেমে শনাক্তকরণ প্রক্রিয়ায় অন্তর্ভুক্ত:

  1. প্রতিটি ধাপে যাচাই: প্রতিটি নতুন token উৎপাদনের পরে সিস্টেম পরীক্ষা করে বর্তমান আউটপুট কোনো নির্ধারিত stop sequence দিয়ে শেষ হচ্ছে কিনা।
  2. আংশিক মিল প্রক্রিয়াকরণ: সিস্টেমকে এমন পরিস্থিতি পর্যবেক্ষণ করতে হবে যেখানে ক্রমের একটি অংশ ইতোমধ্যে উৎপাদিত হয়েছে কিন্তু সম্পূর্ণ মিল এখনো পাওয়া যায়নি।
  3. বহু-মানদণ্ড যাচাই: অধিকাংশ সিস্টেম (যেমন OpenAI API) একসাথে একাধিক (চারটি পর্যন্ত) stop sequence পর্যবেক্ষণ করতে দেয়[2]

Hugging Face Transformers framework-এ এই উদ্দেশ্যে `StoppingCriteria` বিমূর্ত ক্লাস বাস্তবায়িত হয়েছে, যা কাস্টম স্টপ মানদণ্ড তৈরি করতে দেয়, যেমন `MaxLengthCriteria` (দৈর্ঘ্য অনুযায়ী) বা `EosTokenCriteria` (EOS token অনুযায়ী)[4]

সমস্যা ও সীমাবদ্ধতা

  • টোকেনাইজেশন সমস্যা: এটি প্রধান প্রযুক্তিগত জটিলতা। একই অক্ষর ক্রম (যেমন `\nUser:`) প্রসঙ্গভেদে ভিন্নভাবে token-এ বিভক্ত হতে পারে। এটি নির্ভরযোগ্য শনাক্তকরণকে কঠিন করে তোলে, কারণ stop sequence একাধিক token-এ বিভক্ত হতে পারে[5]
  • কর্মক্ষমতা: প্রতিটি ধাপে একাধিক দীর্ঘ stop sequence যাচাই করা উৎপাদনকে ধীর করতে পারে, বিশেষত বাস্তব সময়ে দীর্ঘ ক্রমের সাথে কাজ করার সময়।
  • মিথ্যা সক্রিয়করণ: নির্ধারিত ক্রম দুর্ঘটনাক্রমে কাঙ্ক্ষিত উত্তরের মাঝে পাওয়া যেতে পারে, যা অকাল সমাপ্তির কারণ হয়। তাই যথেষ্ট অনন্য ও নির্দিষ্ট মার্কার (যেমন `\n###\n`) বেছে নেওয়া গুরুত্বপূর্ণ[6]

প্রয়োগ ও ব্যবহারের দৃশ্যপট

Stop sequence হলো LLM-এর আচরণ নিয়ন্ত্রণের একটি শক্তিশালী হাতিয়ার।

  • দৈর্ঘ্য ও খরচ নিয়ন্ত্রণ: উত্তরের সর্বোচ্চ আকার সীমিত করতে এবং ফলস্বরূপ token ব্যয় কমাতে সহায়তা করে, যা পেইড API ব্যবহারে গুরুত্বপূর্ণ।
  • কথোপকথন সিস্টেম: কথোপকথনকারীদের বক্তব্য স্পষ্টভাবে আলাদা করতে ব্যবহৃত হয়, যাতে সহকারী মডেল ব্যবহারকারীর পক্ষে উত্তর না দেয়।
  • কাঠামোগত কন্টেন্ট উৎপাদন: JSON, XML ফরম্যাটে বা কোড লেখায় সঠিক আউটপুট পেতে অপরিহার্য, কাঠামো সম্পন্ন হওয়ার পরে অতিরিক্ত তথ্য যুক্ত হওয়া প্রতিরোধ করে[7]
  • অবাঞ্ছিত আচরণ প্রতিরোধ: পুনরাবৃত্তিমূলক বা ভুল কন্টেন্ট (হ্যালুসিনেশন) দেখা দিলে উৎপাদন বিরতি দিতে সহায়তা করে।
  • প্রশিক্ষণ ও fine-tuning: প্রশিক্ষণ ডেটাসেটে প্রায়ই অনন্য মার্কার (যেমন `###`) stop sequence হিসেবে ব্যবহার করা হয়, যাতে মডেল সঠিক জায়গায় উত্তর শেষ করতে শেখে[6]

গবেষণার আধুনিক দিকসমূহ

  • অভিযোজিত স্টপ মানদণ্ড: এমন পদ্ধতির উন্নয়ন যা প্রসঙ্গ এবং উৎপাদিত পাঠ্যের মান অনুযায়ী গতিশীলভাবে সমাপ্তির বিন্দু নির্ধারণ করে।
  • এনট্রপি-ভিত্তিক পদ্ধতি: মানদণ্ড হিসেবে token বিতরণের এনট্রপি ব্যবহার। উচ্চ এনট্রপি মডেলের অনিশ্চয়তা নির্দেশ করতে পারে এবং উৎপাদন বন্ধের সংকেত হিসেবে কাজ করতে পারে।

তথ্যসূত্র

  • Stop sequence ব্যবহার সম্পর্কিত 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. 1.0 1.1 «Stop Sequence: Understanding & Setting It Correctly». Promptitude.io Help Center. [১]
  2. 2.0 2.1 «How do I use stop sequences in the OpenAI API?». OpenAI Help Center. [২]
  3. «How to use stop sequences?». Vellum. [৩]
  4. 4.0 4.1 Brown, Tom, et al. «A Survey on GPT-3». arXiv:2212.00857 [cs.CL], 1 дек. 2022 г. [৪]
  5. 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 г. [৫]
  6. 6.0 6.1 Eric, Mihail. «How to Finetune GPT3». mihaileric.com. [৬]
  7. Corin, Daniel. «Way Enough - Cursor Triple Backticks Stop Sequence». danielcorin.com. [৭]