我们提供了一个基于 DistilBert 的检索训练模型(我们将这种“双编码器+点积评分”架构称为 BERT_Dot),该模型在 MSMARCO-Passage 数据集上采用平衡主题感知采样进行训练。
本模型实例的训练批次大小为 256,可用于候选集重排序或直接基于向量索引的密集检索。其架构为 6 层 DistilBERT,未对架构进行任何添加或修改(仅在训练过程中调整权重)——通过对 CLS 向量进行池化来获取查询/段落表示。查询和段落编码使用相同的 BERT 层(这样能获得更好的结果,并降低内存需求)。
如果您想了解更多关于我们高效(可在单块消费级 GPU 上 48 小时内完成)的批次组合过程以及用于密集检索训练的双重监督方法,请查阅我们的论文:https://arxiv.org/abs/2104.06967 🎉
有关更多信息和最小化使用示例,请访问:https://github.com/sebastian-hofstaetter/tas-balanced-dense-retrieval
我们的模型在经过 TAS-B 方法重新采样的 MSMARCO 标准(“小型”-400K 查询)训练三元组上进行训练。教师模型方面,我们使用了 BERT_CAT 成对分数以及 ColBERT 模型来提供批内负样本信号,相关内容发布于:https://github.com/sebastian-hofstaetter/neural-ranking-kd
| MRR@10 | NDCG@10 | Recall@1K | |
|---|---|---|---|
| BM25 | .194 | .241 | .857 |
| TAS-B BERT_Dot(检索) | .347 | .410 | .978 |
对于 MRR 和 Recall,我们使用推荐的等级相关性二值化点 2。与其他二值化点数值相比,这可能会使结果产生偏差。
| MRR@10 | NDCG@10 | Recall@1K | |
|---|---|---|---|
| BM25 | .689 | .501 | .739 |
| TAS-B BERT_Dot(检索) | .883 | .717 | .843 |
对于MRR和Recall指标,我们采用推荐的等级相关性二值化阈值2。与其他二值化阈值相比,这可能会使结果产生偏差。
| MRR@10 | NDCG@10 | Recall@1K | |
|---|---|---|---|
| BM25 | .649 | .475 | .806 |
| TAS-B BERT_Dot (Retrieval) | .843 | .686 | .875 |
有关更多基线、信息和分析,请参见论文:https://arxiv.org/abs/2104.06967
该模型继承了DistilBERT和MSMARCO的社会偏见。
该模型仅在MSMARCO的相对较短段落(平均长度60词)上进行训练,因此可能难以处理较长文本。
如果您使用我们的模型检查点,请按以下方式引用我们的工作:
@inproceedings{Hofstaetter2021_tasb_dense_retrieval,
author = {Sebastian Hofst{\"a}tter and Sheng-Chieh Lin and Jheng-Hong Yang and Jimmy Lin and Allan Hanbury},
title = {{Efficiently Teaching an Effective Dense Retriever with Balanced Topic Aware Sampling}},
booktitle = {Proc. of SIGIR},
year = {2021},
}