نویسنده (ها): یوسف فاراگ
در ابتدا منتشر شده در به سمت هوش مصنوعیبشر
پیوند کاغذ: https://arxiv.org/abs/2402.09353
کد: https://github.com/nvlabs/dora
منتشر شد: چهاردهم فوریه 2024
هیچ کس نمی تواند انکار کند که بهینه سازی رتبه پایین (LORA) چقدر مهم است[2] برای تنظیم دقیق است LLMSبشر این راه حل اصلی برای مدیریت تنظیم دقیق با سخت افزار محدود است. لورا به همراه نسخه کمیت آن (Qlora)[3]، از زمان انتشار آن توسط مایکروسافت در سال 2021 ، بر میدان تنظیم دقیق حاکم شده است.
اگرچه Lora و Qlora به دلیل راحتی و سرعت آنها امروز به طور گسترده ای مورد استفاده قرار می گیرند ، اما هنوز هم از این امر کمبود می کنند LLMSبشر مطالعات متعددی برای رفع این شکاف تلاش کرده اند [4,5]، و یک رویکرد به طور خاص از نظر من برجسته است.
سازگاری با درجه پایین (یا دورا ، برای کوتاه)[1] با روش ساده و در عین حال مؤثر خود در تقویت عملکرد لورا و محدود کردن شکاف بین قسمتهای جزئی و کامل ، کشش قابل توجهی کسب کرده است. در این بخش ، مهمترین نکات کلیدی دورا را پوشش خواهیم داد ، بررسی خواهیم کرد که چرا از آن ایستادگی می کند و نگاهی عمیق تر به رویکرد آن برای حل این چالش می اندازیم.
دورا [1]، معرفی شده در فوریه 2024 توسط لیو و همکاران ، به سه نکته اصلی کمک می کند:
- تجزیه و تحلیل لورا در مقابل تنظیم کامل: نویسندگان با تجزیه ماتریس وزن به بزرگی و جهت ، تفاوت های کلیدی بین لورا و تنظیم کامل را برجسته می کنند.
- بهینه سازی بهینه سازی بزرگی و جهت: دورا بزرگی و جهت را به طور جداگانه بهینه می کند و در عین حال که نیازهای کم منابع لورا را حفظ می کند ، به نتایج نزدیک به تنظیم کامل نزدیک می شود.
- ارزیابی گسترده و ترکیب با روش های دیگر: دورا در چندین کار با لورا مقایسه می شود و ادغام آن با روشهایی مانند ورا و Qlora بیشتر مورد بررسی قرار می گیرد.
تجزیه ماتریس:
برای درک دورا ، ابتدا مفید است که به طور خلاصه از بردار و تجزیه ماتریسبشر
اساساً ، دورا بر روی تجزیه مبتنی بر هنجار ساخته شده است ، که نشان می دهد هر بردار می تواند به بزرگی و مؤلفه های جهت آن از هم جدا شود. بزرگی یک مقیاس است که طول وکتور را نشان می دهد و جهت آن نشان دهنده جهت گیری آن در فضا است.


که در آن || v || هنجار مقیاس است و V^ بردار واحد جهت است
به همین ترتیب ، ما همچنین می توانیم یک ماتریس A را به این ترتیب تجزیه کنیم:


|| a || اندازه/ اندازه یک ماتریس را اندازه گیری می کند ، و یک کلاه یک ماتریس نرمال است که ساختار جهت را حفظ می کند.


در زمینه شبکه های عصبی ، این می تواند برای ماتریس وزن ما به این ترتیب اعمال شود:


این تجزیه به ما امکان می دهد مقیاس را از ساختار جدا کنیم و بیشتر ما را قادر می سازد تا اطلاعات و الگوهای بیشتری را در مورد روند آموزش خود درک کنیم. دورا نیز ، همانطور که بعداً تحت پوشش قرار خواهیم گرفت ، این جدایی را برای آموزش هر مؤلفه به طور جداگانه اعمال می کند و امکان بهینه سازی بهتر و سازگاری پارامتر کارآمدتر را فراهم می کند.
LORA در مقابل Full Ft:
از لحاظ تئوریکی ، اگر دو مدل ، M1 و M2 داشته باشیم ، با استفاده از دو روش مختلف آموزش دیده ، تولید ماتریس وزن W1 و W2. اگر این ماتریس های وزن رفتارهای متفاوتی در نحوه تحول مقیاس و جهت آنها در طول آموزش نشان دهند ، این نشان می دهد که M1 و M2 ذاتاً در فرآیندهای یادگیری خود متفاوت هستند.
این دقیقاً همان چیزی است که نویسندگان با تجزیه و تحلیل تفاوت های بین آموزش با لورا و تنظیم کامل نشان می دهند. با بررسی دوره ای رابطه بین بزرگی و جهت در طول آموزش ، آنها الگوهای متمایز را مشاهده می کنند: تنظیم کامل یک شیب منفی (یک رابطه معکوس بین بزرگی و جهت) را نشان می دهد ، در حالی که لورا یک شیب مثبت (متناسب مستقیم) نشان می دهد. (همانطور که در شکل 1 نشان داده شده است
در این مقاله ، نویسندگان همچنین استدلال می كنند كه طبیعی است كه تنظیم كامل شیب منفی داشته باشد ، زیرا وزن مدل از قبل آموزش دیده در حال حاضر حاوی دانش گسترده ای است كه مربوط به كارهای پایین دست است. در نتیجه ، تغییرات قابل توجهی در بزرگی یا جهت به تنهایی اغلب برای سازگاری مؤثر کافی است. این دقیقاً همان چیزی است که دورا نیز به آن دست می یابد (همانطور که در شکل 1 نشان داده شده است) ، رفتاری را نشان می دهد که از نزدیک شبیه به تنظیم دقیق کامل نسبت به لورا است.


دورا ، ساده شده
نویسندگان با تکیه بر تجزیه و تحلیل قبلی خود از ترکیب وزن ، یک رویکرد جدید را پیشنهاد می کنند که به طور جداگانه و اجزای جهت دار ماتریس وزن را به طور جداگانه آموزش می دهد. از آنجا که مؤلفه جهت نسبتاً بزرگ باقی مانده است ، می توان با استفاده از همان روش LORA بهینه شد ، در حالی که بردار بزرگی به طور مستقل آموزش می یابد. از آنجا که بردار بزرگی یک بعدی است (1 xk ، همانطور که به زودی بحث خواهیم کرد) ، این رویکرد تعداد پارامترهای قابل آموزش را فقط در حدود 0.01 ٪ در مقایسه با لورا افزایش می دهد.
ماتریس وزن LLM از قبل آموزش دیده می تواند به این ترتیب تجزیه شود:


جایی که m بردار بزرگی است ، v ماتریس جهت دار است و || v || c عادی سازی بردار است. فرمول تمرینی را می توان با استفاده از ماتریس وزن از قبل آموزش دیده W0 به عنوان چنین:


ماتریس وزن جدید پس از تنظیم دقیق (W ‘) را می توان با گسترش V’ به دو مؤلفه محاسبه کرد: V (مؤلفه جهت گیری از پیش آموزش یافته یخ زده) ، و ∆V (تغییر جهت احتمالی پس از تنظیم دقیق). ∆V بیشتر می تواند به دو ماتریس تجزیه شود ، B و A. این به دنبال LORA است [1]، جایی که ماتریس تنظیم کامل ∆V را می توان در دو ماتریس آموزش ساده تر عامل کرد.


این تجزیه منجر به یک هدف بهینه سازی کوچکتر می شود که توسط Hyperparameter r کنترل می شود. هرچه رتبه کوچکتر باشد ، ماتریس تنظیم دقیق کوچکتر است. این منجر به آموزش سریعتر ، اما توانایی یادگیری ضعیف تر می شود.
پس از محاسبه دوره ای بزرگی و جهت دورا در طول آموزش ، منفی همبستگی بین بزرگی و شیب مشاهده می شود (همانطور که در شکل 1 مشاهده می شود) ، شبیه به رفتار تنظیم کامل است. این نشان می دهد که دورا در واقع بیشتر شبیه تنظیم کامل خوب است و از استدلال نویسندگان حمایت می کند که تغییر اساسی در هر دو اندازه یا جهت به تنهایی می تواند برای سازگاری مؤثر کافی باشد.
نتایج و یافته های کلیدی:


هنگامی که در 8 مجموعه داده استدلال مختلف با استفاده از 4 مدل ستون فقرات ارزیابی شد ، دورا به طور مداوم از لورا در تمام کارها بهتر عمل می کرد. نکته قابل توجه ، حتی با نیمی از اندازه رتبه (دورا) و بنابراین با استفاده از نیمی از تعداد پارامترهای قابل آموزش ، دورا مزیت عملکرد خود را نسبت به لورا حفظ کرد. جدول 1 خلاصه ای از این نتایج را در کنار عملکرد گزارش شده از چتپپ 3.5 از کاغذ ارائه می دهد. به طور متوسط ، دورا به میزان دقت نزدیک می شود و در بعضی موارد بیش از حد ، از چتپپ 3.5 است. توجه داشته باشید که افزایش 0.01 جزئی در پارامترهای Dora و Lora به دلیل بردار بزرگی است که در بالا ذکر شد.


یک مسئله که [1] همچنین در مورد Lora حساسیت آن به رتبه انتخاب شده در طول آموزش است. این امر نیاز به تنظیم دقیق Hyperparameter رتبه دارد. دورا هنگام تجزیه و تحلیل عملکرد دورا و لورا در اندازه های مختلف درجه (در شکل 2 مشاهده می شود) ، دورا با توجه به تغییر رتبه ثبات بیشتری را نشان داد. علاوه بر این ، دورا به طور قابل توجهی از LORA در رده های پایین تر عمل می کند و به ترتیب با 22.4 ٪ و 37.2 ٪ به ترتیب با رده های 4 و 8 به دست می آید. این نشان می دهد که هنگام کاهش تعداد پارامترهای قابل آموزش ، دورا به دلیل استحکام و اثربخشی خود در رده های پایین ، جایگزین برتر را ارائه می دهد.
Qdora و Dvora:
همه اینها یک مورد قوی را برای دورا ایجاد می کند ، و برتری خود را نسبت به لورا هم از نظر دقت و هم از هماهنگی نزدیکتر آن با رفتار کامل تنظیم دقیق نشان می دهد. اما هنوز یک سؤال باقی مانده است: دورا چگونه با روش های اخیر مقایسه می شود؟
قلرا و ورا [3,4]دو روش جدید که اخیراً برای تنظیم دقیق استفاده می شوند ، وزن حتی سبک تر و عملکرد بهتری نسبت به LORA اساسی دارند.
- qlora: با انجماد و تعیین مدل پیش ساخته به 4 بیت ، و استفاده از لورا در بالای مدل یخ زده کار می کند. Qlora با کاهش قابل توجهی تعداد پارامترهای قابل آموزش ، آموزش های قابل کنترل تر را امکان پذیر می کند ، به ویژه در هنگام تنظیم دقیق مدل های عظیم.
- ورا: این روش یخ زدگی ماتریس های رتبه پایین به طور تصادفی انتخاب شده را که در لایه های مختلف به اشتراک گذاشته می شود ، پیشنهاد می کند. در نتیجه ، اغلب برای تنظیم دقیق حتی به پارامترهای قابل آموزش کمتر از Qlora نیاز دارد.




اگرچه دورا نسبت به Vera و Qlora به دقت بیشتری دست می یابد (همانطور که در جدول 2 برای ورا نشان داده شده است) ، هر دو به دلیل تعداد کمتری از پارامترهای قابل آموزش ، همه کاره تر هستند. با این حال ، نویسندگان راه حلی برای پرداختن به این تجارت ارائه می دهند.
ورا را می توان با استفاده از ورا به جای لورا با دورا ترکیب کرد و در نتیجه روشی به نام DVORA ایجاد شد. در حالی که DVORA به پارامترهای کمی بیشتر از ورا نیاز دارد ، اما در هنگام ارزیابی روی MT-BENCH (جدول 2) ، پیشرفت قابل توجهی در دقت ارائه می دهد ، و در مقایسه با 4.3 ورا ، به نمره 5.0 می رسد ، در حالی که تنها 0.02 ٪ پارامترهای قابل آموزش را نسبت به اندازه کامل مدل اضافه می کند.
به طور مشابه ، DORA همچنین می تواند با روش کمیت مورد استفاده در Qlora ترکیب شود. با تعیین کمیت مدل پیش ساخته و استفاده از دورا به جای لورا ، روشی به نام qdora معرفی می شود. هنگامی که در برابر QLORA در ORCA-MATH آزمایش شد ، QDora نشان دهنده افزایش عملکرد قابل توجهی است ، به ترتیب از Qlora با 0.19 و 0.23 امتیاز در Llama2 7B و Llama3-8B بهتر عمل می کند ، همانطور که در جدول 3 مشاهده می شود.
پایان
در این پست ، ما در مورد دورا بحث کرده ایم[1]، یک روش تنظیم دقیق که بر روی لورا ساخته شده و بر آن بهبود می یابد ، در حالی که به رفتار نزدیک تر به تنظیم کامل می پردازد. ما عملکرد دورا را در مقایسه با لورا بررسی کرده ایم و نشان داده ایم که به طور مداوم از آن در کارهای مختلف و معماری های مدل بهتر عمل می کند. ما همچنین سازگاری دورا را با سایر پیشرفتهای مربوط به لورا (Qlora/Vera) پوشش دادیم.
به نظر من ، دورا ثابت می کند که یک رقیب قوی برای هر روش تنظیم دقیق مبتنی بر لورا است و عملکرد بهتر را با منابع کمتری تضمین می کند. اگرچه دورا در حال حاضر به اندازه لورا در حوزه های مختلف مورد استفاده قرار نمی گیرد ، اما پیش بینی می کنم در ماه های آینده شاهد پذیرش گسترده تری باشد.
برای آموزش بیشتر و اجرای پایتون از دورا و لورا ، پست وبلاگ سباستین راشکا را توصیه می کنم [here]بشر
برای اجرای دورا کمیت ، پیشنهاد می کنم پاسخ را بررسی کنید. اجرای [here]بشر
منابع:
[1] S.-Y. لیو ، C.-Y. Wang ، H. Yin ، P. Molchanov ، Y.-CF Wang ، K.-T. چنگ و م. چن ، دورا: سازگاری با رتبه پایین با وزن کم (2024) ، arxiv preprint arxiv: 2402.09353
[2] Ej Hu ، Y. Shen ، P. Wallis ، Z. Allen-Zhu ، Y. Li ، S. Wang ، L. Wang and W. Chen ، لورا: سازگاری با درجه پایین از مدل های بزرگ زبان (2021) ، arxiv preprint arxiv: 2106.09685
[3] T. Dettmers ، A. Pagnoni ، A. Holtzman و L. Zettlemoyer ، Qlora: کارآمد LLMS کمکی (2023) ، arxiv preprint arxiv: 2305.14314
[4] DJ Kopiczko ، T. Blankevoort و YM Asano ، ورا: سازگاری ماتریس تصادفی مبتنی بر بردار (2023) ، arxiv preprint arxiv: 2310.11454
[5] Q. Zhang ، M. Chen ، A. Bukharin ، N. Karampatziakis ، P. He ، Y. Cheng ، W. Chen and T. Zhao ، Adalora: تخصیص بودجه تطبیقی برای تنظیم دقیق پارامتر (2023) ، arxiv preprint arxiv: 2303.10512
منتشر شده از طریق به سمت هوش مصنوعی
منبع: https://towardsai.net/p/l/dora-explained-next-evolution-of-lora