Dieses Repository enthält die Codes von Experimenten des Papiers SORSA: Singularwerte und orthonormal regulierte Singularvektoren Adaption von Großsprachenmodellen .

Der schnelle Fortschritt in Großsprachenmodellen (LLMs) hat eine signifikante Zunahme ihrer Parametergröße und stellt Herausforderungen für die Anpassung und die Feinabstimmung auf. PEFT-Methoden (Parameter-effiziente Feinabstimmungen) werden häufig verwendet, um LLMs für nachgeschaltete Aufgaben effizient anzupassen. In diesem Artikel schlagen wir einzigartige Werte und orthonormal regulierte Singularvektoren -Anpassungen oder Sorsa vor, eine neuartige PEFT -Methode. Jeder SORSA -Adapter besteht aus zwei Hauptteilen: trainierbare prinzipielle Singulargewichte

Installieren Sie zunächst sorsa -Paket von PIP:
pip install sorsa Erstellen Sie dann die Datei .env -Datei im Stammverzeichnis des Projekts und fügen Sie Ihr Umarmungs -Gesichts -Zugangs -Token hinzu:
hf=Your_Hugging_Face_Access_TokenInstallieren Sie zuerst die Pakete über Anaconda
conda env create -f environment.yml Führen Sie Skripte von ./scripts/train_sorsa.sh aus, um das Modell zu trainieren.
Führen Sie nach dem Training die ./scripts/merge_sorsa.sh aus, um den Adapter zum Basismodell zusammenzuführen:
Ausführen des folgenden Befehls, um auf GSM-8K zu bewerten:
python3 run.py --name llama2_sorsa_r128
--test
--test-dataset gsm-8k
--test-precision bf16Führen Sie den folgenden Befehl aus, um in Mathematik zu bewerten:
python3 run.py --name llama2_sorsa_r128
--test
--test-dataset math
--test-precision bf16Führen Sie den folgenden Befehl aus, um auf Humaneval zu bewerten:
python3 run.py --name llama2_sorsa_r128
--test
--test-dataset humaneval
--test-precision bf16 Wenn Sie das RWKV6 -Modell trainieren, zusammenführen oder testen, fügen Sie bitte das Flag --rwkv -Flag zum run.py hinzu.
Sie können die Arbeiten mit dem Bibtex -Code wie folgt zitieren:
@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 }
}