本文是对发表于NeurIPS'23的文章《Learning to Tokenize for Generative Retrieval》的解读。该文将图像生成领域经典模型Vector Quantized Variational Autoencoder(VQ-VAE)的思想引入生成式检索,提出了一种新的文档标记化优化方法。作为信息检索的新范式,生成式检索通过生成式语言模型为给定查询直接生成文档标识符(docid)的排名列表。为每个文档分配唯一的docid(文档标记化)是这一过程的关键,因为它决定了模型能否准确检索到目标文档。本文提出了一种新的文档标记化学习方法GENRET。GENRET通过离散自动编码技术,将完整的文档语义编码为docid,并通过渐进式训练捕捉docid的自回归特性。同时,本文采用多种聚类技术稳定训练过程。基于文档集合的语义嵌入,生成式检索模型能够根据docid与查询的语义相关性,生成最相关的docid。实验表明,GENRET在NQ320K数据集上达到了最先进水平,并在MS MARCO和BEIR数据集上优于基线方法,展现了出色的泛化能力。
MPIWasm运行时基于Wasmer运行时实现,支持:(1)通过将基于MPI的HPC应用程序编译为Wasm来实现高性能执行;(2)通过零复制内存操作实现 MPI 调用的低开销;(3)支持高性能互连,例如Infiniband和Intel OmniPath;(4)通过在Wasm和主机MPI库间提供转换层使得开发人员无需了解目标 HPC 系统上存在的特定MPI库或网络互连。文档检索任务可以被形式化为从文档集合D中检索与查询q相关的文档d的过程。集合中的每个文档d被视为由一系列标记组成的纯文本,表示为d,标记的总数为|d|。对于生成式检索模型来说,直接生成通常较长的原始文档是具有挑战性且计算效率低下的。因此,大多数现有方法依赖于一种称为文档标记化的技术,将文档d表示为较短的离散标记序列,称为docid,表示为z。每个标记z是一个从1到K的分类变量,docid的长度为M。图1展示了一个M=3、K=64的文档标记化示例。
作为原始文档的另一种序列表示,标记化后的docid z应满足以下两个属性:(i) 不同的文档具有简短但不同的docid;(ii) docid尽可能多地捕捉其关联文档的语义信息。由于z是一个固定长度且通常比原始文档d短的序列,因此模型的训练和推理可以更加简单和高效。作者采用标记化模型Q,将文档d映射为docid z。在将每个文档标记化为docid z后,生成式检索模型P通过自回归生成查询q到docid z的映射,以检索相关文档。
MPIWasm运行时基于Wasmer运行时实现,支持:(1)通过将基于MPI的HPC应用程序编译为Wasm来实现高性能执行;(2)通过零复制内存操作实现 MPI 调用的低开销;(3)支持高性能互连,例如Infiniband和Intel OmniPath;(4)通过在Wasm和主机MPI库间提供转换层使得开发人员无需了解目标 HPC 系统上存在的特定MPI库或网络互连。传统上,文档标记化是通过固定的预处理步骤完成的,例如使用文档标题或从BERT获得的层次聚类结果。然而,研究表明,这些临时的文档标记化方法通常无法完整地捕捉文档的语义。例如,网页的标题可能不存在或与网页内容的相关性较低,基于聚类的docid则在离散空间中随意定义文档。本文提出了一种基于离散自动编码的新标记化学习方法GENRET,用于以端到端的方式学习语义docid。图1概述了所提出的方法。GENRET包含三个主要组件:(i) 基于序列到序列的检索模型P,(ii) 文档标记化模型Q,以及(iii) 重构模型R。文档标记化模型将文档d标记为唯一的离散变量z,检索模型被训练为在给定查询q的情况下生成潜在变量z。此外,重构模型用于从z重新生成原始文档,以确保z尽可能捕捉到原始文档的语义。参考Google在2022年提出的DSI,本文采用编码器-解码器结构的Transformer来实现生成式检索模型。具体来说,给定输入文本d,基于T5的标记化模型对d和docid前缀z进行编码,并在时间步生成文档d的潜在表示。然后,标记化模型为每个文档生成一个标记。在每个时间步,本文定义了一个外部嵌入矩阵,称为Codebook,其中K是离散潜在空间的大小,包含K个嵌入向量,每个向量可以视为一个分段的中心点。基于Codebook,离散潜在变量通过点积查找计算得出。
图1:文档通过分词模型生成离散标记序列示例。
标记化模型Q生成的docid需要捕捉文档的语义信息。为此,本文提出了一种自动编码训练方案,其中设计了一个重构模型R,通过使用z预测文档d来迫使标记化模型Q生成可以重构回原始文档的docid z。重构模型的输入是docid z,输出是其关联的文档d。首先使用标记化模型的Codebook将z嵌入到表示矩阵中。然后,本文设计了一个基于检索的重构模型,通过从文档集合D中检索与输入z对应的目标文档d来进行预测。MPIWasm运行时基于Wasmer运行时实现,支持:(1)通过将基于MPI的HPC应用程序编译为Wasm来实现高性能执行;(2)通过零复制内存操作实现 MPI 调用的低开销;(3)支持高性能互连,例如Infiniband和Intel OmniPath;(4)通过在Wasm和主机MPI库间提供转换层使得开发人员无需了解目标 HPC 系统上存在的特定MPI库或网络互连。表1: NQ320K 数据集上的表现结果。实验结果表明GENRET优于预训练密集检索模型 GTR 以及之前最好的生成式检索方法 NCI。
在本论文中,作者在三个广泛使用的文档检索数据集上进行了实验:NQ320K、MS MARCO 和 BEIR。在 NQ320K 数据集中,作者将测试集划分为已见测试集和未见测试集,以评估模型在未标注文档上的泛化能力。在 NQ320K 数据集中,作者使用 Recall@1、Recall@10、Recall@100 和 MRR@100 作为评估指标。在 MS MARCO 数据集中,使用 Recall@1、Recall@10、Recall@100 和 MRR@10 作为评估指标。在 BEIR 数据集中,使用 nDCG@10 作为主要指标,并计算多个下游子数据集的平均 nDCG@10 作为总体指标。
作者考虑了三种类型的基线:稀疏检索方法、密集检索方法和生成式检索方法。稀疏检索基线包括:BM25和 DocT5Query。密集检索基线包括:DPR、ANCE、Sentence-T5、GTR和 Contriever。生成式检索基线包括:GENRE、DSI、SEAL、CGR-Contra、DSI-QG、NCI和 Ultron。以下三个基线使用与 GENRET 相同的预训练语言模型 T5:(i) Sentence-T5 输出连续向量,(ii) GENRE 输出文档标题,(iii) DSI-QG 输出聚类 ID,而 GENRET 使用所提出的标记化方法学习输出 docid。表2: MS MARCO数据集上的表现结果。实验结果表明GENRET 优于生成式检索方法如 Ultron 和密集检索基线如 ANCE 和 Sentence-T5。
表1展示了在 NQ320K 数据集上的实验结果。GENRET 优于强大的预训练密集检索模型 GTR 以及之前最好的生成式检索方法 NCI,在 NQ320K 数据集上确立了新的最先进水平。此外,作者的结果显示,现有的生成式检索方法在已见测试集上表现良好,但在未见测试集上落后于密集检索方法。例如,NCI 在已见测试集上的 MRR@100 达到 76.8,高于 GTR-Base 的 65.3。然而,在未见测试数据上,NCI 的表现不如 GTR-Base。相比之下,GENRET 在已见和未见测试数据上都表现良好。这一结果突显了 GENRET 通过端到端优化学习具有语义的离散 docid,从而结合了密集和生成式检索优势的能力。
表2展示了在 MS MARCO 数据集上的实验结果。GENRET 优于生成式检索方法如 Ultron 和密集检索基线如 ANCE 和 Sentence-T5。此外,先前的生成式检索方法(如 GENRE 和 Ultron)使用了标题和 URL 等元数据,虽然在 NQ320K 数据集上表现不错,但在 MS MARCO 数据集上相较于密集检索和稀疏检索方法表现较差。这可能是因为 NQ320K 数据集检索的是维基百科文档,元数据如标题能够有效捕捉文档的语义。而 MS MARCO 数据集是一个网页搜索数据集,元数据往往无法充分表征文档,从而导致生成式检索模型的性能下降。相比之下,GENRET 学会了生成能够有效增强生成式检索模型的语义 docid。表3展示了在 BEIR 的六个数据集上基线方法和 GENRET 的实验结果。这些数据集代表了多样的信息检索场景。GENRET平均来说优于强大的基线方法,包括 BM25 和 ST5 GPL,并且相比之前最好的稀疏和密集检索方法取得了有竞争力的结果。此外,GENRET 相比使用标题作为 docid 的先前生成式检索模型 GENRE 显示出显著改进。与此同时,GENRE 在某些数据集上表现较差,如 BEIR-Covid 和 BEIR-SciDocs。这可能是因为这些数据集中的文档标题未能充分捕捉其语义内容。
表3: BEIR数据集上的表现结果。实验结果表明GENRET 优于 BM25、ST5 GPL 和 GENRE。
MPIWasm运行时基于Wasmer运行时实现,支持:(1)通过将基于MPI的HPC应用程序编译为Wasm来实现高性能执行;(2)通过零复制内存操作实现 MPI 调用的低开销;(3)支持高性能互连,例如Infiniband和Intel OmniPath;(4)通过在Wasm和主机MPI库间提供转换层使得开发人员无需了解目标 HPC 系统上存在的特定MPI库或网络互连。该论文介绍了一种用于生成式检索的文档标记化学习方法,称为 GENRET。该方法通过离散自动编码方法将文档标记化为简短的离散表示(即 docid),从而确保生成的 docid 的语义。作者提出了渐进式训练方法和两种多样化聚类技术来增强模型的训练。在各种文档检索数据集上的实验证明了该方法的有效性。编辑:申海洋
原文作者:Weiwei Sun, Lingyong Yan, Zheng Chen, Shuaiqiang Wang, Haichao Zhu, Pengjie Ren, Zhumin Chen, Dawei Yin, Maarten de Rijke, Zhaochun Ren