LoRA در عمل عملکردی خیرهکننده دارد: این روش امکان تنظیم یک مدل غولپیکر را صرفاً با آموزش چند ماتریس کوچک فراهم میآورد، در حالی که ساختار اصلی مدل بدون تغییر باقی میماند. اما چرا این رویکرد مؤثر واقع میشود؟ چگونه میتوان بدون دستکاری بخش اعظم یک مدل چندمیلیارد پارامتری، تغییری معنادار در رفتار آن ایجاد کرد؟ پاسخ این پرسش در ایدهای بسیار ظریف نهفته است.
دو نوع دانش، دو نوع نیاز
برای درک نحوه عملکرد LoRA، باید میان دو مأموریت متفاوت تمایز قائل شویم. پیشآموزش فرآیندی عظیم است که در آن مدل باید دانش عمومی و گستردهای را از پایه فرابگیرد؛ از ساختار زبان گرفته تا واقعیتها و الگوها. این عملیات به حداکثر ظرفیت مدل نیاز دارد و تمام میلیاردها پارامتر آن را درگیر میکند. در مقابل، ریزتنظیم عملیات محدودتری است که صرفاً به سازگار کردن یک مدل ازپیشتوانمند برای انجام کاری خاص اختصاص دارد؛ فرآیندی که چندان پیچیده نیست.
فرضیه بعد ذاتی پایین
ایده کلیدی LoRA بر این فرض استوار است: اگرچه وزنهای اصلی مدل ابعاد بسیار بالایی دارند، اما تغییرات لازم برای ریزتنظیم از بعد ذاتی پایینی برخوردارند. به زبان ساده، آنچه در فرآیند ریزتنظیم باید تغییر کند، حتی در یک مدل عظیم نیز در فضایی کوچک تعریف میشود. این مشاهده تجربی، سنگبنای این روش را تشکیل میدهد: نیازی به تغییر تمام بخشهای مدل نیست، چرا که تغییرات مفید ذاتاً محدود و کوچک هستند.
ریاضی ساده: ΔW = BA
LoRA این ایده را بهطور مستقیم پیادهسازی میکند. این روش بهجای آموزش یک ماتریس تغییرات بزرگ و کامل (ΔW)، آن را بهصورت حاصلضرب دو ماتریس کوچکتر تعریف میکند: ΔW = B × A که در آن، رتبه ماتریسهای A و B بسیار پایین است. این یعنی بهجای آموزش میلیونها پارامتر، تنها چند هزار مقدار را آموزش میدهید. در نهایت، خروجی کار عبارت است از: وزن اصلی و ثابت مدل بهعلاوه این تغییرات کمرتبه آموزشدیده. کاهش تعداد پارامترهای آموزشی در این روش بسیار چشمگیر و اغلب تا صدها برابر است.
ترفند مقداردهی اولیه
در این میان، جزئیات ظریف و زیبایی نیز وجود دارد. در شروع آموزش، ماتریس A با مقادیر تصادفی و ماتریس B با مقدار صفر مقداردهی اولیه میشوند. در نتیجه، حاصلضرب B × A در ابتدا برابر با صفر خواهد بود؛ یعنی مدل در گام نخست دقیقاً مشابه مدل اصلی عمل میکند. این رویکرد تضمین میکند که فرآیند آموزش درست از همان نقطهای که مدل پایه قرار دارد آغاز شود و سپس بهمرور زمان از آن فاصله بگیرد. این ترفند هوشمندانه مانع از بروز جهشهای ناگهانی و مخرب در آغاز آموزش میشود.
چرا این موضوع اهمیت دارد
درک علت این موضوع صرفاً یک کنجکاوی نظری نیست، بلکه به تصمیمگیریهای عملی جهت میدهد. از آنجا که تغییرات مفید کمرتبه هستند، درمییابیم که نیازی به انتخاب رتبههای بسیار بزرگ نیست و این کار تنها ریسک بیشبرازش را افزایش میدهد. همچنین بهدلیل دستنخورده ماندن بدنه اصلی مدل، دانش عمومی آن حفظ شده و خطر فراموشی فاجعهبار کاهش مییابد. LoRA در واقع همان چیزی را که ذاتاً باید محدود باشد، کوچک نگه میدارد.
جمعبندی
LoRA حاصل یک بینش ساده است: سازگار کردن مدل برای مأموریتی خاص، نیازمند تغییرات گسترده نیست، چرا که این تغییرات ماهیتاً در فضایی کوچک قرار میگیرند. با بازنویسی این تغییرات بهصورت حاصلضرب دو ماتریس کوچک، میتوان مدلهای عظیم را با صرف کسر کوچکی از هزینههای معمول تنظیم کرد، بدون آنکه آسیبی به دانش پایهای مدل وارد شود. این، جلوه زیبایی از نشاندن یک ایده درست در جای درست است.