霸榜MS MARCO!基于Transformer的混合列表感知排序模型

2023-11-08 22:30

本文主要是介绍霸榜MS MARCO!基于Transformer的混合列表感知排序模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

33d110698a4035ec800b951470279037.gif

©PaperWeekly 原创 · 作者 | Maple小七

单位 | 北京邮电大学

研究方向 | 自然语言处理

本文是当前 MS-MARCO Passage Ranking 排行榜 Top1 模型的刷榜策略之一,该模型由阿里达摩院于今年 3 月提交,目前已霸榜 3 个月。

0d24fdd87cb556d28abcd360f430a8df.png

论文题目:

HLATR: Enhance Multi-stage Text Retrieval with Hybrid List Aware Transformer Reranking

论文链接:

https://arxiv.org/abs/2205.10569

代码链接:

https://github.com/Alibaba-NLP/HLATR

601c60df3153bb94cf6fe4335becfe99.png

Introduction

由于数据规模和计算资源的限制,当前最先进的文本检索系统通常遵循召回-排序范式 (retrieve-then-reranking),在预训练语言模型的背景下,召回和精排模型通常被实例化为下图所示的表征式模型 (representation-focused) 和交互式模型 (interaction-focused)。

34526f7579dbdceeb9fa7f684d9ad842.jpeg

虽然在检索系统中,召回和排序模型是紧密关联的,但是目前已发表的工作大多仅致力于优化整个检索系统的单个模块。也就是说,面向召回模型的优化工作大多不会考虑排序模型的性能,反之亦然。虽然最近也出现了一些联合优化召回模型和排序模型的工作,比如百度的 RocketQAv2、ERNIE-Search 和微软的 AR2,但是这些工作的出发点都是利用表达能力更强的排序模型来提升召回模型的性能。

那么,除了采用知识蒸馏、对抗训练等方式来联合优化召回模型和排序模型,还有没有其他有效的方式让召回和排序这两个模块得到充分的交互呢?

直观上来说,虽然召回模型和排序模型的优化目标本质上都是估计 query 和 document 的语义相关性,但是由于训练过程中负样本规模和特征的差异,召回模型更偏向于学习粗粒度相关性,而排序模型更偏向于学习细粒度相关性。这里需要注意的一点是,细粒度相关性和粗粒度相关性并无优劣之分,它们的关系实际上有点像模型鲁棒性和模型泛化性的关系。对于单模型来说,从千万级的文档库中直接找到最相关的文档是一项非常困难的任务,因此我们需要将这个困难的任务分解成两个更简单的子任务:召回、排序,从而实现细粒度相关性建模任务和粗粒度相关性建模任务的解耦。

基于上述分析,我们可以猜想召回和排序的特征实际上是有一定的互补性的,如果我们可以有效地融合召回和排序的特征并用来对候选文档集合做进一步的重排序,是不是能够进一步提升整个系统的排序性能呢?

基于此,本文作者在传统的召回-排序两阶段检索系统的基础上,提出了第三个重排阶段,该阶段融合了粗粒度召回特征和细粒度排序特征,进一步改善 query 和候选 document 的相关性打分,从而提升整个系统的检索性能。本文作者将该三阶段重排序的模型命名为混合列表感知排序模型 (Hybrid List Aware Transformer Ranker, HLATR) ,如下图所示。

406e36fb5dca82d89036ec814dde3fe5.jpeg

4db0c89e1a26ba5a617178fdbee5683e.png

HLATR

HLATR 采用 Transformer Encoder 作为特征融合结构,我们知道原始 Transformer 的输入包含编码字词信息的 token embedding 和编码位置信息的 position embedding,但这并不代表 Transformer 只能编码文本序列。在 HLATR 中,作者将排序模型顶层输出的文档表示向量作为 HLATR 输入的 token embedding:

ae41bbee7c975a31d679e5d96b2ce0fb.png

将召回模型输出的排序序号 (ranking order) 作为对应文档的 position embedding:

d55c1b85c0eef943a50e22ccc408522d.png

其中 和 均为参数矩阵。在训练过程中,Transformer Encoder 的底层输入为 :

fad94d08f016edb1880c0b84ecb088df.png

其中 为候选文档集合的大小。HLATR 的训练目标是优化输入文档的打分排序,因此每个位置的输出为 和 的打分:

57d256419f3c3dd414d9e37a1e6d1c4b.png

得到打分之后,作者采用 listwise 的对比损失优化模型:

cf2702cc8a12980977465ba281df8430.png

综上,HLATR 模块的整体结构如下图所示:

3f54a0fd160fb0fadd0201d869b345ab.jpeg

从训练目标来看,HLATR 实际上也是一种排序模型,因为它和第二阶段的排序模块一样,输入为 query 和 document list,输出 query 和每个 document 的相关性打分。但与第二阶段的排序不同,HLATR 排序阶段有如下的三大特点:

1. HLATR 的输入并不是纯文本,而是召回模型输出和排序模型输出的融合特征,因此比起第二阶段排序的 token 级输入,HLATR 的输入是高度语义化的。另外值得注意的是,HLATR 引入召回特征的方式是和召回模型本身无关的,我们可以随意地将召回模型替换为 BM25 这种非神经网络的字面匹配模型。

2. 得益于 Transformer 的特征交互能力,HLATR 输入的文档特征之间从底层开始就进行了充分的特征交互。因此 HLATR 做的是 listwise 级别的相关性建模,而第二阶段排序的相关性建模大多只能做到对输出的相关性打分进行 pointwise 或 pairwise 建模。

3. 得益于高度语义化的文档表示,HLATR 有着更大的负样本规模。HLATR 输入的每个位置都表示着一个文档,由于 Transformer 支持长序列输入,在训练过程中我们可以考虑输入召回模型返回的整个文档集合,而不是像第二阶段排序那样还需要随机抽样负样本来构造训练集。

e807bbb88c5ac25ecd340cac177e0d0a.png

Experiments 

3.1 Setup

作者在 MS-MARCO 的 Passage Ranking 数据集和 Document Ranking 数据集上进行了对比实验。为了验证 HLATR 的有效性和鲁棒性,作者选择了不同的召回模型和排序模型进行实验,其中召回模型包括了稀疏检索模型 BM25 和稠密检索模型 coCondenser 以及 ANCE,排序模型包括了 BERT-base/large 和 RoBERTa-base/large。实验参数如下表所示,可以发现比起召回和排序,HLATR 本身的参数量并不大。

6865daa2658f7594a0bb73ed1aa52b86.jpeg

另外,为了验证上述思考和猜想的正确性,作者也为 HLATR 设置了一个简单的基线策略:将召回打分和排序打分做一个线性加权融合,该策略被命名为 WCR (Weighted Combination of two-stage Ranking):

4150a9c29f35d255d888966897dcbe47.png

3.2 Results

作者的实验结果如下表所示,我们可以发现在不同的实验设置下,HLATR 的性能均超越了两阶段排序结构和 WCR 策略,说明 HLATR 带来的性能提升对模型类型和模型大小来说均是鲁棒的。另外,WCR 策略实际上也能够带来小幅度的稳定提升,这也说明我们之前做出的猜想是正确的。

b0c0110574cee70df20eff4ab5df184c.jpeg

3.3 Analysis

3.3.1 Multi-stage Feature Coupling

为了进一步分析召回特征和排序特征的重要性,作者对 HLATR 的两部分特征输入进行了消融实验。如下表所示,w/o retrieval 表示去掉了召回模型提供的排序特征,w/o ranker 表示将排序模型提供的特征替换为了召回模型输出的 query 表示和 document 表示的 Hadamard 乘积。从结果上可以看到,去掉任何特征都会影响 HLATR 的性能,其中去掉排序特征的影响更大。

86338ec4e06b9a47aff95e882b00a7f4.jpeg

3.3.2 Architecture analysis of HLATR

作者也对 HLATR 的模型结构和训练目标进行了对比实验,如下表所示,HLATR-linear 表示将 transformer 结构替换成了一个简单的 ReLU 激活的两层 MLP,HLATR-bce 表示将对比损失替换为了如下的二元交叉熵损失:

23f23b86796ec6df898cd310051b232a.png

可以发现,将模型结构替换为了简单的 MLP,模型性能仅仅掉了 0.2pp,说明 HLATR 的收益并不主要依赖于引入的额外参数以及模型结构的改进。将训练目标替换为二元交叉熵损失后,模型性能有近 1pp 的跌幅,这说明比起分类损失,对比损失更适合用于排序任务,因为排序任务本质上其实是一个类别极度不平衡的分类任务。

2cfd8f2e03ec40e12335d8ca57cbec66.jpeg

3.3.3 Computational Cost of HLATR

使用 HLATR 进行重排序的一个可能的担忧是它可能会带来额外的时间开销,因此作者也测试了加入 HLATR 的检索系统不同模块的计算开销。如下图所示,HLATR 的时间开销实际上远低于召回和排序的时间开销,因为 HLATR 的参数量少且高度并行化,所以 HLATR 增加的推理时间是可以忽略不计的。

f086e565618ecf4fdd11f46e0167f1cf.jpeg

3.3.4 Hyper-parameters of Transformer

最后,作者对 HLATR 所使用的 Transformer 的参数量进行了消融实验。如下表所示,作者对比了不同层数和不同维度的模型表现,可以发现增加层数并没有取得更优的表现,而增加维度反而会有负面作用,这说明 HLATR 并不需要很大的参数量,较小的层数和较小的维度就可以取得很好的表现,这也许是因为 HLATR 输入的特征已经高度语义化的缘故。

6af7e96b698002238ba93cfd5da85303.jpeg

22be8e8eda960214923834d41c152213.png

总结

总体来说,HLATR 最大的收益点主要就在于文档间充分的 listwise 建模,这更接近于排序任务的真实目标。不可否认的是,HLATR 的有效性和实用性都相当不错,但不知道作者是否受到了 SIGIR 2020 的 SetRank 的启发。因为 HLATR 的设计和 SetRank 非常相似,甚至可以说是 SetRank 在预训练时代下的简化版,HLATR 中以位置编码的形式引入召回特征的设计,以及文档特征矩阵的计算方式与 SetRank 几乎是完全一样的,只是编码器和损失函数不同而已,然而 HLATR 并没有引用 SetRank 原文。

更多阅读

525697d8bf9a05dede34740feb89519e.png

c650600dd05cc00a4285cdbc6c1b5e3b.png

fa9a0f2e5b22a35b38bfa0c07b02110b.png

025a6eb4011860222b375ba020e2ad7d.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

0e0a778e23dc72947638f1f9daf99413.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

a591935cdb4f7422e5d78d52e5600eca.jpeg

这篇关于霸榜MS MARCO!基于Transformer的混合列表感知排序模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/372868

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

hdu 1285(拓扑排序)

题意: 给各个队间的胜负关系,让排名次,名词相同按从小到大排。 解析: 拓扑排序是应用于有向无回路图(Direct Acyclic Graph,简称DAG)上的一种排序方式,对一个有向无回路图进行拓扑排序后,所有的顶点形成一个序列,对所有边(u,v),满足u 在v 的前面。该序列说明了顶点表示的事件或状态发生的整体顺序。比较经典的是在工程活动上,某些工程完成后,另一些工程才能继续,此时

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言