信息检索(42):SPLADE v2: Sparse Lexical and Expansion Model for Information Retrieval


发布时间(2021)


摘要

对于Splade进行修改:
1)修改池化机制
2)引入蒸馏模型
在神经信息检索 (IR) 中,正在进行的研究旨在改进排名管道中的第一个检索器。学习密集嵌入以使用有效的近似最近邻方法进行检索已被证明效果很好。与此同时,人们对学习文档和查询的稀疏表示的兴趣日益浓厚,这些表示可以继承词袋模型的理想属性,例如术语的精确匹配和倒排索引的效率。最近推出的 SPLADE 模型提供了高度稀疏的表示和与最先进的密集和稀疏方法相比具有竞争力的结果。在本文中,我们以 SPLADE 为基础,并提出了一些在有效性和/或效率方面的重大改进。更具体地说,我们修改了池化机制,对仅基于文档扩展的模型进行了基准测试,并引入了使用蒸馏训练的模型。我们还报告了 BEIR 基准测试的结果。总体而言,SPLADE 取得了显着的进步,在 TREC DL 2019 上的 NDCG@10 上提高了 9% 以上,从而在 BEIR 基准上取得了最先进的结果。

1 引言

BERT [7] 等大型预训练语言模型的发布震撼了自然语言处理和信息检索领域。这些模型表现出通过简单微调就能适应各种任务的强大能力。2019 年初,Nogueira 和 Cho [19] 在 MS MARCO 段落重新排序任务上取得了领先优势,为基于 LM 的神经排序模型铺平了道路。由于严格的效率要求,这些模型最初被用作两阶段排名流程中的重新排名器,其中第一阶段检索(或候选生成)使用依赖倒排索引的词袋模型(例如 BM25)进行。虽然 BOW 模型仍然是强大的基线 [31],但它们受到长期存在的词汇不匹配问题的困扰,相关文档可能不包含查询中出现的术语。因此,有人尝试用学习(神经)排名器取代标准 BOW 方法。设计这样的模型在效率和可扩展性方面带来了一些挑战:因此需要一种可以离线完成大部分计算并且在线推理速度快的方法。使用近似最近邻搜索的密集检索已经显示出令人印象深刻的结果 [11, 16, 24, 30],但由于缺乏明确的术语匹配,仍然可以从 BOW 模型中受益(例如通过结合两种类型的信号)。因此,最近人们对学习查询和文档的稀疏表示越来越感兴趣 [1、4、8、9、18、21、32、33]。通过这样做,模型可以继承 BOW 模型的理想属性,例如(可能潜在的)术语的精确匹配、倒排索引的效率和可解释性。此外,通过对隐式或显式(潜在的、上下文化的)扩展机制进行建模——类似于 IR 中的标准扩展模型——这些模型可以减少词汇不匹配
在本文中,我们基于 SPLADE 模型 [8],并提出了几项改进/修改,这些改进/修改在有效性或效率方面有所提升:(1)只需修改 SPLADE 池化机制,我们就能大幅提高效率;(2)同时,我们提出了一种无需扩展查询的模型扩展。这种模型本质上更高效,因为所有内容都可以预先计算并离线索引,同时提供仍然具有竞争力的结果;(3)最后,我们使用蒸馏技术 [12] 来提升 SPLADE 性能,在 MS MARCO 段落排名任务以及 BEIR 零样本评估基准 [26] 上取得了接近最佳结果的结果。

2 相关工作

基于 BERT Siamese 模型 [25] 的密集检索已成为问答和 IR 中候选生成的标准方法 [10, 11, 13, 16, 24, 30]。虽然这些模型的主干保持不变,但最近的研究强调了训练策略的关键方面,以获得最先进的结果,从改进的负采样 [11, 16] 到蒸馏 [12, 16]。 ColBERT [14] 更进一步:推迟的 token 级交互允许有效地将模型应用于第一阶段检索,受益于建模细粒度交互的有效性,但代价是存储每个(子)术语的嵌入 - 引发了人们对该方法对于大型集合的实际可扩展性的担忧。据我们所知,很少有研究讨论使用近似最近邻 (ANN) 搜索对 ​​IR 指标的影响 [2, 27]。由于 MS MARCO 集合的规模适中,结果通常通过精确的强力搜索来报告,因此无法表明有效计算成本
密集索引的替代方案是基于词的索引。Zamani 等人在标准 BOW 模型的基础上首次引入了 SNRM [32]:该模型通过对表示进行 ℓ1 正则化,将文档和查询嵌入到稀疏的高维潜在空间中。然而,SNRM 的有效性仍然有限,其效率也受到了质疑 [22]。
受 BERT 成功的启发,人们尝试将知识从预训练的 LM 转移到稀疏方法。 DeepCT [4–6] 专注于学习完整词汇空间中的语境化术语权重 - 类似于 BOW 术语权重。但是,由于与文档相关的词汇保持不变,这种方法无法解决词汇不匹配问题,正如使用查询扩展进行检索所承认的那样 [4]。 此问题的第一个解决方案是使用生成方法(例如 doc2query [21] 和 doc2queryT5 [20])扩展文档以预测文档的扩展词。文档扩展会向文档添加新术语 - 从而解决词汇不匹配问题 - 并重复现有术语,通过提升重要术语来隐式执行重新加权。

3 第一阶段排序的稀疏词汇表示

在本节中,我们首先详细描述了[8]中最近提出的SPLADE模型。

3.1 SPLADE

排序损失

学习稀疏表示

整体损失

3.2 Pooling strategy

3.3 SPLADE document encoder

3.4 Distillation and hard negatives

先训练一个,然后用训练的重新生成训练数据。
第二次训练的结果作为最终结果。
蒸馏训练分两步进行:
(1)我们首先使用[12]生成的三元组训练SPLADE第一阶段检索器以及交叉编码器重排序器1;
(2)在第二步中,我们使用经过蒸馏训练的 SPLADE 生成三元组(从而提供比 BM25 更难的负样本),并使用前面提到的重新排序器生成 Margin-MSE 损失所需的分数

4 实验设置与结果

我们在 MS MARCO 段落排名数据集 2 上以完整排名设置训练和评估了我们的模型。该数据集包含约 880 万段段落,以及数十万个带有浅层注释的训练查询(平均每个查询约 1.1 个相关段落)。开发集包含 6980 个带有相似标签的查询,而 TREC DL 2019 评估集为 43 个查询提供了来自人工评估员的细粒度注释 [3]。

4.1 最大池化的影响

4.2 文档扩展

4.3 蒸馏

5 结论

在本文中,我们通过重新考虑其池化机制并使用标准训练技术(例如神经 IR 模型的蒸馏)来构建 SPLADE 模型。我们的实验表明,最大池化技术确实提供了显着的改进。其次,文档编码器是一种有趣的模型,适用于更快的检索条件。最后,蒸馏后的 SPLADE 模型在 MS MARCO 和 TREC DL 2019 上的表现接近最先进的模型,同时在零样本评估上明显优于最近的密集模型。

  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值