百度RocketQA系列搜索技术论文解析(三)
【摘要】 本系列文章是对百度提出的RocketQA系列搜索技术相关论文(RocketQA[1]、PAIR[2]、RocketQAv2[3])的解析,主要探寻深度学习时代检索技术的瓶颈与技术方向。本文是对RocketQAv2论文的解析,RocketQAv2的基本思路是联合训练召回模型(Retriever)和精排模型(Re-ranker),提出了一个名为动态列表蒸馏(dynamic listwise disti
传统的搜索通常将召回和精排两个阶段分开进行,本文提出了一个联合训练模型,将召回模型(Retriever)看做精排模型(Re-ranker)的蒸馏,从而将两个模型一起联合训练。并据此想法提出了名为动态列表蒸馏(dynamic listwise distillation)的方法,来适应排序模型与传统模型的不同。另一方面,在RocketQA的数据增强手段基础上,提出了混合数据增强的方法。最终实验结果表明,RocketQAv2在召回和精排两个模型上都达到了state-of-art的效果。
研究问题:
- 如何将召回模型和精排模型联合训练:传统模型的联合训练通常依靠参数共享、加权联合loss等方式进行,但是召回模型与精排模型有着不同的训练范式。一般而言,召回模型采用listwise的方式进行训练,每个batch内对每一个query进行尽可能多的负采样,而精排模型一般采用pointwise或者pairwise的方式进行训练,batch内只对query进行一个采样或者一对正负采样。
提出方案;
-
动态列表蒸馏(dynamic listwise distillation):针对精排模型(Re-ranker),每个batch内,对query采样一个正样本和一组负样本,采取有监督多分类的loss进行优化;针对召回模型(Retriever),将召回模型看做精排模型的蒸馏,采用KL散单对召回模型进行优化。
-
混合数据增强(hybrid data augmentation):训练过程中,为了得到尽可能多的伪标注数据,使用RocketQA的召回模型对语料生成大量伪标注数据,在其中采用RocketQA的精排模型对生成的伪标注数据进行降噪(仅采用得分非常高的正例和得分非常低的负例),混合使用未降噪伪标注数据和降噪的未标注数据。
-
训练过程:采用训练好的RocketQA的召回模型(Retriever)和精排模型(Re-ranker)对RocketQAv2的模型进行初始化,使用上述混合数据增强策略与基于KL散度的动态列表蒸馏Loss对模型进行fine-tuning。
实验及结论:
- 同样在MSMARCO和Natural Questions数据集上进行实验,效果超过RocketQA。
Reference
[1] RocketQA: An Optimized Training Approach to Dense Passage Retrieval for Open-Domain Question Answering
[2] PAIR: Leveraging Passage-Centric Similarity Relation for Improving Dense Passage Retrieval
[3] RocketQAv2: A Joint Training Method for Dense Passage Retrieval and Passage Re-ranking
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)