百度RocketQA系列搜索技术论文解析(三)

举报
人工智障研究员 发表于 2022/05/16 19:48:40 2022/05/16
【摘要】 本系列文章是对百度提出的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散单对召回模型进行优化。
    动态列表蒸馏模型图
    基于KL散度的联合蒸馏模型loss

  • 混合数据增强(hybrid data augmentation):训练过程中,为了得到尽可能多的伪标注数据,使用RocketQA的召回模型对语料生成大量伪标注数据,在其中采用RocketQA的精排模型对生成的伪标注数据进行降噪(仅采用得分非常高的正例和得分非常低的负例),混合使用未降噪伪标注数据和降噪的未标注数据。
    混合数据增强模型

  • 训练过程:采用训练好的RocketQA的召回模型(Retriever)和精排模型(Re-ranker)对RocketQAv2的模型进行初始化,使用上述混合数据增强策略与基于KL散度的动态列表蒸馏Loss对模型进行fine-tuning。
    RocketQAv2整体训练架构


   实验及结论:

  • 同样在MSMARCO和Natural Questions数据集上进行实验,效果超过RocketQA。
    RocketQAv2召回模型实验效果
    RocketQAv2精排模型实验效果

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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。