Efficient Head Finetuning
1.0.0
EMNLP2022 장편 논문의 소스 코드: 매개변수 효율적인 튜닝으로 좋은 분류 헤드 만들기
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(비트핏) |
2스텝+로라 | EH-FT(LoRA) |
2단+포인트 | EH-FT(PT) |
비트피트/로라/pt | BitFit/LoRA/Prefix 튜닝 |
머리 | 선형 프로빙 |
어린이 | 어린이 튜닝 |
믹스아웃 | 믹스아웃 |
4단계.
실행/텐서보드 사용 결과를 확인하세요.