ANCE:用全语料 ANN 难负样本训练 dense retriever
ANCE(Approximate Nearest Neighbor Negative Contrastive Learning for Dense Text Retrieval,2020,Microsoft,ICLR 2021)是一篇 2020 年的老文章,但 dense retrieval 训练里 hard negative mining 的标准做法基本是从这里定型的,DPR 系列、E5、BGE 都沿用了这套框架。其核心思路:在训练过程中持续维护一份 ANN 索引,从整个语料里挑当前模型最难区分的负样本去训 dense retriever,索引以异步方式定期刷新。
论文有两层贡献。一是用 importance sampling 的方差分析指出,dense retrieval 训练时常用的 in-batch 与 BM25 负样本梯度范数接近零,是收敛瓶颈。二是给出全语料 ANN 难负样本采样的具体方案,并解决"索引必须随模型同步更新"这个工程瓶颈。在 TREC 2019 DL、MS MARCO、NQ、TQA 上,BERT-Siamese 配 ANCE 训练后,文档检索 NDCG@10 达 0.628(MaxP),passage MRR@10 达 0.330,Top-20 Coverage 在 NQ 和 TQA 上均超过 DPR,生产环境 8B 语料的离线检索质量相对提升约 14%~15%。