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许可获得许可。