একটি সাধারণ ডেন্স ল্যাঙ্গুয়েজ মডেলে প্যারামিটার সংখ্যা বাড়ানোর অর্থ হলো প্রতি টোকেন প্রক্রিয়াকরণে সমপরিমাণ কম্পিউটেশনাল ব্যয় বেড়ে যাওয়া। স্পার্স মিক্সচার-অব-এক্সপার্টস (MoE) প্যারামিটার সংখ্যা ও কম্পিউটেশনের এই বাধ্যতামূলক সংযোগকে সম্পূর্ণ ছিন্ন করে দেয়। পুরো নেটওয়ার্ককে ক্ষুদ্র ক্ষুদ্র বিশেষায়িত সাব-নেটওয়ার্ক বা “এক্সপার্ট”-এ বিভক্ত করে এবং প্রতিটি টোকেনকে মাত্র ১ বা ২টি সেরা এক্সপার্টের কাছে পাঠিয়ে MoE আর্কিটেকচার (যেমন Mixtral 8x7B বা GPT-4) কম খরচে শত শত বিলিয়ন প্যারামিটারের শক্তি উন্মোচন করে।
১. কন্ডিশনাল কম্পিউটেশনের দর্শন
চিরায়ত ট্রান্সফরমারে প্রতিটি টোকেনকে হুবহু একই ফিড-ফরোয়ার্ড নেটওয়ার্ক (FFN) দিয়ে যেতে হয়—তা একটি ব্যাকরণগত দাঁড়ি-কমা হোক কিংবা জটিল কোয়ান্টাম সমীকরণ। MoE পদ্ধতিতে প্রতিটি টোকেনের ধরন অনুযায়ী নেটওয়ার্কের একটি ক্ষুদ্র অংশ সক্রিয় হয়:
$mathbf{y} = sum_{i=1}^E G(mathbf{x})_i E_i(mathbf{x})$
যেখানে $E$ হলো মোট বিশেষজ্ঞ বা এক্সপার্ট নেটওয়ার্ক সংখ্যা এবং $G(mathbf{x})$ হলো স্পার্স রাউটার গেটের সম্ভাব্যতা ভেক্টর।
২. গেটিং মেকানিজম ও টপ-$k$ রাউটিং
২০১৭ সালে নোয়াম শাজির স্পার্স টপ-$k$ গেটিং মেকানিজম প্রস্তাব করেন। ইনপুট টোকেন $mathbf{x}$-কে একটি রাউটিং ম্যাট্রিক্স $mathbf{W}_g$ দিয়ে গুণ করে প্রতিটি এক্সপার্টের স্কোর নির্ণয় করা হয়:
$H(mathbf{x}) = mathbf{x} mathbf{W}_g$
এরপর কেবল শীর্ষ $k$ (সাধারণত $k=2$) সংখ্যক বিশেষজ্ঞের স্কোরকে অক্ষুণ্ণ রেখে বাকি সব মানকে $-infty$ করে সফটম্যাক্স করা হয়:
$G(mathbf{x}) = text{Softmax}(text{TopK}(H(mathbf{x}), k))$
বাকি সমস্ত এক্সপার্টের মান শূন্য হওয়ায় তাদের জন্য কোনো হিসাব করতে হয় না। যেমন Mixtral 8x7B মডেলে মোট ৪৭ বিলিয়ন প্যারামিটার থাকা সত্ত্বেও প্রতিটি টোকেন কেবল ১৩ বিলিয়ন প্যারামিটার ব্যবহার করে, ফলে মডেলটি অবিশ্বাস্য গতিতে কাজ করে।
৩. রাউটার কলাপ্স (Router Collapse) ও এক্সপার্ট ধারণক্ষমতা
নিয়ন্ত্রণহীনভাবে প্রশিক্ষণ দিলে একটি ভয়াবহ সংকট দেখা দেয় যাকে বলে রাউটার কলাপ্স। শুরুতে সামান্য ভালো পারফর্ম করা দু-একটি এক্সপার্টের কাছে রাউটার সমস্ত টোকেন পাঠাতে শুরু করে, ফলে বাকি এক্সপার্টরা কিছুই শিখতে পারে না। একপর্যায়ে পুরো বিশাল মডেলটি মাত্র দু-একটি সাধারণ মডেলে পতিত হয়। এছাড়া প্রতি জিপিইউতে এক্সপার্টের জন্য নির্দিষ্ট ধারণক্ষমতা (Capacity Limit) থাকে; মাত্রাতিরিক্ত টোকেন আসলে অতিরিক্ত টোকেনগুলো ড্রপ বা বাতিল হয়ে যায়।
৪. অক্সিলিয়ারি লোড ব্যালান্সিং লস
রাউটার কলাপ্স রোধ করতে এবং সমস্ত বিশেষজ্ঞের মধ্যে টোকেনের সুষম বণ্টন নিশ্চিত করতে একটি সহায়ক Load Balancing Loss যুক্ত করা হয়:
$mathcal{L}_{text{aux}} = alpha cdot E sum_{i=1}^E f_i P_i$
যেখানে $f_i$ হলো এক্সপার্ট $i$-তে প্রেরিত বাস্তব টোকেনের অনুপাত এবং $P_i$ হলো রাউটারের সামগ্রিক সম্ভাব্যতা। এই গাণিতিক শর্ত রাউটারকে বাধ্য করে প্রতিটি এক্সপার্টকে সমানভাবে ব্যবহার করতে, যার ফলে হার্ডওয়্যারের প্রতিটি জিপিইউ সমান দক্ষতায় কাজ করে।