mezo_svrg
1.0.0
このリポジトリは、メモリ効率の高いゼロオーダーの確率分散還元勾配(MEZO-SVRG)アルゴリズムを実装して、事前に訓練を受けたハグFACE LMSを微調整します。ベースラインとして、メモリ効率の高いZOオプティマイザー(MEZO)および1次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」バッシュスクリプトを実行します。
スクリプトは次のモデルをサポートしています。
スクリプトは、次の接着剤タスクをサポートしています。
次のいずれかのいずれかを渡すことにより、微調整アルゴリズムを示します{'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ライセンスの下でライセンスされています。