Code source de l'article long EMNLP2022 : Le réglage efficace des paramètres constitue une bonne tête de classification
arxiv
Nous avons trouvé que
- Affinez le LM pré-entraîné avec un algorithme efficace en termes de paramètres.
- Affinez le LM pré-entraîné en initialisant la tête de classification comme poids à partir de 1.
généralement mieux qu’un réglage fin direct.
Nous implémentons nos méthodes basées sur une librairie open source SwissArmyTransformers.
Étape 1.
Téléchargez le point de contrôle de RoBERTa-Large ou BERT-Large (fourni par SwissArmyTransformer) et décompressez.
Étape 2.
Ajoutez le chemin du répertoire du point de contrôle à la ligne 5 dans EH-FT/roberta/scripts/finetune.sh
Étape 3.
cd EH-FT/roberta
python scripts/run_multiseed.py --number-gpu 1 --gpu-s 0 --seed-per-gpu 1 --dataset rte --finetune-type 2step+bitfit
Étape 4.
cd EH-FT/roberta
python scripts/run_multiseed.py --number-gpu 1 --gpu-s 0 --seed-per-gpu 1 --dataset rte --finetune-type 2step+bitfit
Le script lancera les processus [number-gpu] avec gpu [gpu-s], gpu [gpu-s+1], ..., gpu [gpu-s + number-gpu - 1]. Chaque processus a une graine aléatoire différente.
Vous pouvez modifier l'ensemble de données et le type de réglage fin.
Ensemble de données : rte, mrpc, boolq, wic, cb, copa, wsc, qnli, stsb
Type de réglage fin | nom sur papier |
---|---|
tous | mise au point traditionnelle |
2pas+tête | LP-FT |
2étapes+bitfit | EH-FT(BitFit) |
2étapes+lora | EH-FT(LoRA) |
2étapes+pt | EH-FT(PT) |
bitft/lora/pt | Réglage BitFit/LoRA/Préfixe |
tête | Sondage linéaire |
enfant | réglage des enfants |
mixage | Mixage |
Étape 4.
Voir les résultats dans les exécutions/en utilisant le tensorboard.