Basis kode untuk retromae dan seterusnya.
Kami telah mengunggah beberapa pos pemeriksaan ke Huggingface Hub.
| Model | Keterangan | Link |
|---|---|---|
| Retromae | Pra-trianed di Wikipedia dan Bookcorpus | Shitao/retromae |
| Retromae_msmarco | Pra-trianed pada bagian msmarco | Shitao/retromae_msmarco |
| Retromae_msmarco_finetune | Finetune The Retromae_msmarco pada Data Passage Msmarco | Shitao/retromae_msmarco_finetune |
| Retromae_msmarco_distill | Finetune the retromae_msmarco pada data lorong msmarco dengan meminimalkan divergensi KL dengan cross-encoder | Shitao/retromae_msmarco_distill |
| Retromae_beir | Finetune The Retromae pada Data Passage Msmarco untuk BEIR (gunakan negatif resmi yang disediakan oleh BEIR) | Shitao/retromae_beir |
Anda dapat memuatnya dengan mudah menggunakan string pengidentifikasi. Misalnya:
from transformers import AutoModel
model = AutoModel . from_pretrained ( 'Shitao/RetroMAE' )Retromae dapat memberikan inisialisasi yang kuat dari retriever padat; Setelah disesuaikan dengan data dalam domain, itu menimbulkan kinerja pengambilan yang diawasi berkualitas tinggi dalam skenario yang sesuai. Selain itu, secara substansial meningkatkan transferabilitas model yang telah dilatih, yang membantu menghasilkan kinerja nol-shot yang superior pada dataset di luar domain.
| Model | MRR@10 | Ingat@1000 |
|---|---|---|
| Bert | 0.346 | 0.964 |
| Retromae | 0.382 | 0.981 |
| Model | MRR@10 | Ingat@1000 |
|---|---|---|
| cocondenser | 0.382 | 0.984 |
| Retromae | 0.393 | 0.985 |
| Retromae (distilasi) | 0.416 | 0.988 |
| Model | AVG NDCG@10 (18 Dataset) |
|---|---|
| Bert | 0.371 |
| Kondensator | 0.407 |
| Retromae | 0.452 |
| Retromae V2 | 0.491 |
git clone https://github.com/staoxiao/RetroMAE.git
cd RetroMAE
pip install .
Untuk pengembangan, instal sebagai edit:
pip install -e .
Repo ini mencakup dua fungsi: pra-kereta dan finetune. Pertama, latih retromae pada dataset umum (atau dataset hilir) dengan kehilangan pemodelan bahasa topeng. Kemudian Finetune retromae pada dataset hilir dengan kehilangan kontras. Untuk mencapai kinerja yang lebih baik, Anda juga dapat memperbaiki retromae dengan distilasi skor yang disediakan oleh cross-encoder. Alur kerja terperinci silakan merujuk ke contoh kami.
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
Jika Anda menganggap pekerjaan kami bermanfaat, silakan pertimbangkan mengutip kami:
@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},
}