ক্ষেত্র: content লক্ষ্য ভাষা: বাংলা (bn)
সমস্যা: দীর্ঘ কনটেক্সট মেমরির সীমায় আঘাত করে
মডেলকে ইনপুটে যত বেশি টেক্সট দেওয়া হয়, প্রতিটি নতুন প্রম্পট প্রসেস করা তার জন্য তত বেশি ভারী হয়ে ওঠে। ক্লাসিক্যাল ইন-কনটেক্সট লার্নিং পদ্ধতিতে মডেলকে প্রতিটি অনুরোধে পুরো কনটেক্সট "পুনরায় পড়তে" হয়। এর অর্থ হলো, ইনপুট টেক্সটের দৈর্ঘ্যের সাথে সাথে উত্তর দেওয়ার সময় এবং GPU-মেমরি খরচ দুটোই বেড়ে যায়। বাস্তবে, কয়েক হাজার টোকেনেই এটি লক্ষণীয় হয়ে ওঠে, আর 128K টোকেনে সম্পদ অত্যন্ত অদক্ষভাবে ব্যবহৃত হয়।
আরও খারাপ, সাধারণ ট্রান্সফরমারগুলির একটি নেটিভ কনটেক্সট উইন্ডো থাকে, যার বাইরে গেলে মান দ্রুত হ্রাস পায়। এমনকি যদি মডেল আনুষ্ঠানিকভাবে দীর্ঘ ইনপুট গ্রহণ করে, তবুও সে টেক্সটের মাঝখানের বিবরণ "ভুলে যেতে" শুরু করে। এটি বিশেষভাবে needle-in-a-haystack-এর মতো কাজে স্পষ্ট দেখা যায়, যখন প্রচুর তথ্যের মধ্যে একটি গুরুত্বপূর্ণ তথ্য খুঁজে বের করতে হয়।
MoNe-এর ধারণা: কনটেক্সটকে আলাদা মেমরিতে স্থানান্তর
MoNe (Modular Neural Memory) পদ্ধতি কনটেক্সটের দৈর্ঘ্য এবং অনুরোধের খরচের মধ্যে সরাসরি নির্ভরতা দূর করার প্রস্তাব দেয়। এটি একটি হালকা মডুলার নিউরাল মেমরি, যা ইতিমধ্যে তৈরি, ফ্রোজেন ট্রান্সফরমার মডেলের সাথে সংযুক্ত হয়। বেস মডেলকে পুনরায় প্রশিক্ষণ দেওয়ার প্রয়োজন নেই — শুধু একটি বাহ্যিক মডিউল যোগ করলেই হয়, যা কনটেক্সট নিয়ে কাজ করার দায়িত্ব নেয়।

মূল কৌশলটি হলো মেমরিটি কীভাবে গঠন করা হয়েছে। MoNe ইনপুট টেক্সটকে পুরোটা একসাথে প্রসেস করে না, বরং নির্দিষ্ট আকারের সেগমেন্টে ভাগ করে। মডিউলের ভিতরে ফাস্ট-ওয়েট নেটওয়ার্ক ব্যবহার করা হয় — এগুলি টেস্টিং পর্যায়ে সরাসরি শেখে, স্তর-স্তরের স্থানীয় গ্রেডিয়েন্ট দিয়ে নিজেদের প্যারামিটার আপডেট করে। এটি জটিল শোনায়, কিন্তু মূলত এর অর্থ: মেমরি মূল মডেলের ওজনে হস্তক্ষেপ না করেই নির্দিষ্ট টেক্সটের সাথে খাপ খাইয়ে নেয়।
দ্বি-পর্যায়ের আর্কিটেকচার: আলাদাভাবে প্রিপ্রসেসিং, আলাদাভাবে অনুরোধ
ইনফারেন্স দুটি স্বাধীন পর্যায়ে বিভক্ত। প্রথম পর্যায়ে প্রিপ্রসেসিং করা হয়: মডেল কনটেক্সটকে সেগমেন্টে পড়ে, সেগুলি থেকে কী এবং ভ্যালু তৈরি করে এবং সেগুলি বাহ্যিক মেমরিতে সংরক্ষণ করে। এই পর্যায়টি লিনিয়ার — খরচ টেক্সটের দৈর্ঘ্যের অনুপাতে বাড়ে, তবে এটি এককালীন অপারেশন।
দ্বিতীয় পর্যায়ে — যখন অনুরোধ আসে — মেমরি আর মূল কনটেক্সটে ফিরে যায় না। পরিবর্তে, এটি শুধুমাত্র অনুরোধের টোকেন থেকে কী এবং ভ্যালু তৈরি করে। কনটেক্সট টোকেনগুলি পুনরায় পড়া হয় না, তাই উত্তর দেওয়ার সময় মূল টেক্সটের দৈর্ঘ্যের উপর মোটেও নির্ভর করে না। আনুষ্ঠানিকভাবে এটি প্রিপ্রসেসিংয়ে O(N) এবং অনুরোধে O(1) হিসাবে প্রকাশ করা হয়, যেখানে N হল কনটেক্সটের দৈর্ঘ্য।
এই বিভাজনের কারণে, GPU-মেমরির সর্বোচ্চ ব্যবহার N বাড়ার সাথে সাথে বাড়তে থাকে না। এটি একটি গুরুত্বপূর্ণ সুবিধা: এমনকি খুব দীর্ঘ কনটেক্সটেও, মডেল একই সাথে সমস্ত ইনপুট টোকেন মেমরিতে ধরে রাখার চেষ্টা করে না।
বাস্তবে এটি কী দেয়
লেখকরা RULER বেঞ্চমার্কে পদ্ধতিটি পরীক্ষা করেছেন, যার মধ্যে "খড়ের গাদায় সুচ" এবং নির্দিষ্ট শব্দ নিষ্কাশনের পরিস্থিতি অন্তর্ভুক্ত। সেখানেই স্ট্যান্ডার্ড ইন-কনটেক্সট লার্নিং কনটেক্সটের দৈর্ঘ্য বাড়ার সাথে সাথে উল্লেখযোগ্যভাবে অবনতি ঘটে। বিপরীতে, MoNe স্থিতিশীল ফলাফল দেখায় এবং বেস মডেলের নেটিভ উইন্ডোর চেয়ে উল্লেখযোগ্যভাবে বেশি দৈর্ঘ্যে সাধারণীকরণ করে।
দক্ষতা আলাদাভাবে জোর দেওয়ার মতো। 128K টোকেন নিয়ে কাজ করার সময়, MoNe সাধারণ ICL-এর তুলনায় গণনামূলক খরচ এবং সর্বোচ্চ GPU-মেমরি প্রায় 80% কমিয়ে দেয়। এছাড়াও, মডিউলের অতিরিক্ত প্যারামিটার মাত্র 6.4% — অর্থাৎ মডেলটি নিজে সংরক্ষণের জন্য মেমরির অতিরিক্ত খরচ ন্যূনতম।

সারসংক্ষেপ
MoNe দীর্ঘ কনটেক্সট সমস্যার একটি নতুন দৃষ্টিভঙ্গি। গণনামূলক ক্ষমতা বাড়ানো বা জটিল অ্যাটেনশন মেকানিজম উদ্ভাবনের পরিবর্তে, গবেষকরা কনটেক্সট নিয়ে কাজ একটি আলাদা মডিউলে স্থানান্তরের প্রস্তাব দেন। এটির জন্য ট্রান্সফরমারকে পুনরায় প্রশিক্ষণের প্রয়োজন হয় না, সামান্য প্যারামিটার যোগ করে, কিন্তু অনুরোধের উত্তর সময়ে ধ্রুবক করে তোলে এবং টেক্সটের সাথে সাথে সর্বোচ্চ মেমরি বাড়তে দেয় না।
এটি এখনও আন্তর্জাতিক গবেষকদের একটি গ্রুপের arXiv-এ একটি প্রিপ্রিন্ট। তবে দিকটি আশাব্যঞ্জক দেখাচ্ছে: যদি পদ্ধতিটি বিস্তৃত কাজের উপর নিশ্চিত হয়, তবে এটি সাধারণ ফ্রোজেন মডেলগুলিকে তাদের আর্কিটেকচারে গুরুতর পরিবর্তন ছাড়াই খুব দীর্ঘ নথির সাথে আরামদায়কভাবে কাজ করা সিস্টেমে রূপান্তর করার একটি ব্যবহারিক উপায় হয়ে উঠতে পারে।



