การปิดบังหลักสูตรตามแนวคิด (CCM) เป็นกลยุทธ์การฝึกอบรมสำหรับแบบจำลองภาษาที่มีประสิทธิภาพก่อนการฝึกอบรม สามารถใช้สำหรับหม้อแปลงก่อนการฝึกอบรมที่มีค่าใช้จ่ายในการคำนวณค่อนข้างต่ำ กรอบมาสก์เฟรมเวิร์กของเราภายในประโยคตามลำดับที่ง่าย CCM บรรลุประสิทธิภาพการเปรียบเทียบกับ Bert ดั้งเดิมโดยใช้ค่าใช้จ่ายในการคำนวณ 1/2 บนเกณฑ์มาตรฐานกาวเท่านั้น
พื้นที่เก็บข้อมูลนี้มีรหัสสำหรับกระดาษ EMNLP 2022 ของเรา: การฝึกอบรมภาษาที่มีประสิทธิภาพล่วงหน้าอย่างมีประสิทธิภาพผ่านการปิดบังหลักสูตรตามแนวคิด สำหรับคำอธิบายโดยละเอียดและผลการทดลองโปรดดูที่กระดาษ
ผลลัพธ์ในชุดนักพัฒนากาว
| แบบจำลอง | โคล่า | SST | MRPC | STS | rte |
|---|---|---|---|---|---|
| เบิร์ต (เล็ก 14 ม.) | 38.0 | 88.7 | 82.8 | 82.0 | 59.2 |
| CCM (เล็ก 14 ม.) | 42.8 | 89.1 | 84.1 | 83.3 | 61.3 |
| เบิร์ต (ปานกลาง, 26m) | 44.9 | 89.6 | 85.4 | 82.7 | 60.3 |
| CCM (ปานกลาง, 26m) | 48.0 | 90.9 | 86.7 | 83.6 | 61.4 |
| เบิร์ต (ฐาน 110m) | 49.7 | 90.8 | 87.8 | 85.4 | 67.8 |
| CCM (ฐาน 110m) | 60.3 | 93.1 | 88.3 | 85.5 | 65.0 |
| แบบจำลอง | mnli | qqp | qnli |
|---|---|---|---|
| เบิร์ต (เล็ก 14 ม.) | 76.8 | 88.4 | 85.8 |
| CCM (เล็ก 14 ม.) | 77.5 | 88.6 | 86.3 |
| เบิร์ต (ปานกลาง, 26m) | 78.9 | 89.4 | 87.6 |
| CCM (ปานกลาง, 26m) | 80.0 | 89.2 | 87.6 |
| เบิร์ต (ฐาน 110m) | 81.7 | 90.4 | 89.5 |
| CCM (ฐาน 110m) | 84.1 | 91.0 | 91.4 |
ดาวน์โหลด ConceptNet Assertions
# Download assertions in the data folder.
$ wget ./data/assertions.csv https://s3.amazonaws.com/conceptnet/precomputed-data/2016/assertions/conceptnet-assertions-5.5.0.csv.gz
# run concept_extraction.py
$ python ./script/concept_extraction.py
ใช้ ./script/basicconcept_selection.py เพื่อสร้างขั้นตอนแรกของหลักสูตรด้วยแนวคิดพื้นฐานที่เชื่อมต่อกับแนวคิดอื่น ๆ อีกมากมายในกราฟความรู้และเกิดขึ้นบ่อยครั้งในคลังข้อมูลก่อนการฝึกอบรม
--conceptnet_path : เส้นทางไปยังไฟล์ ConceptNet ที่เตรียมไว้ล่วงหน้า--topk_connected_concepts : แนวคิด K ด้านบนที่เชื่อมต่อกับแนวคิดอื่น ๆ อีกมากมายในกราฟความรู้--corpus_dir : ไดเรกทอรีที่มีไฟล์ข้อความดิบเพื่อเปลี่ยนเป็นตัวอย่างการฝึกอบรม MLM ล่วงหน้า--delete_threshold : เกณฑ์ความถี่ในการกรองแนวคิดที่หายาก--basicConcepts_num : ตั้งค่าจำนวนแนวคิดพื้นฐานที่ใช้สำหรับหลักสูตร--save_path : เส้นทางที่จะบันทึกชุดแนวคิดพื้นฐาน ใช้ ./script/curriculum_construction.py เพื่อสร้างหลักสูตรตามแนวคิดด้วยแนวคิดพื้นฐาน
--conceptnet_path : เส้นทางไปยังไฟล์ ConceptNet ที่เตรียมไว้ล่วงหน้า--num_of_hops : ตั้งค่าจำนวนฮ็อพสำหรับการเพิ่มแนวคิดที่เกี่ยวข้องในชุดแนวคิดขั้นตอนต่อไป--basic_concept_path : เส้นทางที่จะโหลดชุดแนวคิดพื้นฐาน--save_dir : เส้นทางที่จะบันทึกชุดแนวคิดสำหรับแต่ละขั้นตอนของหลักสูตร--num_of_stages : ตั้งค่าจำนวนขั้นตอนสำหรับหลักสูตร ใช้ ./script/curriculum_construction.py เพื่อระบุแนวคิดในคลังข้อมูลและจัดเรียงพวกเขาพร้อมกับหลักสูตร
--corpus_dir : ไดเรกทอรีที่มีไฟล์ข้อความดิบเพื่อเปลี่ยนเป็นตัวอย่างการฝึกอบรม MLM ล่วงหน้า--save_dir : เส้นทางที่จะบันทึกคลังข้อมูลที่ผ่านการประมวลผลล่วงหน้า--curriculum_dir : ไดเรกทอรีที่มีหลักสูตรตามแนวคิด--process_num : ตั้งจำนวนโปรเซสเซอร์ CPU สำหรับการประมวลผลล่วงหน้า ในที่สุดใช้ ./script/pre-training.py เพื่อฝึกอบรมโมเดลของคุณล่วงหน้าด้วยการปิดบังหลักสูตรตามแนวคิด
--curriculum_dir : ไดเรกทอรีที่มีหลักสูตรตามแนวคิด--lr : กำหนดอัตราการเรียนรู้--epochs : ตั้งค่าจำนวนยุค--batch_size : ตั้งค่าขนาดแบทช์สำหรับการดำเนินการในครั้งเดียว--step_batch_size : ตั้งค่าขนาดแบทช์สำหรับการอัปเดตต่อแต่ละขั้นตอน (หากหน่วยความจำของ GPU เพียงพอให้ตั้ง batch_size และ step_batch_size เดียวกัน--data_path : ไดเรกทอรีที่มีตัวอย่างที่ประมวลผลล่วงหน้า--warmup_steps : ตั้งค่าจำนวนขั้นตอนในการอุ่นเครื่องรุ่นด้วย MLM ดั้งเดิม--model_size : เลือกขนาดของโมเดลเป็น Pre-Train สำหรับความช่วยเหลือหรือปัญหาโดยใช้ CCM โปรดส่งปัญหา GitHub
สำหรับการสื่อสารส่วนบุคคลที่เกี่ยวข้องกับ CCM กรุณาติดต่อ Mingyu Lee <[email protected]> หรือ Jun-hyung Park <[email protected]>