信息检索(InformationRetrieval,IR)自互联网诞生以来就具有不可动摇的地位。如何从海量数据中找到用户需要的信息是当前的研究热点。当前流行的IR方法是retrieve-then-rank策略。在检索算法中,比较常用的是基于倒排索引或最近邻搜索的,其中基于对比学习的双编码器(DE)是目前性能最好的模型。最近,谷歌研究院在论文《Transformer Memory as a Differentiable Search Index》中提出了一种替代架构,研究人员在该架构中采用了序列到序列(seq2seq)学习系统。该研究表明,信息检索可以通过单个Transformer完成,其中有关语料库的所有信息都编码在模型的参数中。这项研究介绍了可区分搜索索引(DSI),这是一种学习文本到文本的新范例。DSI模型将字符串查询直接映射到相关文档;换句话说,DSI模型只使用自己的参数直接回答查询,大大简化了整个检索过程。此外,本文还研究了如何表示文档及其标识符的变化、训练过程的变化以及模型和语料库大小之间的相互作用。实验表明,通过适当的设计选择,DSI明显优于双编码器模型等强基线,并且DSI还具有强大的泛化能力,在零样本设置中优于BM25基线。论文链接:https://arxiv.org/pdf/2202.06991.pdfDSI架构与DE的比较:论文第一作者、谷歌高级研究员YiTay表示:在这种新范式中,检索到的一切映射到一个易于理解的ML任务上级。索引是模型训练的一个特例,它不再依赖于外部不可微分的MIPS操作来进行检索。这样更容易统一模型。可微分搜索索引(DSI)背后的核心思想是在单个神经模型中完全参数化传统的多阶段检索然后排序管道。为此,DSI模型必须支持两种基本操作模式:索引:DSI模型应该学会将每个文档内容d_j与其对应的docidj(文档标识符:docid)相关联。本文采用一种简单的序列到序列的方法,将文档标记作为输入并生成标识符作为输出;检索:给定输入查询,DSI模型应返回候选docid的排名列表。本文是通过自回归生成来实现的。在这两个操作之后,DSI模型可用于索引文档语料库,在可用的标记数据集(查询和标记文档)上进行微调,然后用于检索相关文档——所有这些都在一个统一的模型中完成。与先检索后排序方法相比,DSI模型允许进行简单的端到端训练,并且可以轻松用作更大、更复杂的神经模型的可微分组件。DualEncoder(DE)概述,它有两个独立的步骤,编码和检索。IndexingstrategyInputs2Target:我们将其构造为doc_tokens→docid的seq2seq任务,以直接输入目标的方式将docids绑定到documenttoken。Targets2Inputs:从标识符生成文档标记,即docid→doc标记。直观上,这相当于训练一个以docid为条件的自回归语言模型。双向:它在相同的联合训练设置中训练Inputs2Targets和targets2input。附加一个前缀标记,让模型知道任务执行的方向。表示用于检索的Docids。基于seq2seq的DSI模型中的检索是通过解码给定的输入查询docid来完成的。如何有效解码很大程度上取决于docids在模型中的表示方式。在本节中,研究人员探索了多种表示docid的可能方法以及如何处理解码。非结构化原子标识符:表示文档的最简单方法是为每个文档分配一个任意(并且可能是随机的)唯一整数标识符,该研究将其称为非结构化原子标识符。研究人员使用这些标识符的一个明显方法是学习标识符的概率分布。在这种情况下,模型被训练为为每个唯一的docid(|Ndocuments|)发出一个logit。为了适应这一点,该研究扩展了标准语言模型的输出词汇表,如下所示:结构化标识符。在这个标识符下,通过依次解码一个docid字符串来进行检索。解码时,使用beamsearch得到最好的docid。然而,使用这种策略获得top-k排名并不容易。然而,研究人员可以梳理整个docid空间并获得每个docid给定查询的可能性。语义结构化标识符:其目标是自动创建满足以下属性的标识符:(1)docids应该捕获一些语义信息,(2)docids应该被结构化以在每个解码步骤后有效地减少搜索空间。给定一个要索引的语料库,将所有文档聚类到10个簇中。每个文档都分配了一个标识符,其集群从0到9编号。下表提供了此过程的伪代码:实验结果所有DSI模型都使用标准的预训练T5模型配置进行初始化。配置名称和相应的型号参数编号为:Base(0.2B)、Large(0.8B)、XL(3B)和XXL(11B)。本研究通过实验验证了上述各种策略的效果。下面的表3显示了NQ10K、NQ100K和NQ320K的微调检索结果,表4显示了零样本检索结果。对于零样本检索,模型仅在索引任务上进行训练,而不是检索任务,因此模型看不到标记为query→docid的数据点。下面的图4显示了NQ320K上的结果。总的来说,研究人员发现直接索引方法效果最好,而倒排索引方法由于docid反复暴露于不同的token而难以训练。他们还发现,当性能显着下降到超过64个标记时,较短的文档长度似乎效果很好,这表明当有大量文档标记时,可能更难有效地优化或记忆。最后,我们还发现将集合处理或停用词预处理应用于文档标记没有额外的好处。下面的图3绘制了三种方法的缩放性能(在对数尺度上),DE、具有朴素ID的DSI和具有语义ID的DSI。其中DSI(naive)可以从base到XXL的尺度变化中获益,看起来还有提升的空间。同时,DSI(语义)在开始时与DEbase具有同等竞争力,但随着规模的增加表现更好。DE模型在较小的参数化下基本稳定。下面的图5显示了修改索引比例对检索到的样本的影响。研究人员发现,索引和检索任务之间的相互作用显着影响优化过程。将r的值设置得太高或太低通常会导致性能不佳。他们发现32的指数量表通常表现良好。
