يقوم هذا المستودع بتنفيذ خوارزمية التدرج العشوائي المتدرج المتدرج العشوائي (MEZO-SVRG) لضرب LMS المعانقة التي تم تدريبها مسبقًا. بصفتنا خطوط الأساس ، نقوم أيضًا بتنفيذ محسّن Zo الموفرة للذاكرة (MEZO) و SGD من الدرجة الأولى (FO-SGD). يتم كتابة المستودع في Pytorch ويعزز إطار Lightning Pytorch.
لتثبيت بيئة بيثون ذات الصلة ، استخدم الأمر
conda create --name zo_opt python=3.9
conda activate zo_opt
python -m pip install -r requirements.txtيقوم هذا المستودع بتنفيذ خوارزمية Mezo-SVRG ويمكّن التكييف على نطاق على نماذج اللغة باستخدام مجموعة بيانات Glue Benchmark. لتشغيل التجارب ، قم بتنفيذ نص "Finetune_llm.sh 'Bash.
يدعم البرنامج النصي النماذج التالية:
يدعم البرنامج النصي مهام الغراء التالية:
أشر إلى خوارزمية الضبط من خلال تمرير أحد ما يلي {'fo' ، 'Zo' ، 'Zosvrg'}. يتم توفير إعدادات الفائق الدقيق المستخدمة لإنشاء الجداول/الأشكال في الورقة في الملحق.
يرجى التفكير في الاستشهاد بالورقة إذا كنت تستخدم الكود الخاص بنا:
@misc{gautam2024variancereduced,
title={Variance-reduced Zeroth-Order Methods for Fine-Tuning Language Models},
author={Tanmay Gautam and Youngsuk Park and Hao Zhou and Parameswaran Raman and Wooseok Ha},
year={2024},
eprint={2404.08080},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
انظر المساهمة لمزيد من المعلومات.
تم ترخيص هذا المشروع بموجب ترخيص Apache-2.0.