RocketQA: An Optimized Training Approach to Dense Passage Retrieval for Open-Domain Question Answering
论文地址:https://arxiv.org/pdf/2010.08191.pdf
对于使用对偶式检索模型,在实际训练中存在以下问题:
训练场景和预测场景中样本数量存在较大差异
在开放域问答的应用场景中,模型需要从大规模的候选集合中找出问题的答案。但是按照批次内负采样的方法训练时,每个问题的候选段落个数与批次大小相同。受到单 GPU 显存大小的限制,训练过程中见到的候选段落远小于预测时的候选段落,从而导致模型即使在训练时表现良好,在实际应用当中却差强人意。为了降低这种差异,以往的工作会试图设计一种使用困难样本进行训练的机制,然而因为接下来的第二个问题导致效果并不是很好。数据集中存在大量漏标注的正确答案
开放域问答场景下候选段落的数量往往非常大,标注出问题的全部正确答案几乎是不可能的。在 MSMARCO 数据集中,候选段落的总数为 880 万,但每个问题平均只标注了 1.1 个正确答案。研究人员发现,在使用对偶模型检索出的首条结果中,70% 的错误结果其实是漏标的正确答案。这种情况下,构造训练数据中的强负例时很容易引入假负例(false negative),给模型训练带来负面影响。相对于开放域全集,人工标注训练数据的规模小、成本大
尽管目前已有较多大规模的问答数据集,但是相较于开放域的用户问题来说,仍然是冰山一角。有限的标注数据集无法覆盖到全面的领域和类型,导致模型泛化性差。想要增大标注数据的规模和质量,需要很高的人工成本。
本文提出如下解决方案:
1.跨批次负采样(cross-batch negatives)
2.去噪的强负例采样(denoised hard negative sampling)
在对偶模型的训练中,适当增加训练数据中的强负例的难度,有助于提升模型效果。一般的做法是,从一个排序的候选段落中进行采样,越靠前的负例对模型来说难度越大。但是由于难以避免的漏标注情况,直接采样很大概率会引入假负例。为了解决这一问题,百度使用交互模型(cross-encoder)的打分作为监督信息进行去噪。在选择强负例时,避开交互模型给出高置信度的样例。相较于对偶模型,交互模型具有结构上的优势,能够编码更多的交互信息,从而给出可靠的监督信号,帮助对偶模型选取更可靠的强负例。如表 1 的第三行和第四行所示,去噪的强负例采样可以显著提升模型效果。
3.数据增强(data augmentation)