𝗙𝗹𝗮𝘀𝗵𝗠𝗲𝗺𝗼𝗿𝘆 DeepSeek-V4-এর KV Cache কমিয়ে এনেছে ১৩.৫%-এ
লং কনটেক্সট মডেলগুলো একটি বিশাল সমস্যার সম্মুখীন হয়। এখানে গাণিতিক হিসাব নয়, বরং মেমোরিই হলো মূল সীমাবদ্ধতা।
আপনি যত বেশি টোকেন যোগ করবেন, KV cache তত বৃদ্ধি পাবে। ৫০০,০০০ টোকেনের ক্ষেত্রে, এই ক্যাশ বিশাল আকার ধারণ করে। এটি সমস্ত GPU মেমোরি দখল করে নেয়। এর ফলে লং কনটেক্সট সার্ভিসিং করা ব্যয়বহুল এবং ধীরগতির হয়ে পড়ে।
FlashMemory-DeepSeek-V4 নামক একটি নতুন গবেষণাপত্র Lookahead Sparse Attention (LSA)-এর মাধ্যমে এই সমস্যার সমাধান করেছে।
এটি যেভাবে কাজ করে:
প্রথাগত মডেলগুলো একটি dense KV cache ব্যবহার করে। তারা অতীতের প্রতিটি তথ্য মেমোরিতে ধরে রাখে। এটি অনেকটা একটি বাক্য পড়ার জন্য আপনার ডেস্কে একটি সম্পূর্ণ লাইব্রেরি টেনে আনার মতো।
LSA ভিন্নভাবে কাজ করে। এটি একটি Neural Memory Indexer ব্যবহার করে। এই ইনডেক্সারটি একজন সহকারীর মতো কাজ করে। এটি পূর্বাভাস দেয় যে অতীতের কোন নির্দিষ্ট অংশগুলো আপনার এখন প্রয়োজন। এটি কেবল সেই নির্দিষ্ট অংশগুলোই আপনার সামনে নিয়ে আসে।
DeepSeek-V4-এর ওপর এর ফলাফলগুলো চিত্তাকর্ষক:
- ফিজিক্যাল মেমোরি ফুটপ্রিন্ট মূল আকারের মাত্র ১৩.৫%-এ নেমে এসেছে।
- ৫০০,০০০ টোকেনের ক্ষেত্রে এটি ৯০% হ্রাস।
- নির্ভুলতা (Accuracy) আসলে ০.৬% বৃদ্ধি পেয়েছে।
এটি আগের পদ্ধতিগুলোর চেয়ে কেন উন্নত?
অন্যান্য sparse attention পদ্ধতিগুলো কম্পিউট টাইম বাঁচায়। কিন্তু তারা তবুও পুরো ক্যাশ মেমোরিতে রেখে দেয়। LSA প্রকৃত গিগাবাইট জায়গা বাঁচায়। এটি ক্যাশ ধরে রাখার প্রয়োজনীয়তা পুরোপুরি এড়িয়ে চলে।
এছাড়া, এই ইনডেক্সারটি প্রশিক্ষণ দেওয়া বেশ সাশ্রয়ী। দলটি backbone-free training ব্যবহার করেছে। ছোট ইনডেক্সারটি প্রশিক্ষণ দেওয়ার জন্য তাদের ট্রিলিয়ন-প্যারামিটার মডেলটি লোড করার প্রয়োজন হয় না।
এটি আল্ট্রা-লং কনটেক্সট মডেল চালানোকে সাশ্রয়ী করে তোলে।
বিভিন্ন পদ্ধতির সারসংক্ষেপ:
- Full KV Cache: নির্ভুল কিন্তু প্রচুর মেমোরি ব্যবহার করে।
- Sliding Window: কম মেমোরি কিন্তু পুরনো তথ্য ভুলে যায়।
- Block-Sparse: কম্পিউট বাঁচায় কিন্তু ক্যাশ বড় থাকে।
- LSA: প্রচুর মেমোরি বাঁচায় এবং নির্ভুলতা বজায় রাখে।
উৎস: https://dev.to/pueding/flashmemory-cuts-deepseek-v4s-kv-cache-to-135-lookahead-sparse-attention-5coe
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi