大数跨境
0
0

无监督零样本稠密检索的精确方法

无监督零样本稠密检索的精确方法 涛哥论道
2023-08-10
2
导读:论文《无监督零样本稠密检索的精确方法》阅读笔记,作者提出的HyDE确实是创新,需要实际实验效果。

虽然稠密检索已经在各种任务和语言中证明是有效和高效的,但在没有相关性标签的情况下创建有效的完全零样本稠密检索系统仍然具有挑战性。在本文中,我们认识到零样本学习和编码相关性的困难。相反,我们通过假设性文档嵌入(HyDE)进行转换。给定一个查询,HyDE首先零样本指导一个遵循指令的语言模型(例如InstructGPT)生成一个假设文档。该文档捕获相关模式,但是不真实的,可能包含错误细节。然后,一个非监督对比学习编码器(例如Contriever)将文档编码为一个嵌入向量。该向量识别语料库嵌入空间中的一个邻域,其中基于向量相似性检索到相似的真实文档。我们的实验表明,与最先进的无监督稠密检索器Contriever相比,HyDE的效果显著提高,在各种任务(例如网页搜索,问答,事实验证)和语言(例如斯瓦希里语,韩语,日语)上表现强劲,可与微调的检索器媲美。

论文原文链接:2212.10496.pdf (arxiv.org)

一、简介

稠密检索(Lee等人,2019;Karpukhin等人,2020)经过预训练的Transformer语言模型出现后(Devlin等人,2019)已经被广泛研究。研究人员研究了度量学习问题,例如训练损失(Karpukhin等人,2020)和负采样(Xiong等人,2021; Qu等人,2021),并介绍了知识蒸馏(Qu等人,2021; Lin等人,2021b; Hofstätter等人,2021)。后来的工作研究了语言模型针对检索的第二阶段预训练(Izacard等人,2021; Gao和Callan,2021; Lu等人,2021; Gao和Callan,2022; Liu和Shao,2022)。

稠密检索的普及可部分归因于非常高效的最小内积搜索(MIPS)在非常大规模(十亿级)上的成功研究(Johnson等人,2017)。

在Thakur等人(2021)为神经检索社区明确定义了零样本(稠密)检索的任务之后,稠密检索的普及程度有所增加。他们的BEIR基准包含了不同的检索任务。该论文及许多后续研究通常考虑迁移学习设置,在这个设置中,稠密检索器首先在一个多样化和丰富的有监督语料库和查询集(即MS-MARCO (Thakur等人,2021; Wang等人,2022; Yu等人,2022))上进行学习。 

但是,正如Izacard等人(2021)所指出的,这样一个大规模的集合几乎不可能被假定存在。因此,在本文中,我们研究在没有相关性标签的情况下构建有效的稠密检索系统的问题。与Izacard等人(2021)类似,我们也不假设可以访问测试时间语料库以进行训练。这是一个更实际的设置,可以防止对测试语料库进行过度工程化。

按Sachan等人(2022)的定义,我们的设置大致可考虑为“无监督”。严格地说,与Sachan等人(2022)一样,唯一的监督存在于LLM中,在学习遵循指示的过程中。

二、方案

2.1 基础知识

稠密检索模型使用内积相似度对查询和文档进行相似度建模。给定查询q和文档d,它使用两个编码器函数enc_q和enc_d将它们映射到d维向量v_q,v_d,其内积用作相似度度量。

sim(q, d) = 〈enc_q(q), enc_d(d)〉 = 〈v_q, v_d〉 

对于零样本检索,我们考虑L个查询集Q_1,Q_2,...,Q_L及其相应的搜索语料库,文档集D_1,D_2,...,D_L。表示第i个查询集的第j个查询为q_ij。我们需要在不访问任何查询集Q_i,文档集D_i或任何相关性判断r_ij的情况下完全定义映射函数enc_q和enc_d。

零样本稠密检索的困难正好在于等式1:它需要学习两个嵌入函数(分别用于查询和文档),将它们嵌入到同一个嵌入空间,其中内积捕获相关性。在没有相关性判断/分数来进行拟合的情况下,学习变得不可行。

2.2 HyDE

HyDE通过仅在捕获文档-文档相似性的文档嵌入空间中执行搜索来规避上述学习问题。这可以使用无监督对比学习轻松学习(Izacard等等,2021; Gao等等,2021; Gao和Callan,2022)。我们直接将文档编码器enc_d设置为对比编码器enc_con。

f = enc_d = enc_con

这个函数也表示为f以简化。这个无监督的对比编码器将在所有传入的文档语料库中共享。

v_d = f(d) ∀d ∈ D_1 ∪ D_2 ∪ ... ∪ D_L

要构建查询向量,我们还考虑一个遵循指令的LM,InstructLM。它获取一个查询q和一个文本指令INST,并遵循它们执行INST指定的任务。为简单起见,表示为:

g(q, INST) = InstructLM(q, INST)

现在我们可以使用g将查询映射到“假设”文档,将INST设置为“写一段回答问题的段落”。生成的文档不是真实的,可能会也很可能会在事实上不着陆(Brown等人,2020; Thoppilan等人,2022)。我们只需要它捕获相关模式。这是通过生成文档来完成的,即提供示例。关键的是,这里我们将相关性建模从表示学习模型卸载到一个泛化能力显著更强,更自然和更有效的NLG模型(Brown等人,2020; Ouyang等人,2022)。生成示例也替换了显式建模相关性分数。

我们现在可以使用文档编码器f对生成的文档进行编码。写成:

E[v_q_ij] = E[f(g(q_ij, INST_i))]

正式地,g定义了一个基于链式法则的概率分布。在本文中,我们简单地考虑期望值,假设v_q_ij的分布是单模的,即查询不模棱两可。我们通过从g中采样N个文档[d_1,d_2,...,d_N]来估计等式5。

ˆv_q_ij = 1/N ∑ ˆd_k ∼ g(q_ij,INST_i) f(d_k)

= 1/N Σ^N_k=1 f(ˆd_k)

我们还将查询视为一个可能的假设,

ˆv_q_ij = 1/(N+1) [Σ^N_k=1 f(ˆd_k) + f(q_ij)]

在{f(d)|d∈D_i}的所有文档向量集之间计算内积。检索出最相似的文档。这里,编码函数f充当有损压缩器,输出稠密向量,其中额外细节被过滤并从向量中移除。它进一步将假设向量定向到实际语料库和真实文档。整个HyDE系统如图1所示。

三、Contriever工作原理

Contriever 是一种无监督的稠密文本检索模型,其工作原理如下:

1. 语料库编码:Contriever 使用预训练语言模型(例如RoBERTa)编码语料库中的每一篇文档,获取其稠密向量表示。具体来说,对于每篇文档,Contriever 会将其分词,然后将每个词元输入预训练语言模型获取对应的词元向量。最后通过mean-pooling将所有的词元向量平均求和作为该文档的稠密向量。

2. 对比学习:Contriever 使用双塔(two-tower)结构,语料库中的每一篇文档都会通过两个相同但独立的编码器进行编码,得到两个稠密向量。然后最大化两个向量之间的余弦相似度,最小化与其他负样本向量的相似度。通过在大规模无标注语料上进行该对比学习,编码器能够学习编码语义相似性。

3. 查询编码:在线处理查询时,Contriever 使用与训练时相同的编码器结构对查询进行编码,得到查询的稠密向量。

4. 相似度检索:计算查询向量与语料库中所有文档向量的余弦相似度,返回相似度最高的Top K篇文档。

综上,Contriever 的优势在于无需监督标注数据,通过对比学习获得对语义相似性的强表达能力,从而实现语义相似性检索。但编码器能力仍有限制,无法完全理解语言,因此会存在一定误匹配情况。

四、实验

作者在11个查询集上评估了HyDE,涵盖网页搜索、问答、事实验证等任务,以及斯瓦希里语、韩语、日语等语言。

在网页搜索任务的TREC DL19和DL20数据集上,HyDE相比无监督的Contriever在所有指标上都有显著提升,甚至超过了经典的BM25模型。与微调后的模型相比,HyDE的表现也非常竞争。

在BEIR低资源数据集上的问答、事实检验等任务中,HyDE同样明显提升了Contriever的全部指标。HyDE通常优于微调后的ANCE和DPR模型,虽然后两者在MS MARCO上进行了微调。只有在个别数据集上,Contriever-FT优于HyDE。

在非英语检索的Mr. TyDi数据集上,尽管多语言设置给较小的对比编码器和生成模型带来更大挑战,HyDE仍能提升mContriever的效果,并超过在MS-MARCO上微调的其他模型。但与微调后的mContriever-FT存在一定差距。

总体而言,实验显示HyDE可以显著提升无监督Contrastive模型的零样本检索效果,在多任务多语言上都展现出强大的潜力。这验证了HyDE通过生成模型围绕监督信号进行因式分解的有效性。

五、分析

生成语言模型和对比编码器组成了HyDE的骨干。在这一部分,我们研究改变其实现的效果。具体来说,我们考虑较小的语言模型和微调的编码器。我们在TREC DL19/20上进行研究。

5.1 不同生成模型的效果

在表4中,我们展示了使用其他遵循指令的语言模型的HyDE。特别是,我们考虑了一个520亿参数的Cohere模型和一个110亿参数的FLAN模型。总体而言,我们观察到所有模型相比无监督的Contriever都有改进,更大的模型带来更大的改进。在撰写本文时,Cohere模型仍处于实验阶段,没有公开太多细节。我们只能暂时假设训练技术也可能在性能差异中起到一定作用。

5.2 带微调编码器的HyDE

首先,带微调编码器的HyDE不是预期用法:当可用标注极少时,HyDE的力量和不可替代性才更大。在这里,我们有兴趣了解HyDE嵌入如何影响微调编码器。在表4中,我们看到,性能较弱的指令LM可能会对整体微调检索器性能产生负面影响。提醒一下,Contriever-FT是在TREC DL19/20上受监督微调的。性能下降仍然很小。另一方面,我们也观察到InstructGPT模型能够进一步提高性能,特别是在DL19上。这表明编码器可能仍然存在某些因素没有被微调编码器捕获,而只被生成模型捕获。

六、结论

在论文结束时,我们鼓励读者花一点时间反思HyDE模型。将其与其他最近见过的检索器或reranker进行比较。这些其他模型在体系结构、训练方法和/或任务上可能有所不同,但它们可能都涉及建模查询和文档对之间的相关性得分。稠密检索器考虑向量相似性,而自注意力reranker回归分数。相比之下,HyDE中的相关性概念是由NLG模型和语言生成过程捕获的。我们演示在许多情况下,HyDE可以与学习建模数值相关性得分的稠密检索器一样有效。所以,数值相关性只是语言理解的一个统计工件吗?随着NLU和NLG模型快速变得更强大,一个弱检索器在理论上是否就足够了?匆忙得出结论是不明智的;需要做更多工作来获取答案。通过这篇论文,我们只想提出这些问题。

具体而言,在本文中,我们介绍了LLM和稠密编码器/检索器之间的一种新的交互范式。我们演示了相关性建模和指令理解的一部分可以委托给更强大、更灵活的LLM。因此,对相关性标签的需求被消除了。我们很高兴看到这如何能够推广到更复杂的任务,如多跳检索/问答和会话搜索。

我们认为,尽管不一定贯穿搜索系统的整个生命周期,但HyDE在实践中也很有用。在搜索系统生命周期的最开始阶段,使用HyDE提供服务与微调模型相当的性能,这是其他无关系统无法提供的。随着搜索日志的增长,可以逐步推出受监督的稠密检索器。随着稠密检索器变得更强大,更多查询将被路由到它,只有较少见的和新出现的查询才会进入HyDE后端。

【声明】内容源于网络
0
0
涛哥论道
李鹏涛,行业知名AI技术专家,清华大学创新领军工程博士,2012年加入京东,任高级总监,领导京东核心系统的研发,2017年任居家事业部产品研发部总经理。先后荣获全球架构师峰会优秀出品人,全球软件开发大会优秀讲师,物流信息化风云人物等奖项。
内容 114
粉丝 0
涛哥论道 李鹏涛,行业知名AI技术专家,清华大学创新领军工程博士,2012年加入京东,任高级总监,领导京东核心系统的研发,2017年任居家事业部产品研发部总经理。先后荣获全球架构师峰会优秀出品人,全球软件开发大会优秀讲师,物流信息化风云人物等奖项。
总阅读0
粉丝0
内容114