অটোরিগ্রেসিভ টোকেন তৈরির সময় লার্জ ল্যাঙ্গুয়েজ মডেলগুলো কাঁচা ফ্লোটিং-পয়েন্ট কম্পিউট দ্বারা আটকে থাকে না; বরং তাদের প্রধান বাধা হয়ে দাঁড়ায় মেমরি ব্যান্ডউইথ (Memory Bandwidth)। প্রতি একক টোকেন জেনারেট করতে পুরো মডেলের প্যারামিটার এবং বিগত টোকেনগুলোর দীর্ঘ Key-Value টেনসর হিস্ট্রি হাই-ব্যান্ডউইথ মেমরি (HBM) থেকে চিপের ক্যাশে রিড করতে হয়। মাল্টি-কোয়েরি অ্যাটেনশন (MQA) এবং গ্রুপড-কোয়েরি অ্যাটেনশন (GQA) হলো যুগান্তকারী আর্কিটেকচারাল উদ্ভাবন যা মডেলের যৌক্তিক ক্ষমতা অক্ষুণ্ণ রেখে কেভি-ক্যাশের মেমরি চাপ ৮ গুণ পর্যন্ত কমিয়ে দেয়।

১. মেমরি দেয়াল ও অ্যারিথমেটিক ইনটেনসিটি

নিউরাল ইনফারেন্সের কর্মক্ষমতা নির্ধারিত হয় Arithmetic Intensity দ্বারা—অর্থাৎ প্রতি বাইট মেমরি স্থানান্তরের বিপরীতে কতগুলো ফ্লোটিং-পয়েন্ট অপারেশন (FLOPs) সম্পন্ন হচ্ছে:

$mathcal{I} = frac{text{FLOPs}}{text{Bytes Transferred}}$

চিরায়ত মাল্টি-হেড অ্যাটেনশনে (MHA), যদি হিডেন ডাইমেনশন $d$, কোয়েরি হেড সংখ্যা $H_Q$ এবং সিকোয়েন্স দৈর্ঘ্য $S$ হয়, তবে প্রতিটি হেড তার নিজস্ব Key ও Value প্রজেকশন তৈরি করে:

$mathbf{K}_h = mathbf{X} mathbf{W}_K^{(h)}, quad mathbf{V}_h = mathbf{X} mathbf{W}_V^{(h)} quad (h = 1, dots, H_Q)$

প্রতিটি নতুন টোকেন ডিকোড করার সময় পুরো পূর্ববর্তী KV ক্যাশ ($2 times H_Q times S times d_k$ বাইট) মেমরি থেকে টেনে আনতে হয়। FLOPs এবং মেমরি ট্রাফিক উভয়ই $O(S)$ অনুপাতে বাড়ায় অ্যারিথমেটিক ইনটেনসিটি ১ FLOP/বাইট-এর নিচে নেমে আসে। ফলে NVIDIA H100 জিপিইউর মতো শক্তিশালী প্রসেসরের টেনসর কোরগুলো ৯০% সময় ডেটার অপেক্ষায় নিষ্ক্রিয় বসে থাকে।

২. মাল্টি-কোয়েরি অ্যাটেনশন (MQA): চরম কেভি ভাগাভাগি

২০১৯ সালে নোয়াম শাজির Multi-Query Attention (MQA) প্রস্তাব করেন। এখানে Query হেডগুলো স্বাধীন থাকলেও ($H_Q$ টি), সমস্ত কোয়েরি হেড মাত্র একটি অভিন্ন Key এবং Value হেড ($H_{KV} = 1$) ভাগ করে নেয়:

$mathbf{Q} in mathbb{R}^{B times H_Q times 1 times d_k}, quad mathbf{K} in mathbb{R}^{B times 1 times S times d_k}, quad mathbf{V} in mathbb{R}^{B times 1 times S times d_k}$

এর ফলে মেমরি স্থানান্তরের পরিমাণ $H_Q$ গুণ (সাধারণত ৩২ থেকে ৬৪ গুণ) কমে যায়। তবে সমস্ত হেড একই তথ্যের ওপর নির্ভরশীল হওয়ায় জটিল যুক্তি ও দীর্ঘ অনুচ্ছেদ বিশ্লেষণে মডেলের গুণগত মান কিছুটা হ্রাস পায়।

৩. গ্রুপড-কোয়েরি অ্যাটেনশন (GQA): সুষম সমাধান

MHA-এর উচ্চ গুণমান এবং MQA-এর ক্ষিপ্র গতির মেলবন্ধন ঘটাতে ২০২৩ সালে অ্যানসলি প্রমুখ উদ্ভাবন করেন Grouped-Query Attention (GQA)। এটি LLaMA-2/3 এবং Mistral মডেলে গৃহীত মানদণ্ড। এখানে $H_Q$ সংখ্যক কোয়েরি হেডকে $G$ সংখ্যক গ্রুপে ভাগ করা হয়। প্রতিটি গ্রুপ একটি করে Key-Value হেড ব্যবহার করে ($H_{KV} = G$):

  • যখন $G = H_Q$: এটি অবিকল সাধারণ মাল্টি-হেড অ্যাটেনশন (MHA)।
  • যখন $G = 1$: এটি পুরোপুরি মাল্টি-কোয়েরি অ্যাটেনশন (MQA)।
  • যখন $1 < G < H_Q$ (সাধারণত $G = 8$): এটি মেমরি ট্রাফিক ৮ গুণ কমিয়ে দেয় কিন্তু মডেলের নিখুঁত বোঝার ক্ষমতা ৯৯% অক্ষুণ্ণ রাখে।

৪. গ্রুপড-কোয়েরি সফটম্যাক্স সূত্র

হেড $h$-এর গ্রুপ সূচক $g(h) = lfloor h / (H_Q / G) rfloor$ হলে অ্যাটেনশন সমীকরণ দাঁড়ায়:

$mathbf{O}_h = text{Softmax}left(frac{mathbf{Q}_h mathbf{K}_{g(h)}^T}{sqrt{d_k}}right) mathbf{V}_{g(h)}$

এর ফলে সার্ভারে সমান্তরাল অনুরোধ প্রসেস করার গতি ৩ গুণ থেকে ৫ গুণ পর্যন্ত বৃদ্ধি পায়।