mezo_svrg
1.0.0
該存儲庫實現了用於微調預先訓練的擁抱面LMS的記憶效率降低梯度(Mezo-SVRG)算法的記憶效率零階隨機方差。作為基準,我們還實施了內存效率的ZO優化器(MEZO)和一階SGD(FO-SGD)。該存儲庫用Pytorch編寫,並利用Pytorch Lightning框架。
要安裝相關的Python環境,請使用該命令
conda create --name zo_opt python=3.9
conda activate zo_opt
python -m pip install -r requirements.txt該存儲庫實現了MEZO-SVRG算法,並使用膠水基準數據集對語言模型進行微調。要運行實驗,請執行“ 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許可獲得許可。