Этот репозиторий реализует алгоритм градиента, снижающего стохастик с нулевым приказом с нулевым порядком (Mezo-SVRG) для тонкой настройки, предварительно обученного обнимающего лица LMS. Как базовые показатели, мы также реализуем эффективную память ZO Optimizer (MEZO) и SGD первого порядка (FO-SGD). Репозиторий написан в Pytorch и использует рамку молнии Pytorch.
Для установки соответствующей среды 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».
Сценарий поддерживает следующие модели:
Сценарий поддерживает следующие задачи клея:
Укажите алгоритм тонкой настройки, передав один из следующих {'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}
}
Смотрите Anploying для получения дополнительной информации.
Этот проект лицензирован по лицензии Apache-2.0.