ซอร์สโค้ดสำหรับรายงานขนาดยาว EMNLP2022: การปรับพารามิเตอร์อย่างมีประสิทธิภาพทำให้มีการจัดประเภทที่ดี
อาร์ซิฟ
เราพบว่า
- ปรับแต่ง LM ที่ได้รับการฝึกล่วงหน้าด้วยอัลกอริธึมที่มีประสิทธิภาพของพารามิเตอร์
- ปรับแต่ง LM ที่ฝึกไว้ล่วงหน้าโดยเริ่มต้นส่วนหัวการจำแนกประเภทเป็นน้ำหนักตั้งแต่ 1
มักจะดีกว่าการปรับแต่งโดยตรง
เราใช้วิธีการของเราโดยอิงจากไลบรารีโอเพ่นซอร์ส SwissArmyTransformers
ขั้นตอนที่ 1
ดาวน์โหลดจุดตรวจสอบของ RoBERTa-Large หรือ BERT-Large (จัดทำโดย SwissArmyTransformer) และขยายขนาด
ขั้นตอนที่ 2
เพิ่มเส้นทาง dir ของจุดตรวจสอบไปที่บรรทัด 5 ใน EH-FT/roberta/scripts/finetune.sh
ขั้นตอนที่ 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
สคริปต์จะเปิดตัวกระบวนการ [number-gpu] ด้วย gpu [gpu-s], gpu [gpu-s+1], ..., gpu [gpu-s + number-gpu - 1] แต่ละกระบวนการมีการสุ่มเมล็ดที่แตกต่างกัน
คุณสามารถเปลี่ยนชุดข้อมูลและประเภทการปรับแต่งได้
ชุดข้อมูล: rte, mrpc, boolq, wic, cb, copa, wsc, qnli, stsb
Finetune-ประเภท | ชื่อในกระดาษ |
---|---|
ทั้งหมด | การปรับแต่งแบบดั้งเดิม |
2ขั้น+หัว | หจก.-เอฟที |
2ขั้นตอน+บิตฟิต | EH-FT(บิตฟิต) |
2สเต็ป+ลอร่า | EH-FT(LoRA) |
2ขั้นตอน+จุด | EH-FT(PT) |
bitft/lora/pt | การปรับแต่ง BitFit/LoRA/Prefix |
ศีรษะ | การตรวจสอบเชิงเส้น |
เด็ก | การปรับแต่งเด็ก |
มิกซ์เอาต์ | มิกซ์เอาท์ |
ขั้นตอนที่ 4
ดูผลลัพธ์ในการวิ่ง/การใช้เทนเซอร์บอร์ด