codebase สำหรับ retromae และอื่น ๆ
เราได้อัปโหลดจุดตรวจบางอย่างไปยัง HuggingFace Hub
| แบบอย่าง | คำอธิบาย | การเชื่อมโยง |
|---|---|---|
| ใหม่ | ก่อนการแข่งขันบน Wikipedia และ Bookcorpus | shitao/retromae |
| retromae_msmarco | ก่อนการแข่งขันบน Msmarco Passage | shitao/retromae_msmarco |
| retromae_msmarco_finetune | finetune retromae_msmarco บนข้อมูลข้อความ msmarco | shitao/retromae_msmarco_finetune |
| retromae_msmarco_distill | Finetune retromae_msmarco บนข้อมูล MSMARCO PASSAG | shitao/retromae_msmarco_distill |
| retromae_beir | Finetune retromae บนข้อมูล Msmarco Passage สำหรับ Beir (ใช้ลบอย่างเป็นทางการโดย Beir) | shitao/retromae_beir |
คุณสามารถโหลดได้อย่างง่ายดายโดยใช้สตริงตัวระบุ ตัวอย่างเช่น:
from transformers import AutoModel
model = AutoModel . from_pretrained ( 'Shitao/RetroMAE' )Retromae สามารถให้การเริ่มต้นที่แข็งแกร่งของรีทรีฟเวอร์หนาแน่น หลังจากได้รับการปรับแต่งด้วยข้อมูลในโดเมนแล้วมันจะก่อให้เกิดประสิทธิภาพการดึงข้อมูลที่มีคุณภาพสูงในสถานการณ์ที่สอดคล้องกัน นอกจากนี้ยังช่วยปรับปรุงความสามารถในการถ่ายโอนของแบบจำลองที่ผ่านการฝึกอบรมมาแล้วซึ่งช่วยให้การแสดงเป็นศูนย์ที่เหนือกว่าในชุดข้อมูลนอกโดเมน
| แบบอย่าง | MRR@10 | เรียกคืน@1,000 |
|---|---|---|
| เบิร์ต | 0.346 | 0.964 |
| ใหม่ | 0.382 | 0.981 |
| แบบอย่าง | MRR@10 | เรียกคืน@1,000 |
|---|---|---|
| cocondenser | 0.382 | 0.984 |
| ใหม่ | 0.393 | 0.985 |
| retromae (การกลั่น) | 0.416 | 0.988 |
| แบบอย่าง | avg ndcg@10 (ชุดข้อมูล 18 ชุด) |
|---|---|
| เบิร์ต | 0.371 |
| คอนเดนเซอร์ | 0.407 |
| ใหม่ | 0.452 |
| retromae v2 | 0.491 |
git clone https://github.com/staoxiao/RetroMAE.git
cd RetroMAE
pip install .
เพื่อการพัฒนาติดตั้งการแก้ไข:
pip install -e .
repo นี้มีสองฟังก์ชั่น: pre-train และ finetune ประการแรกฝึกอบรม retromae ในชุดข้อมูลทั่วไป (หรือชุดข้อมูลดาวน์สตรีม) ด้วยการสูญเสียการสร้างแบบจำลองภาษาหน้ากาก จากนั้น finetune retromae ในชุดข้อมูลดาวน์สตรีมด้วยการสูญเสียความคมชัด เพื่อให้ได้ประสิทธิภาพที่ดีขึ้นคุณยังสามารถ finetune retromae โดยการกลั่นคะแนนที่จัดทำโดย cross-encoder เวิร์กโฟลว์โดยละเอียดโปรดดูตัวอย่างของเรา
torchrun --nproc_per_node 8
-m pretrain.run
--output_dir {path to save ckpt}
--data_dir {your data}
--do_train True
--model_name_or_path bert-base-uncased
--pretrain_method {retromae or dupmae}
torchrun --nproc_per_node 8
-m bi_encoder.run
--output_dir {path to save ckpt}
--model_name_or_path Shitao/RetroMAE
--do_train
--corpus_file ./data/BertTokenizer_data/corpus
--train_query_file ./data/BertTokenizer_data/train_query
--train_qrels ./data/BertTokenizer_data/train_qrels.txt
--neg_file ./data/train_negs.tsv
หากคุณพบว่างานของเรามีประโยชน์โปรดพิจารณาอ้างเรา:
@inproceedings{RetroMAE,
title={RetroMAE: Pre-Training Retrieval-oriented Language Models Via Masked Auto-Encoder},
author={Shitao Xiao, Zheng Liu, Yingxia Shao, Zhao Cao},
url={https://arxiv.org/abs/2205.12035},
booktitle ={EMNLP},
year={2022},
}