؟ arxiv preprint
يستضيف هذا الريبو رمز الورقة "عدم التماثل في محولات رتبة منخفضة من نماذج الأساس". نكتشف ونحلال عدم تناسق مصفوفات محول Lora B و A ،
الخطوة 1 : يرجى اتباع خطوات التثبيت. أولاً ، تأكد من تثبيت Pytorch.
pip3 install torch==1.13.0 torchvision
الخطوة 2 : ثم قم بتثبيت بقية الحزم المطلوبة:
cd AsymmetryLoRA
pip install -r requirement.txt
تتبع وحدة Lorasym الخاصة بنا بنية وحدة PEFT. على وجه التحديد ، نقدم واجهة مرنة لحساب إعدادات التهيئة للمصفوفات A و B :
torch.nn.init.kaiming_uniform_ للتوزيع الموحد العشوائي ، وتحسين تنشيط طبقة الشبكة العصبية.يمكنك تخصيص المصفوفات A و B مع هذه الخيارات.
| المصفوفة | خيارات | مثال | توضيح |
|---|---|---|---|
| أ | V ، rand ، he ، zero | A_rand | يتم تمييزه كمصفوفة عظام عشوائية ويتم تجميدها أثناء التدريب. |
| ب | U ، rand ، he ، zero | hB_zero | تتم تهيئة B على أنها صفر وسيتم تحديثها. |
التوضيح: A_rand_hB_zero يعني تهيئة A على أنها عظمية عشوائية ودون تغيير ، بينما يبدأ B من الصفر ويتم تحديثه.
نحن نقدم غلافًا يجمع نماذج أخرى من نماذج محولات Huggingface. فيما يلي مثال على الاستخدام:
from transformers import AutoModelForSequenceClassification
from LoRASYM_peft . local_peft_model_all import PeftModelForCausalLM_local ,
from LoRASYM_peft . local_lorasym_all import LoRASYMConfig
model = AutoModelForSequenceClassification . from_pretrained (
model_args . model_name_or_path ,
)
update_rule_dict = para_dict = { "update_A" : False , "update_B" : True ,
"A_init" : "rand" , "B_init" : "zero" }
lorasym_config = LoRASYMConfig (
r = 16 ,
lora_alpha = 32 ,
lora_dropout = 0.05 ,
bias = "none" ,
modules_to_save = [ "classifier" ],
update_rule = update_rule_dict ,
task_type = "SEQ_CLS" ,
)
lora_model = PeftModelForCausalLM_local ( model , lorasym_config )استخدم الأمر التالي لضبط نموذج Roberta-Large للمهام في معيار الغراء.
cd GPT_experiments
python -m run_glue_origin_ft --model_name_or_path roberta-large
--task_name rte
--ft_method LoRASYM
--bf16 True
--tf32 True
--do_train
--do_eval
--learning_rate 4e-4
--num_train_epochs 20
--input_seed 7
--lora_svd_method A_rand_hB_zero
--lora_rank 8
--lora_alpha 16
--overwrite_output_dir
إذا كان لديك أي أسئلة تتعلق بالرمز أو الورقة ، فلا تتردد في إرسال بريد إلكتروني إلى Jiacheng Zhu ([email protected]). لا تتردد في فتح مشكلة إذا واجهت أي مشاكل عند استخدام الرمز.
يرجى الاستشهاد بالورقة إذا وجدت أن الريبو مفيد في عملك:
@article { zhu2024asymmetry ,
title = { Asymmetry in Low-Rank Adapters of Foundation Models } ,
author = { Jiacheng Zhu and Kristjan Greenewald and Kimia Nadjahi and Haitz Sáez de Ocáriz Borde and Rickard Brüel Gabrielsson and Leshem Choshen and Marzyeh Ghassemi and Mikhail Yurochkin and Justin Solomon } ,
year = { 2024 } ,
}