Ce référentiel contient les codes d'expériences du papier SORSA: valeurs singulières et adaptations singulières régularisées orthonormales de modèles de grands langues .

L'avancement rapide dans les modèles de grands langues (LLMS) est livré avec une augmentation significative de la taille de leur paramètre, présentant des défis pour l'adaptation et le réglage fin. Les méthodes de réglage fin et économes par les paramètres (PEFT) sont largement utilisées pour adapter efficacement les LLM pour les tâches en aval. Dans cet article, nous proposons des valeurs singulières et une adaptation des vecteurs singuliers régularisés orthonormaux, ou Sorsa, une nouvelle méthode PEFT. Chaque adaptateur SORSA se compose de deux parties principales: des poids singuliers principaux formables

Tout d'abord, installez le package sorsa depuis PIP:
pip install sorsa Ensuite, créez un fichier .env dans le répertoire racine du projet et ajoutez votre jeton d'accès à face étreint:
hf=Your_Hugging_Face_Access_TokenTout d'abord, installez les packages via Anaconda
conda env create -f environment.yml Exécutez des scripts de ./scripts/train_sorsa.sh pour former le modèle.
Après l'entraînement, exécutez le ./scripts/merge_sorsa.sh pour fusionner l'adaptateur au modèle de base:
Exécutez la commande suivante pour évaluer sur GSM-8K:
python3 run.py --name llama2_sorsa_r128
--test
--test-dataset gsm-8k
--test-precision bf16Exécutez la commande suivante pour évaluer les mathématiques:
python3 run.py --name llama2_sorsa_r128
--test
--test-dataset math
--test-precision bf16Exécutez la commande suivante pour évaluer sur Humaneval:
python3 run.py --name llama2_sorsa_r128
--test
--test-dataset humaneval
--test-precision bf16 Si vous entraînez, fusionnez ou testez le modèle RWKV6, veuillez ajouter --rwkv indicateur pour run.py
Vous pouvez citer le travail en utilisant le code Bibtex comme suit:
@article { cao2024sorsa ,
title = { SORSA: Singular Values and Orthonormal Regularized Singular Vectors Adaptation of Large Language Models } ,
author = { Cao, Yang } ,
journal = { arXiv preprint arXiv:2409.00055 } ,
year = { 2024 }
}