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},
}