查看原文
其他

SIGIR2021之IDCM模型: 文档内部级联选择段落服务于文档排序

刘聪NLP NLP工作站 2023-11-28

往期推荐



SIGIR 2021论文筛选

小布助手对话短文本语义匹配-周星星分享

Unilm对话生成之夸夸式闲聊机器人

中文摘要数据集汇总

超详细中文注释的GPT2新闻标题生成项目


本次分享的论文IDCM来自于SIGIR 2021会议,论文全名为Intra-Document Cascading: Learning to Select Passages for Neural Document Ranking,即文档内部级联:学习选择段落服务神经网络的文档排序

论文:https://arxiv.org/abs/2105.09816

代码:https://github.com/sebastian-hofstaetter/intra-document-cascade


Abstract

目前,在神经文档重新排序中,利用大型的预训练语言模型的方法,已经取得了很好的效果。例如:使用BERT模型,对查询和文档中所有的段落进行计算,然后通过池化或附加的Transformer层来聚合输出,得到文档排序。这种方法的主要缺点是,由于BERT模型要计算文档中的每个段落的成本很高,查询延迟很高。并且,计算成本和延迟会随着文档长度的变长而变高
该论文为了解决上述挑战,采用文档内部级联策略,在运行一个复杂并且高效果的排序模型(ETM,Effective Teacher Model)之前,使用一个高效率的模型(ESM,Efficient Student Model)进行候选文档中多余段落的删除。并且发现,通过从ETM模型中提取知识来训练ESM模型是最好的方法。这种剪枝策略,使得ETM模型只需要在较小的段落集进行运算,而且段落的大小不随文档长度而变化。
在MS MARCO和TREC数据上实验表明,内部文档级联排序模型(ICDM,Intra-Document Cascaded Ranking Model )相比于最先进技术,即基于bert的文档排序模型,具有基本相同的效果,并且查询延迟降低了400%以上。
下面主要针对ICDM模型结构、训练优化、参数设置以及效果分析进行详细介绍。

The Intra-Document Cascaded Ranking Model

IDCM模型结构

IDCM模型是基于文档内部得级联体系结构进行设计的。对于每个查询-文档对(query-document pair),首先使用一个高效率模型(ESM模型)从文档中选择一些候选段落,然后对所选段落利用一个更复杂且高效果的模型(ETM模型)来生成段落分数,最后通过段落分数汇聚层(Passage Score Aggregator)得到文档分数及排序结果。如下图所示:
IDCM模型结构图
IDCM模型的输入为查询q和文档d。首先将文档被重叠窗口(部分重叠的窗口大小为w,重叠系数为o,其中o < w)分成多个子单元,即多个段落。
  
其中,每个段落包含   个token,与该段的前和下一个段落有   个token是相同的, 并且第一个段落和最后一个段落进行作了填充。
IDCM模型使用一个高效率模型(ESM)对查询q的每个段落 ∈ 进行评分。为了级联评分策略并且删除大量的无效段落,IDCM模型通过ESM模型选择了段落评分中最高的k个段落:
  
注意:为了利用级联方法带来的高效率的优势,需要保持  集合尽可能小。
接下来,被选中的段落将按一种更复杂且高效果的模型(ETM)进行二次排序打分:
  
注意,ESM模型和ETM模型之间的token embedding参数是共享的。并且使用线性加权计算对应文档的相关性得分。换句话说,就是将ETM模型排序最高的 个段落进行一个全连接层,来产生文档相关性得分,具体如下:
  
其中,   是一个  的权重矩阵,用于段落分数的线性权重。

IDCM模型训练及优化

IDCM框架包含多个不可微分操作,使得进行端到端的方法训练优化变得困难。因此,论文将IDCM模型分成具有三个不同目标的子任务,进行pipeline方式训练,如下图所示。
IDCM模型训练策略图
三个任务步骤如下:(1)在段落排序阶段训练ETM模型;(2)将ETM模型训练扩展到文档级排序;(3)利用知识精馏训练段落筛选的ESM模型。每个步骤的训练完成都是基于验证集的效果,并且使用最佳模型chekpoint作为下一个步骤的模型初始化参数。
Step 1: Optimizing ETM for Passage Ranking.
第一步训练是在段落集合上训练ETM模型。训练采用RankNet模型中的pair-wise排序损失函数。更详细地说,对于训练集中的查询 ,给定的正负两个段落p−和p+,使用二元交叉熵损失函数对pair-wise段落排序进行优化如下:
  
其中,   是sigmoid激活函数。
Step 2: Extending the ETM Optimization to Full-Document Ranking.
第二步训练是将ETM模型训练扩展到文档级排序。段落排序模型不足以支撑文档检索,主要有以下两个原因:(1)对段落聚合的参数(例如:   )是需要训练的;(2)段落集合和文档集合会对哪些内容相关具有不同的假设。
因此,在第二步训练中,使用一个完整文档的所有段落进行评分,并取排名靠前的 个段落进行聚合层训练。使用在上一步训练得到的最有模型对该步骤的ETM模型进行参数初始化。依然使用二进制交叉熵损失函数,但是该步骤使用的输入为查询q和一对正负文档d−和d+。
这一步骤主要是继续微调ETM模型参数并学习聚合层  的参数。
Step 3: Optimizing ESM for Passage Selection using Knowledge Distillation.
第三步是利用知识精馏训练段落筛选的ESM模型。也就是,在训练ESM模型时,让ETM模型扮演教师的角色,指导ESM模型训练。此步骤的损失函数为
  
其中,   表示文档   中的所有段落,   表示知识蒸馏的损失函数。
函数  负责计算所有段落得分的平均值。由于数据集中没有段落排序的标签,因此ESM模型训练采用的是ETM模型创造的标签作为唯一训练信号源。
在实验中,尝试了知识蒸馏的多个损失函数,包括:mean square error loss 、cross entropy loss和 nDCG2 loss等。并且nDCG2 loss效果最优,可能是由于nDCG2 loss是一种基于增益的损失函数,在nDCG2损失函数计算中,只将增益值分配给按ETM模型排序在前 段落,其他段落没有增益。而ESM模型的目的就是为了找到top-k的段落集合。

IDCM模型实现

ESM: The CK Model.
ESM模型是级联架构中的第一个模型,要求模型具有较高的效率。因此,论文使用了CK模型,它是ConvKNRM模型的一个变体(结合了卷积神经网络及内核池化方法)。
ConvKNRM模型使用多个不同窗口大小的卷积层,对查询q和文档d中的n-gram进行软匹配,而CK模型仅采用单个卷积层为段落的上下文化表示进行编码。也就是,CK模型仅使用单层CNN转换查询q和段落d的表示,并用余弦函数计算它们的相似性,然后被不同分布参数的高斯核激活:
  
其中,   和   分别表示查询q中第i个token和段落p中第j个token。  和  为高斯核参数。
每个内核代表一个特征提取器,后面进行一个池化操作,进行特征筛选,再对结果用单个线性层(  )加权求和,如下所示:
  
ETM: The BERT Ranking Model.
BERT段落排序模型的输入为查询 和段落 的拼接序列,然后获取BERT的[CLS]token的向量进行一个全连接层,以产生排序得分,如下:
  
其中,“;”表示拼接。

Experiment Design

为了提高效率,在整个实验中使用了PyTorch的混合精确训练和推理。优化器为Adam优化器,BERT模型的学习率为7∗10e−6。由于CK模型包含随机初始化参数,因此使用更高的学习率10e-5进行训练。模型采用早期停止策略,停止参考验证集上的最佳nDCG@10值。
由于6层的DistilBERT已经被证明在训练时间减半的情况下与原始BERT有一个接近的结果,因此BERT模型初始化采用的是6层的DistilBERT进行初始化。
对于段落切割的窗口,将部分重叠的窗口大小为w设置为50,总窗口大小设置为64,重叠系数o为7。在初步研究中,发现更大的窗口大小并不能改善All-BERT有效性结果。
CK模型筛选段落个数设置为3,并将卷积输出的维度设置为384和128。

Results

RQ1:IDCM模型能否在低计算成本和低查询延迟下达到与all-bert排序器相当的效果?
通过表1可以发现,在低计算成本和低查询延迟下,可以达到与all-bert排序器相当的效果。
通过表2可以看出,采用蒸馏的方式训练ESM模型的效果远远好于直接训练ESM模型。
通过表3可以看出,蒸馏训练时,采用nDCG2损失函数的效果最优。
RQ2:ESM模型从文档中选择的段落的数量 ,是如何影响效率-效果的?
k值越大,效果越好,但效率越低。当k为3或4时,基本可以达到all-bert的效果,并且效率有了极大的提升。
发现缩短all-bert模型文档长度(2000->512),可以快速的降低时间,但效果会变差。并且不如ICDM模型的效果及效率。
RQ3:在查询延迟方面,IDCM模型与基线相比如何?
IDCM模型中ESM模型选择的段落越多,查询延迟越高。但比基础的all-bert模型要低很多。
RQ4:IDCM模型的段落选择个数对于相同情况下BERT模型的最高分段落的召回率是如何?
越相关的文档,CK能够提供更准确的段落选择。

总结

该论文主要采取两阶段进行文档排序,先使用高效率模型对文档进行段落筛选,再使用高效果模型对候选段落排序,最后获取文档排序结果。该论文的pipeline思路很常见,主要有意思的地方在于模型训练,如果将每一步的训练紧密关联,并且使用蒸馏的手段,提高高效率模型的精度。
鸽了这么久,终于回来了~~~~~~
喜欢的的同学们,记得点赞,关注,转发哟!!!

往期推荐

SIGIR 2021论文筛选

超详细中文注释的GPT2新闻标题生成项目

Unilm对话生成之夸夸式闲聊机器人

中文摘要数据集汇总

小布助手对话短文本语义匹配-周星星分享


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存