พื้นที่เก็บข้อมูลนี้มีโค้ดสำหรับรายงาน ACL 2023 ContraCLM: Contrastive Learning for Causal Language Model
งานที่ทำโดย: Nihal Jain*, Dejiao Zhang*, Wasi Uddin Ahmad*, Zijian Wang, Feng Nan, Xiaopeng Li, Ming Tan, Ramesh Nallapati, Baishakhi Ray, Parminder Bhatia, Xiaofei Ma, Bing Xiang (* หมายถึงการมีส่วนร่วมที่เท่ากัน )
เรานำเสนอ ContraCLM ซึ่งเป็นกรอบการเรียนรู้เชิงเปรียบเทียบแบบใหม่ที่ทำงานทั้งในระดับโทเค็นและระดับลำดับ ContraCLM ปรับปรุงการเลือกปฏิบัติในการเป็นตัวแทนจากโมเดลภาษาที่ใช้ตัวถอดรหัสเท่านั้น และเชื่อมช่องว่างด้วยโมเดลที่ใช้ตัวเข้ารหัสเท่านั้น ทำให้โมเดลภาษาเชิงสาเหตุเหมาะสมกับงานนอกเหนือจากการสร้างภาษามากขึ้น เราขอแนะนำให้คุณตรวจสอบเอกสารของเราเพื่อดูรายละเอียดเพิ่มเติม
การตั้งค่าเกี่ยวข้องกับการติดตั้งการขึ้นต่อกันที่จำเป็นในสภาพแวดล้อม และวางชุดข้อมูลในไดเร็กทอรีที่จำเป็น
รันคำสั่งเหล่านี้เพื่อสร้างสภาพแวดล้อม conda ใหม่ และติดตั้งแพ็กเกจที่จำเป็นสำหรับที่เก็บนี้
# create a new conda environment with python >= 3.8
conda create -n contraclm python=3.8.12
# install dependencies within the environment
conda activate contraclm
pip install -r requirements.txt
ดูที่นี่
ในส่วนนี้ เราจะแสดงวิธีใช้พื้นที่เก็บข้อมูลนี้เพื่อฝึกล่วงหน้า (i) GPT2
กับข้อมูล Natural Language (NL) และ (ii) CodeGen-350M-Mono
กับข้อมูล Programming Language (PL)
ส่วนนี้จะถือว่าคุณมีข้อมูลรถไฟและการตรวจสอบความถูกต้องเก็บไว้ที่ TRAIN_DIR
และ VALID_DIR
ตามลำดับ และอยู่ภายในสภาพแวดล้อมที่มีการติดตั้งการอ้างอิงข้างต้นทั้งหมด (ดูการตั้งค่า)
คุณสามารถรับภาพรวมของแฟล็กทั้งหมดที่เกี่ยวข้องกับการฝึกล่วงหน้าได้โดยการรัน:
python pl_trainer.py --help
GPT2
ไว้บนข้อมูล NL bash runscripts/run_wikitext.sh
CL_Config=$(eval echo ${options[1]})
ภายในสคริปต์เท่านั้นCodeGen-350M-Mono
ล่วงหน้ากับข้อมูล PL กำหนดค่าตัวแปรที่ด้านบนของ runscripts/run_code.sh
มีตัวเลือกมากมาย แต่จะมีการอธิบายเฉพาะตัวเลือกการออกกลางคันเท่านั้น (ตัวเลือกอื่น ๆ อธิบายตนเองได้):
dropout_p
: ค่าความน่าจะเป็นของการออกกลางคันที่ใช้ใน torch.nn.Dropout
dropout_layers
: หาก > 0 สิ่งนี้จะเปิดใช้งาน dropout_layers
สุดท้ายด้วยความน่าจะเป็น dropout_p
functional_dropout
: หากระบุไว้ จะใช้เลเยอร์การออกกลางคันการทำงานที่ด้านบนของโทเค็นที่เป็นตัวแทนเอาต์พุตจากโมเดล CodeGen
ตั้งค่าตัวแปร CL
ตามการกำหนดค่าโมเดลที่ต้องการ ตรวจสอบให้แน่ใจว่าได้ตั้งค่าเส้นทางไปยัง TRAIN_DIR, VALID_DIR
ตามต้องการ
รันคำสั่ง: bash runscripts/run_code.sh
ดูไดเร็กทอรีเฉพาะงานที่เกี่ยวข้องที่นี่
หากคุณใช้โค้ดของเราในการวิจัยของคุณ โปรดอ้างอิงงานของเราเป็น:
@inproceedings{jain-etal-2023-contraclm,
title = "{C}ontra{CLM}: Contrastive Learning For Causal Language Model",
author = "Jain, Nihal and
Zhang, Dejiao and
Ahmad, Wasi Uddin and
Wang, Zijian and
Nan, Feng and
Li, Xiaopeng and
Tan, Ming and
Nallapati, Ramesh and
Ray, Baishakhi and
Bhatia, Parminder and
Ma, Xiaofei and
Xiang, Bing",
booktitle = "Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)",
month = jul,
year = "2023",
address = "Toronto, Canada",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2023.acl-long.355",
pages = "6436--6459"
}
ดูการมีส่วนร่วมสำหรับข้อมูลเพิ่มเติม
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต Apache-2.0