৭০ বিলিয়ন প্যারামিটারের একটি ফাউন্ডেশন মডেলকে সম্পূর্ণ ফাইন-টিউনিং করতে সবকটি ওজন আপডেট এবং অ্যাডাম অপটিমাইজারের মোমেন্টাম সংরক্ষণ করতে ৫৬০ গিগাবাইটেরও বেশি গ্রাফিক্স মেমরি (VRAM) প্রয়োজন হয়। প্যারামিটার-এফিশিয়েন্ট ফাইন-টিউনিং (PEFT) এই সমস্যার যুগান্তকারী সমাধান দিয়েছে। ইন্ট্রিনসিক র্যাংক হাইপোথিসিস-এর ওপর ভিত্তি করে LoRA (Low-Rank Adaptation) এবং QLoRA মূল মডেলের ওজনকে স্থির রেখে ক্ষুদ্র ম্যাট্রিক্স যোগ করে একটিমাত্র সাধারণ জিপিইউতেই বিশাল মডেল ফাইন-টিউনিংয়ের সুযোগ করে দেয়।
১. ইন্ট্রিনসিক ডাইমেনশন হাইপোথিসিস
গবেষণায় দেখা গেছে যে একটি বৃহৎ নিউরাল নেটওয়ার্কের ওজন ম্যাট্রিক্স $mathbf{W} in mathbb{R}^{d times k}$ কোটি কোটি ডাইমেনশনে অবস্থান করলেও, কোনো নির্দিষ্ট নতুন কাজের জন্য প্রয়োজনীয় পরিবর্তন $Delta mathbf{W}$ একটি অত্যন্ত নিম্ন-মাত্রিক সাবস্পেসের (Low Rank $r ll d$) মধ্যে সীমাবদ্ধ থাকে। ফলে শত কোটি প্যারামিটার পরিবর্তন না করে সামান্য কিছু প্যারামিটার টিউন করলেই মডেলটি চমৎকারভাবে নতুন কাজ শিখে ফেলে।
২. লোরার গাণিতিক কাঠামো
২০২১ সালে এডওয়ার্ড হু প্রমুখ LoRA উদ্ভাবন করেন। এখানে ওজন আপডেট $Delta mathbf{W}$-কে দুটি ক্ষুদ্র ম্যাট্রিক্স $mathbf{B}$ এবং $mathbf{A}$-এর গুণফল হিসেবে প্রকাশ করা হয়:
$mathbf{W}’ = mathbf{W}_0 + Delta mathbf{W} = mathbf{W}_0 + frac{alpha}{r} (mathbf{B} mathbf{A})$
যেখানে:
- $mathbf{W}_0$: মূল মডেলের স্থির বা ফ্রোজেন ওজন।
- $mathbf{B} in mathbb{R}^{d times r}$ এবং $mathbf{A} in mathbb{R}^{r times k}$: প্রশিক্ষণযোগ্য ক্ষুদ্র ম্যাট্রিক্স, যেখানে র্যাংক $r$ সাধারণত ৪, ৮, বা ১৬।
- $alpha$: স্কেলিং প্যারামিটার।
শুরুতে $mathbf{A}$-কে গাউসিয়ান বিন্যাস দ্বারা এবং $mathbf{B}$-কে সম্পূর্ণ শূন্য দ্বারা ইনিশিয়ালাইজ করা হয়। ফলে প্রশিক্ষণের প্রথম মুহূর্তে $Delta mathbf{W} = mathbf{B}mathbf{A} = mathbf{0}$, যার অর্থ মডেলটির আদি আচরণ একদম অপরিবর্তিত থাকে।
৩. ব্যাকপ্রোপাগেশন ও জিরো-ইনফারেন্স ওভারহেড
ফরোয়ার্ড পাসে ইনপুট $mathbf{x}$ উভয় শাখায় প্রবাহিত হয়:
$mathbf{h} = mathbf{W}_0 mathbf{x} + frac{alpha}{r} mathbf{B} mathbf{A} mathbf{x}$
ব্যাকপ্রোপাগেশনের সময় কেবল ক্ষুদ্র ম্যাট্রিক্স $mathbf{A}$ ও $mathbf{B}$-এর গ্র্যাডিয়েন্ট বের করা হয়। মূল মডেলের জন্য কোনো অপটিমাইজার স্টেট জমা রাখতে হয় না, যার ফলে মেমরি খরচ ৯৯% পর্যন্ত হ্রাস পায়। ফাইন-টিউনিং শেষে অ্যাডাপ্টারের ওজনকে মূল ওজনের সাথে যোগ করে দেওয়া যায় ($mathbf{W}_{text{final}} = mathbf{W}_0 + frac{alpha}{r}mathbf{B}mathbf{A}$), যার ফলে ইনফারেন্সের সময় কোনো অতিরিক্ত সময় বা লেটেন্সি তৈরি হয় না।
৪. কিউ-লোরা (QLoRA): ৪-বিট কোয়ান্টাইজড ফাইন-টিউনিং
২০২৩ সালে টিম ডেটমার্স উদ্ভাবন করেন QLoRA। এটি মূল মডেলটিকে অত্যন্ত নিখুঁত ৪-বিট NormalFloat4 (NF4) ফরম্যাটে সংকুচিত করে রাখে এবং তার ওপর ১৬-বিট LoRA অ্যাডাপ্টার যুক্ত করে। ডাবল কোয়ান্টাইজেশন ও পেজড অপটিমাইজারের সমন্বয়ে এটি একটিমাত্র সাধারণ জিপিইউতে ৬৫ বিলিয়ন মডেল সম্পূর্ণ নিখুঁতভাবে ফাইন-টিউন করার বৈপ্লবিক ক্ষমতা প্রদান করে।