Efficient Head Finetuning
1.0.0
EMNLP2022長論文的原始碼:Parameter-Efficient Tuning Makes a Good Classification Head
arxiv
我們發現
- 使用參數高效的演算法微調預訓練的 LM。
- 透過將分類頭初始化為 1 的權重來微調預訓練的 LM。
通常比直接微調更好。
我們基於開源庫 SwissArmyTransformers 來實作我們的方法。
步驟1。
下載 RoBERTa-Large 或 BERT-Large(由 SwissArmyTransformer 提供)的檢查點並解壓縮。
步驟2。
將檢查點目錄路徑新增至 EH-FT/roberta/scripts/finetune.sh 中的第 5 行
步驟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
步驟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
腳本將使用 gpu [gpu-s]、gpu [gpu-s+1]、...、gpu [gpu-s + number-gpu - 1] 啟動 [number-gpu] 程序。每個行程都有不同的隨機種子。
您可以變更資料集和微調類型。
資料集:rte、mrpc、boolq、wic、cb、copa、wsc、qnli、stsb
微調型 | 紙上的名字 |
---|---|
全部 | 傳統微調 |
2步+頭 | LP-FT |
2步驟+位元擬合 | EH-FT(BitFit) |
2步+勞拉 | EH-FT(LoRA) |
2步+點 | EH-FT(PT) |
bitft/勞拉/pt | BitFit/LoRA/前綴調整 |
頭 | 線性探測 |
孩子 | 兒童調音 |
混音 | 混音 |
步驟4。
使用張量板查看運行/中的結果。