RetroMAE
1.0.0
逆转录及以后的代码库。
我们已将一些检查站上传到HuggingFace Hub。
| 模型 | 描述 | 关联 |
|---|---|---|
| 逆转录 | 在Wikipedia和BookCorpus上预先进行三角 | shitao/uralomae |
| retromae_msmarco | 在MSMARCO通过 | shitao/retromae_msmarco |
| retroma_msmarco_finetune | Finetune在MSMARCO段落数据上的rasome_msmarco | shitao/retromae_msmarco_finetune |
| retroma_msmarco_distill | 通过使用交叉编码器最大程度地减少KL差异,finetune在MSMARCO段落数据上feromae_msmarco | shitao/retromae_msmarco_distill |
| retromae_beir | Finetune beir的MSMARCO通道数据尾部(使用Beir提供的官方负面因素) | shitao/retromae_beir |
您可以使用标识符字符串轻松加载它们。例如:
from transformers import AutoModel
model = AutoModel . from_pretrained ( 'Shitao/RetroMAE' )逆瘤可以提供密集的猎犬的强烈初始化;经过微调的数据域数据后,它在相应的方案中产生了高质量的监督检索性能。此外,它显着提高了预训练的模型的可传递性,这有助于在室外数据集上产生出色的零击性能。
| 模型 | MRR@10 | 回想@1000 |
|---|---|---|
| 伯特 | 0.346 | 0.964 |
| 逆转录 | 0.382 | 0.981 |
| 模型 | MRR@10 | 回想@1000 |
|---|---|---|
| Cocondenser | 0.382 | 0.984 |
| 逆转录 | 0.393 | 0.985 |
| 逆转(蒸馏) | 0.416 | 0.988 |
| 模型 | AVG NDCG@10(18个数据集) |
|---|---|
| 伯特 | 0.371 |
| 冷凝器 | 0.407 |
| 逆转录 | 0.452 |
| 逆v2 | 0.491 |
git clone https://github.com/staoxiao/RetroMAE.git
cd RetroMAE
pip install .
为了开发,安装为可编辑:
pip install -e .
该回购包含两个功能:预训练和芬太纳。首先,在通用数据集(或下游数据集)上使用掩模语言建模损失训练逆转录。然后在下游数据集上捕获逆逆转录,并具有对比损失。为了取得更好的性能,您还可以通过蒸馏交叉编码器提供的分数来阐明逆转。详细的工作流程,请参考我们的示例。
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},
}