信息检索(十一):Nonparametric Decoding for Generative Retrieval

Nonparametric Decoding for Generative Retrieval

  • 摘要
  • 1. 引言
  • 2. 相关工作
  • 3. 非参数解码
    • 3.1 关键优势
    • 3.2 Base Np
    • 3.3 异步 Np
    • 3.4 对比 Np
    • 3.5 聚类
  • 4. 实验设置
    • 4.1 基线
    • 4.2 数据集和评价指标
    • 4.3 构建CE 的细节
  • 5. 实验结果
    • 5.1 普通解码 vs Np 解码
    • 5.2 非参数解码的优点
    • 5.3 什么是构建良好的上下文嵌入矩阵 (CE)?
  • 6. 结论
  • 7. 局限性
  • 补充知识
    • 1. 解码器词汇嵌入
    • 2. 非参数化词汇嵌入 vs 普通词汇嵌入
    • 3. 插值分布
  • 参考资料


原文链接:https://aclanthology.org/2023.findings-acl.801/
(2023)


摘要

生成检索模型仅依赖于其模型参数中编码的信息,无需外部记忆,其信息容量是有限且固定的。为了克服这个限制,我们提出了非参数解码(Np Decoding),它可以应用于现有的生成检索模型。 Np 解码使用非参数上下文化词汇嵌入(外部存储器)而不是普通词汇嵌入作为解码器词汇嵌入。通过利用上下文词汇嵌入,生成检索模型能够利用参数和非参数空间。对文档检索任务中 9 个数据集(8 个单跳和 1 个多跳)的评估表明,将 Np 解码应用于生成检索模型可以显着提高性能。我们还表明,Np 解码具有数据效率和参数效率,并且在零样本设置中显示出高性能。

1. 引言

文本检索通常被表述为从给定输入查询的大型语料库中查找最相关的项目。使用编码器将文档和查询映射到公共向量空间并执行最近邻搜索的双编码器方法已成为文本检索任务中的常见做法(Karpukhin 等人,2020;Wu 等人,2020;Ni等,2021)。尽管其性能高且受欢迎,但它存在嵌入空间瓶颈(Luan et al, 2021; Lee et al, 2022);由于固定大小的嵌入,表达能力有限,并且当嵌入在 L2 或内积空间中交互时,会错过嵌入之间的细粒度交互。
此外,双编码器方法需要大量存储空间来保存所有文档嵌入。

最近提出的双编码器方法的替代方案是使用生成检索模型(Cao 等人,2021;Tay 等人,2022;Bevilacqua 等人,2022;Lee 等人,2022;Wang 等人,2022;Lafferty 和Zhai,2003;Croft 和 Lafferty,2010)。它是一种自回归模型,通过逐个标记生成目标序列(例如标题、段落、文档 ID)来检索最相关的序列。
它通过参数空间中的交互克服了嵌入空间瓶颈。此外,由于没有任何外部存储器,因此存储效率高。
然而,这种全参数化模型的信息容量往往受到其大小的限制,因为它必须将所有信息编码在其参数中(Tay 等人,2022 年;Roberts 等人,2020 年)。

为此,我们提出非参数解码(Np Decoding),一种用于生成检索模型的解码方法。它使用非参数上下文化词汇嵌入而不是普通词汇嵌入作为解码器词汇嵌入。上下文词汇嵌入是编码器的输出嵌入,它构建非参数密集向量空间并在训练步骤中被冻结,而普通词汇嵌入是可训练的模型词汇嵌入,构建模型的参数空间。因此,通过使用 Np 解码,生成检索模型不必仅仅依赖于其自身的参数,而是可以利用上下文化词汇嵌入(外部记忆)中编码的周围信息。请注意,虽然它像双编码器方法一样利用密集向量空间,但与该方法不同,它不存在嵌入空间瓶颈,因为它是生成检索模型的变体,并且通过仅存储聚类质心嵌入来节省存储空间(第 3.5 节)。

如图 1 所示,任何生成检索模型都可以通过将训练和推理步骤中的解码器词汇嵌入从普通嵌入矩阵替换为上下文嵌入矩阵 (CE) 来合并 Np 解码。通过替换,Np 解码比普通解码有两个主要优点。首先,生成检索模型不仅可以利用其参数空间,还可以利用其非参数空间。
非参数空间由 Np 解码 (CE) 的解码器词汇嵌入、非参数和上下文感知嵌入构建,可捕获周围信息。其次,CE 允许一个令牌具有多个令牌嵌入,这与令牌具有唯一嵌入的普通词汇嵌入不同。因此,CE 的解码器词汇嵌入空间变得更具表现力和细粒度(图 1 右侧)。由于拥有一个结构良好的 CE 对于实现高性能非常重要,因此我们提出了三种不同的编码器(CE 编码器),用于输出添加到 CE 的上下文词汇嵌入(第 3 节)。
我们证明了具有对比学习的 CE 编码器可以显着提高性能。
我们论文的主要贡献如下:
1)我们提出了非参数解码(Np Decoding),这是一种简单而新颖的解码方法,可以应用于所有现有的生成检索模型。 9个数据集的实验结果表明,Np Decoding可以利用参数空间和非参数空间显着提高现有生成检索模型的性能;单跳 R 精度提高 4.4%,多跳数据集 Recall@2 提高 5.4%。
2)我们展示了各种 CE 编码器,并表明通过对比学习训练 CE 编码器可以进一步大幅提高性能。
3)我们展示了使用 Np Decoding 的生成检索模型具有数据效率和参数效率,并且在零样本设置中表现出更高的性能。

普通词汇嵌入和 CE 的区别
1)上下文词汇嵌入是 encoder 的输出嵌入,该 encoder 构建非参数密集向量空间并在 train 期间被冻结
2)普通词汇嵌入是可训练的模型词汇嵌入,可构建模型的参数空间

Np 解码的优点
1)CE:非参数化并且可以捕获上下文信息
2)CE:允许一个 token 有多种嵌入

2. 相关工作

生成式检索
生成检索模型通过生成项目的子/标识符或整个序列来检索相关项目。GENRE(Cao 等人,2021)通过使用限制波束搜索生成标题来检索文档。 DSI(Tay 等人,2022)为语料库中的每个项目分配一个唯一的 ID,并通过生成最相关文档的 ID 来检索该项目。 SEAL(Bevilacqua 等人,2022)使用 FMIndex 从语料库中的任何位置检索任何跨度。 GMR(Lee et al, 2022)通过生成整个序列来检索最相关的项目。
尽管性能很高,但由于生成检索模型仅依赖于存储在其参数中的信息,因此信息容量是有限且固定的。为了克服这个限制,我们提出了用于生成检索模型的非参数解码(Np Decoding)。通过用非参数上下文化词汇嵌入替换解码器词汇嵌入,该模型不仅能够利用参数空间,还能够利用上下文化嵌入的非参数空间。

内存增强模型
KNN-LM (Khandelwal et al, 2020)、TRIME (Zhong et al, 2022)、RAG (Lewis et al, 2020) 和 RETRO (Borgeaud et al, 2022) 是内存增强模型,它们使用模型和外部存储器的非参数空间。
KNN-LM 仅在推理步骤中通过最近邻分布(上下文嵌入空间中的距离)和模型词汇分布之间的插值来生成下一个标记,从而提高了 LM 性能。
TRIME 扩展了工作范围,以便在训练步骤中也使用目标。 RAG和RETRO首先使用检索器从外部存储器中检索相关文本,并根据检索到的文本生成输出。此外,并发工作 NPM(Min et al, 2022)提出了一种非参数屏蔽语言模型,该模型在外部存储器的非参数分布上运行。
具有非参数解码的生成检索模型也利用外部存储器,但不是将其视为外部源,而是通过利用外部存储器作为解码器词汇嵌入来将其与模型合并。

3. 非参数解码

生成检索是通过在给定输入查询时生成目标标记来检索最相关的检索目标(例如标题、段落、文档标识符)的任务。生成检索模型的训练目标是最大化
在这里插入图片描述
其中 t* 表示检索目标的标记,q 是输入查询。
这种方法在使用低存储空间的同时表现出了高性能(Cao 等人,2021;Tay 等人,2022;Bevilacqua 等人,2022;Lee 等人,2022)。然而,它有局限性,因为模型仅依赖于其自身参数中编码的信息。因此,性能可能受到模型参数中可以存储多少信息的限制(Tay 等人,2022 年;Roberts 等人,2020 年)。
为了解决这个限制,我们提出了一种新的解码方法,称为非参数解码(Np Decoding),用于生成检索。为了将 Np 解码纳入现有的生成检索模型,唯一的修改是在每个生成步骤中使用冻结的上下文词汇嵌入(外部存储器)而不是普通词汇嵌入作为解码器词汇嵌入(图 1)。当给定目标序列作为输入时,嵌入是编码器的输出嵌入。请注意,现有的生成检索模型(例如 GENRE 和 DSI)按原样利用预先训练的语言模型架构:普通词汇嵌入作为解码器词汇嵌入。
在第 3.1 节中,我们展示了使用 Np 解码相对于普通解码的主要优势。对于第 3.2 节到第 3.4 节,我们展示了基本 Np 解码(BASE)和两个变体(ASYNC、CONTRA)的详细信息。在第 3.5 节中,我们描述了如何减少上下文化标记嵌入的数量。

3.1 关键优势

与普通解码相比,使用 Np 解码有两个主要优点。
首先,具有 Np 解码的生成检索模型不仅可以利用在其自身参数(参数空间)中编码的信息,还可以在每个解码步骤中利用上下文化词汇嵌入(非参数空间)中编码的周围信息。

其次,使用 Np 解码的生成检索模型比使用普通解码的模型具有更具表现力和更细粒度的解码器词汇嵌入空间。如图 1 所示,Np 解码允许单个令牌根据令牌的周围信息具有多个上下文化令牌嵌入,用于解码器词汇嵌入(例如,同一令牌“Cape”具有两个不同的上下文化嵌入),而普通解码允许单个令牌仅嵌入一个令牌。请注意,我们不会保存所有可能的令牌嵌入,而是通过实际策略减少要保存的令牌数量而不降低性能(第 3.5 节)。
在这里插入图片描述

3.2 Base Np

在这项工作中,我们提出了三种不同的 Np 解码(基本非参数解码和两个变体),我们根据上下文嵌入编码器(CE 编码器)的特性将这三种不同的 Np 解码命名为。 CE Encoder 是一种编码器,当给定目标序列(例如标题、文档 ID、段落)作为输入时,它会输出上下文化的标记嵌入。上下文化的标记嵌入被添加到 CE,即具有 Np 解码的生成检索器的解码器词汇嵌入矩阵。 BASE 非参数解码 (BASE) 使用最基本的 CE 编码器,即预训练的 T5 编码器。在生成检索训练步骤之前,使用 CE 编码器的输出嵌入构建一次 CE。请注意,在生成检索的训练步骤中,CE 编码器被冻结(图 1)。

3.3 异步 Np

异步非参数解码(ASYNC)使用CE编码器,在生成检索训练步骤期间,该编码器每N个时期被生成检索器的编码器异步替换。
通过定期更换 CE 编码器,ASYNC 在 CE 编码器和生成检索器之间比 BASE 具有更高的一致性。每次替换(N epoch)后,我们使用替换的 CE 编码器的输出嵌入构建一个新的 CE,并恢复训练生成检索器。请注意,在生成检索训练步骤中,CE 编码器被冻结,但只是被替换,并且只有生成检索器是可训练的。对于所有实验,我们保持 N = 20。有关 N 如何影响性能的详细信息,请参阅附录 C.3。

3.4 对比 Np

对比非参数解码 (CONTRA) 使用经过令牌级对比学习训练的 CE 编码器。 CE编码器利用Np解码构建生成检索模型的非参数解码器词汇空间CE。
令牌级对比学习(等式 2)是在生成检索任务(等式 1)上训练 T5 之前的中间步骤。具有对比损失的双编码器检索模型表现出了高性能,因为该模型学习构建结构良好的全局嵌入空间并将空间正则化为均匀(Ni et al, 2021;Gao et al, 2021b;Gao and Callan,2022;伊扎卡德等人,2022)。类似地,对比学习的CE Encoder比BASE的CE Encoder构造了更有意义的稠密向量空间(生成检索器的非参数空间)。
如图 2 所示,给定一个查询,我们训练 T5 解码器 3 的第一个输出嵌入,其中目标序列的所有标记作为正对,CE4 中的其余标记作为负对。在使用 token 级对比学习训练 T5 后,我们构建了 CE 及其编码器作为 CE Encoder,然后进一步在生成检索任务上训练模型。

在这里插入图片描述
在这里插入图片描述
第一步 token 级的对比学习
给定对 {(q, t)} 的训练数据集,其中 q 是查询文本,t 是由多个标记 ti (1 ≤ i ≤ k 其中 k是目标的长度),我们将训练数据集分成 k 个单独的对 {(q, ti)} 来构建查询令牌的训练数据集。使用查询令牌数据集,当给定查询 q 作为生成检索器的输入时,我们将 T5 解码器的第一个输出令牌嵌入训练为接近 T + 中的所有令牌嵌入(图 2)。 T + 是一组正标记嵌入5(构成一个检索目标的标记),T − 是一组负标记嵌入6(CE 中的所有其他标记嵌入)。目标是最小化对比损失:
在这里插入图片描述
其中 ⟨ , ⟩ 是两个嵌入之间的内积值。我们还尝试了每个目标有一个标记作为正数的对比损失和批量负数损失(附录 A.1),其中多个标记(公式 2)作为正数的对比损失显示了最高的性能,我们假设这是因为正片具有相似的内容信息编码。

第二步 生成式检索
在使用 token 级对比学习训练 T5 后,我们使用训练好的编码器作为 CE 编码器并构造一个新的 CE。然后,我们使用新构建的 CE 作为解码器词汇嵌入来进一步训练生成检索任务的模型

3.5 聚类

为了构建生成检索器的解码器词汇嵌入矩阵 CE,我们首先使用 CE 编码器提取每个目标标记的所有上下文嵌入。由于保存所有嵌入需要大量存储空间,因此我们通过使用聚类并仅保存每个聚类的代表性嵌入来减少嵌入的数量。具体来说,我们对同一令牌的上下文嵌入(可能具有不同的周围上下文)执行 k 均值聚类,并仅保留 k 个质心嵌入作为令牌的解码器词汇嵌入。对于所有实验,我们保持 k = 5。当 k = 5 时,与保存所有上下文化令牌嵌入相比,仅需要 0.3% 的存储空间。此外,与普通词汇嵌入 (k = 1) 相比,它只需要多 0.34GB 的存储空间,这与保存模型参数的存储空间 (3GB) 相比是微不足道的。详细信息参见附录A.2。

4. 实验设置

在第 4.1 节和第 4.2 节中,我们描述了用于实验的基线和数据集。在 4.3 节中,我们展示了如何根据我们与哪个生成检索器结合来构建 CE。我们实验了超过 9 个数据集。结果表明,通过简单地替换解码策略,生成检索显示出显着更高的性能。有关设置的更多详细信息,请参阅附录 B

4.1 基线

BM25(Robertson 和 Zaragoza,2009)是一个依赖于高效算法的术语匹配模型。
DPR(Karpukhin 等人,2020)是一种双编码器检索模型,它通过在密集向量空间上执行最近邻搜索来检索最相关的文档。
Sentence-T5 (Ni et al, 2021) 与 DPR 类似,但以 T5 (Raffel et al, 2020) 作为基础模型。
MDR(Xiong 等人,2021b)是通过迭代单个查询将 DPR 扩展到多跳数据集。有关基线的更多详细信息请参见附录 B.2。有关 GENRE (Cao 等人,2021)、DSI (Tay 等人,2022) 和 GMR (Lee 等人,2022) 的描述,请参阅第 2 节。

4.2 数据集和评价指标

我们使用 9 个具有不同特征的数据集:FEVER(Thorne 等人,2018)、AY2(Hoffart 等人,2011)、TREX(ElSahar 等人,2018)、zsRE(Levy 等人,2017)、NQ(Kwiatkowski 等人,2017) 2019)、TQA(Joshi 等人,2017)、WOW(Dinan 等人,2019)、NQ-320k(Tay 等人,2022)和 HotpotQA(Yang 等人,2018)。对于除 NQ-320k 和 HotpotQA 之外的所有数据集,我们使用 KILT 的数据集和语料库(Petroni 等人,2021)。为了与 DSI(Tay 等人,2022)进行比较,我们在 NQ-320k(官方 NQ 数据集的限制设置)上进行了实验;它使用大约 4% 的维基百科作为语料库集。请注意,KILT 版本和官方版本的 NQ 是不同的(详细信息参见 Petroni et al (2021))。 HotpotQA(Yang et al, 2018)是一个开放域多跳问答数据集,需要两个维基百科页面来回答问题。对于 HotpotQA,我们使用了官方版本的数据集和语料库。
我们使用 R 精度来评估 KILT 版本的所有结果,R 精度是一种广泛用于评估 KILT 检索性能的指标。它的计算方式为 r / R,其中 R 是每个出处集中维基百科文档的数量,r 是前 R 个检索到的文档中相关文档的数量。
NQ-320k 和 HotpotQA 的结果使用 Hits@N (N={1, 10}) 进行评估,它显示了排名前 N 个预测的正确文档的比例。

4.3 构建CE 的细节

构建 CE 时选择保存哪些 CE Encoder 的输出嵌入取决于生成检索模型的目标序列。
在这项工作中,我们专注于将 Np 解码应用于使用代表性单词作为目标序列的生成检索模型(DSI 和 GENRE),并将工作扩展到需要整个序列作为目标序列的生成检索模型(GMR 和 SEAL)作为未来的工作。

GENRE 的 Np 解码
由于 GENRE*9 的目标序列是最相关文档的标题,因此我们使用文档标题的输出嵌入构建 CE。为了在标题嵌入中对文档内容进行额外编码,我们将标题和文档内容输入到 CE Encoder 中,并在构造 CE 时仅保存标题的输出嵌入。

DSI 的 Np 解码
由于DSI的目标序列是最相关文档的文档ID,因此我们用文档ID11构建CE。与GENRE*-Np Decoding一样,我们输入文档ID和文档内容作为CE Encoder的输入。

5. 实验结果

在本节中,我们通过比较现有生成检索模型(DSI、GENRE*)在文档检索任务中使用和不使用该方法的性能,展示在生成检索模型中使用 Np 解码的好处。

5.1 普通解码 vs Np 解码

表 1 显示,使用 Np Decoding 可以提高各种数据集上特定于任务的性能,平均提高 4.4%。对于具有大量训练示例(FEVER、TREX)的数据集,这种改进尤其显着,我们假设这是因为模型可以在训练步骤中了解有关新词汇嵌入(CE)的更多信息。
表 2 显示了在 DSI 和 GENRE* 上应用 Np 解码时 NQ-320k 的结果。两种模型的不同之处在于DSI的检索目标是文档ID,GENRE的检索目标是文档标题。 Np 解码将 Hits@1 中的 DSI 和 GENRE 增强了 24.8% 和 9.7%。结果表明,应用 Np 解码对于目标序列的普通词汇嵌入信息较少的情况特别有帮助; DSI 的改进高于 GENRE*。由于文档 ID 是用任意唯一整数构造的,文档 ID 的普通词汇嵌入包含较少的语义信息,并且在预训练步骤中没有看到文档和 ID 之间的关系。相反,由于标题使用自然语言的普通词汇嵌入,因此与文档 ID 相比,嵌入将包含更多信息。
表 3 显示,使用 Np Decoding 还可以提高多跳检索数据集 HotpotQA 上的性能;与 Recall@2 中的 GENRE* 相比,GENRE*-CONTRA 的性能提高了 7%。此外,与 GMR 相比,由于 GENRECONTRA 能够通过使用上下文嵌入生成标题来捕获整个上下文信息,因此它表现出更高的性能和更快的推理速度。此外,与多跳双编码器模型 MDR-(一种没有链接负数、存储体和共享编码器等先进技术的 MDR 变体)相比,GENRE-CONTRA 显示出更高的性能,而与 MDR 相比性能较低,应用了所有技术的模型。我们希望将此类技术应用于生成检索模型也会有所帮助,并将其留作未来的工作。有关结果以及我们如何在多跳设置中扩展 GENRE* 的更多详细信息,请参见附录 C.1。
在这里插入图片描述
在这里插入图片描述

5.2 非参数解码的优点

我们发现使用 Np 解码相对于普通解码进行生成检索有三个主要好处。
(1)参数高效
与使用 T5-large(51.8 和 65.0)训练的 GENRE* 相比,使用 T5-base(54.0 和 66.4)训练的 GENRE*-BASE 在 NQ 和 TQA 方面表现出更高的性能,而 T5large 的参数是 T5-base 的 3.5 倍。
此外,与具有语义字符串 Docid 的 DSI T5-XXL(Tay 等人 (2022) 中表现最佳的模型)相比,DSI-BASE (58.7) 在 NQ-320k Hits@1 中的性能提高了约 1.5 倍 (40.4),该模型具有 14参数是 DSIBASE 的 3 倍,这表明使用 Np 解码的检索模型参数效率更高。

(2)数据高效
尽管训练样本数量只有 5%,但在 NQ 和 TQA 上一起训练的 GENRE*-CONTRA 与在整个 KILT 数据集上一起训练的 GENRE 具有相似的性能。具体来说,在R precision上进行评估时,在NQ/TQA中,GENRE*-CONTRA的得分为60.3/68.9,GENRE的得分为60.3/69.2(附录C.2中的表7)。这些结果表明,使用 Np 解码在资源匮乏的情况下是有利的,因为它可以利用非参数空间中的信息。

(3)zero-shot 稳健性
表 5 显示,在 KILT 零样本设置中,GENRE*-BASE 比 GENRE* 更强,其中两个模型都在 NQ 和 TQA 上一起训练,并在 KILT 中训练步骤中未使用的其他 9 个数据集上进行评估。 GENRE*-BASE 比 GENRE* 平均提高了 3%。
GENRE*-BASE 能够很好地推广到域外,因为它不仅依赖于参数空间中编码的信息,而且还利用了在所有域之间共享的 CE 非参数空间; Np 解码使生成检索模型在零样本设置中更加鲁棒。

(4)低词汇重叠稳健性
为了评估模型在使用 Np 解码时是否利用 CE 中编码的信息,我们测试了 GENRE*-BASE 和 GENRE* 在可能需要利用文档内容信息的查询(与目标序列词汇重叠度较低的查询)上的性能)以便找到答案。我们使用 TF-IDF 分数将 NQ 开发集中的查询分为低重叠集和高重叠集。与低重叠集相比,GENRE* 和 GENRE*-BASE 在高重叠集中的查询上都表现出相对较高的性能,因为即使模型不知道文档,也更容易仅从查询推断出正确的检索目标内容。然而,与 GENRE* 相比,GENREBASE 在低重叠集上的性能高出约 7%,在高重叠集上的性能高出 5%。这表明,通过利用 CE 中编码的信息,具有 Np 解码功能的 GENRE (GENRE*-BASE) 对于低重叠集中的查询具有鲁棒性。 (更多详细信息参见附录 C.2。)

5.3 什么是构建良好的上下文嵌入矩阵 (CE)?

我们发现,在应用 Np 解码时,CE 的选择对性能起着重要作用。我们分析了对于创建结构良好的上下文嵌入矩阵(CE)特别重要的四个因素。有关上下文标记嵌入的各种分析以及每个小节的更多详细信息,请参阅附录 C.3。

(1) 生成检索和CE编码器之间的一致性
表 1 显示,每 N 个周期使用生成检索器的编码器替换 CE 的 ASYNC 往往比使用固定 CE 的 BASE Np 解码表现出更高的性能。此外,更频繁地更新 CE(较小的 N)会带来更好的性能。这些结果表明,生成检索器和 CE 编码器之间具有高一致性可以提高性能。然而,由于每次更新都需要额外的成本来构建CE,因此需要在计算开销和性能之间进行权衡。

(2)对比学习
表 1、2、3 显示 CONTRA 始终表现出比 BASE 更高的性能。结果表明,经过对比损失训练的 CE 编码器往往会利用对比学习的优势来构建更好的 CE,即构建结构良好的整体嵌入空间并将空间正则化为均匀(Ni 等人,2021;Gao 等人,2021a, b;Izacard 等人,2022)。当我们计算 Luniformity(一种检查嵌入空间构建程度的指标)时(Wang 和 Isola,2020),CONTRA (-19.7) 显示的数字低于 BASE (-18.2),其中越低越好。

(3) 上下文嵌入大小
CE 包含每个标记的多个上下文嵌入,其中每个标记的嵌入数量由聚类方法控制。在图 3 中,当每个标记使用最多 5 个上下文嵌入时,性能显示出最高性能,并且使用高于或低于 5 的数字往往会降低 NQ 和 TQA 的性能。这表明词汇嵌入太多可能会分散注意力,而词汇嵌入太少则代表性不够。簇的数量既不能太少也不能太多。

(4) 更长的上下文
我们比较 BASE-Short 和 BASE 之间的结果,其中 BASE-Short 是 BASE 的变体,其中 CE 是使用较短的上下文(只有标题,没有文档内容)作为 CE 编码器的输入来构建的。虽然 BASE 和 BASE-Short 都使用 CE 作为解码器词汇嵌入,但由于 CE 编码器的上下文输入较短,与 BASE 相比,BASE-Short 的上下文词汇嵌入包含较少的上下文信息。因此,如表 4 所示,在成功检索需要文档内容的情况下,BASE-Short 表现不佳。此外,与 BASE(59.4% 和 68.7%)相比,BASE-Short 在 NQ 和 TQA 中的 R precision 较低(58.4% 和 68.2%),这表明性能与 CE(非参数空间)中的上下文信息量之间存在相关性。

6. 结论

在本文中,我们提出了非参数解码(Np Decoding),这是一种新的解码方法,只需将解码器词汇嵌入从普通词汇嵌入替换为非参数上下文化词汇嵌入(编码器的输出嵌入)即可应用于规范生成检索模型。这样,生成检索不仅依赖于其自身模型参数中编码的信息,还可以利用上下文嵌入中编码的信息。在生成检索中使用 Np 解码可显着提高性能,实现更高的数据和参数效率,并在零样本设置中表现出更强的鲁棒性。在未来的工作中,我们计划将 Np 解码应用于任务检索之外的各种其他任务。

7. 局限性

Np Decoding 使用 k 均值聚类来减少上下文嵌入的数量,性能因上下文嵌入的聚类方式而异。由于过程相对不一致,通过其他方法减少数量会使模型性能更加一致。此外,由于聚类步骤,在预构建的 CE 之上添加新的上下文标记嵌入并非易事,因此我们没有在添加或更新新项目的动态语料库设置上执行操作。
Np 解码适用于所有生成检索模型,包括需要所有标记嵌入的 GMR 或 SEAL,但是,我们在这项工作中专注于以代表性输出作为检索目标的生成检索模型。此外,虽然它是适用于所有编码器-解码器模型的通用方法,但我们重点关注将该方法应用于 T5。

补充知识

1. 解码器词汇嵌入

解码器的词汇嵌入是指在自然语言处理任务中,解码器模型将输入信息转换为输出信息时使用的词汇表的表示方式。这些词汇嵌入是将单词或词组映射到高维空间中的向量,以便模型可以更好地理解和处理文本数据。

非参数化的上下文化词汇嵌入是指一种不依赖于固定参数数量的词汇嵌入方法,它们能够根据上下文动态地调整嵌入向量。这意味着每个单词的嵌入向量在不同的上下文中可能会有所不同,以更好地捕捉单词在不同语境下的含义和语义关系。这种嵌入方法通常需要额外的外部存储或计算资源来存储和计算上下文信息。

2. 非参数化词汇嵌入 vs 普通词汇嵌入

非参数化的上下文化词汇嵌入与普通的词汇嵌入在几个方面有所不同:

1)参数化性质:
普通的词汇嵌入通常是参数化的,它们是通过训练神经网络模型学习得到的固定维度的嵌入向量。
非参数化的上下文化词汇嵌入则不依赖于固定数量的参数,它们可以动态地根据上下文调整嵌入向量,因此不受固定维度的限制。
2)上下文化:
普通的词汇嵌入对于每个单词的表示都是静态的,即它们的嵌入向量在不同的上下文中是固定的。
非参数化的上下文化词汇嵌入能够根据单词在不同的上下文中的语义变化动态地调整嵌入向量,以更好地反映单词在不同语境下的含义。
3)存储和计算需求:
普通的词汇嵌入通常可以使用较少的存储空间和计算资源,因为它们是固定维度的参数。
非参数化的上下文化词汇嵌入可能需要更多的存储空间和计算资源来存储和计算上下文信息,以便根据需要动态调整嵌入向量。
总的来说,非参数化的上下文化词汇嵌入相对于普通的词汇嵌入更灵活,能够更好地捕捉单词在不同语境下的语义关系,但也可能需要更多的计算资源。

3. 插值分布

问题:这句话讨论了KNN-LM(K Nearest Neighbors Language Model)如何改进语言模型(LM)的性能。在这种方法中,在推断(inference)阶段,KNN-LM通过在上下文嵌入空间中找到最近邻分布(通过计算上下文的嵌入向量之间的距离),然后通过这个最近邻分布和模型词汇分布进行插值来生成下一个标记(token)。简单来说,它结合了两种不同的分布来生成下一个标记,以提高语言模型的性能。?
答案:这句话的意思是,在KNN-LM中,生成下一个标记的过程涉及两个步骤:
1)最近邻分布:首先,算法会根据当前上下文的嵌入向量,在上下文嵌入空间中找到与该上下文最相近的邻居。这些邻居可能是在训练数据中具有类似上下文的句子或片段。
2)模型词汇分布:然后,算法会考虑语言模型已经学到的词汇分布,这是在训练过程中根据语料库数据学到的词语概率分布。

然后,KNN-LM会通过插值的方式将这两个分布结合起来,生成下一个标记。具体来说,它会考虑两个分布的权重,并根据这些权重在这两个分布中进行加权平均,以确定下一个标记的最可能值。
举例来说,假设当前上下文是"我喜欢吃",而最近邻分布表明在这个上下文下,"苹果"和"橙子"是最相似的邻居,而模型词汇分布表明在这个上下文中,“香蕉"的概率最高。那么KNN-LM可能会通过对这两个分布进行插值,决定下一个标记是"苹果”、“橙子"还是"香蕉”,权重取决于在插值过程中分配给最近邻分布和模型词汇分布的比例。

什么是插值?
插值是一种数学操作,用于在给定一组已知数据点的情况下,估计在这些数据点之间的其他位置的值。在这种情况下,我们有两个分布,即最近邻分布和模型词汇分布。插值操作将这两个分布结合起来,产生一个介于它们之间的新分布,以生成下一个标记。

参考资料

【1】【2】【3】chatgpt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPFoxy的正确打开方式

IPFoxy是一个全球动静态代理IP服务器软件,为全球用户提供优质的大数据代理服务,促进网络业务高校进行。目前拥有千万真实纯净IP资源,覆盖超过220个国家和地区,汇聚成优质海外代理池,支持http、https、socks5多种协议类…

visa卡支持美区苹果Apple id绑定

苹果手机我相信大家都很熟悉,所以很多小伙伴都需要绑定卡来进行一系列的体验,这里我使用的是559666 在绑定之前我们需要先开一张visa卡,点击获取 开卡步骤如下,按图片步骤即可开卡 卡片信息在卡中心cvc安全码里面

ATFX汇市:日本首相称尚未摆脱通缩问题,日央行加息时点或再度推迟,日系货币普跌

ATFX汇市:关于日本是否已经“克服通缩”的消息出现巨大矛盾。3月2日,外媒援引知情人士表示,日本政府正在讨论正式宣布经济已经克服通缩,日本首相岸田文雄或内阁成员之后可能会在政府会议和新闻发布会上公开发布这一声明&#xff0…

在win10下搭建linux环境的LORAWAN服务器chirpstack

文章目录 前言一、安装WSL第一步以管理员模式打开PowerShell第二步 安装WSL第三步 设置Linux用户信息 二、将WSL迁移到其他磁盘第一步 输入wsl -l -v查看ubuntu状态第二步 迁移第三步 注销原来的Ubuntu第四步 从D:\wsl-ubuntu导入 三、安装chirpstack第一步 安装git第二步 下载…

wxss和css的区别

目录 1. 语法差异 2. 尺寸单位 3. 样式导入 WXSS 示例代码: CSS 示例代码: 4. 组件和属性的支持 总结 WXSS (WeiXin Style Sheets) 和 CSS (Cascading Style Sheets) 都是用于描述文档样式的语言,但它们在微信小程序和网页开发中有一些…

JavaScript进阶:js的一些学习笔记-原型

文章目录 js面向对象1. 原型2. constructor属性3. 对象原型4. 原型继承5. 原型链 js面向对象 构造函数 属性和方法 function Person(name,age){this.name name;this.age age;this.play ()>{console.log(玩!);} } const a new Person(1,12),b new Person(2…

redis中的zset的原理

一、zset有序集合的原理 如果有序集合元素个数少于128个且元素值小于64字节,使用压缩列表(新版本已经废弃压缩列表改用listpack数据结构了) 如果不满足上述条件,采用跳表作为redis的底层数据结构 二、压缩列表 1.由连续内存块组…

漏洞复现-金和OA系列

漏洞复现-金和OA系列 🗡金和OA jc6 RCE金和OA GetTreeDate.aspx SQL注入【新】金和OA RssModulesHttp.aspx接口SQL注入漏洞复现C6-GetSgIData.aspx SQL注入金和OA C6 GetTreeDate.aspx SQL注入金和OA C6 GetTreeDate.aspx未授权金和OA JC6 OfficeServer 任意文件上传漏洞金和…

全栈之路-新坑就绪-星野空间

感觉自己的技术栈一直没有形成一个很好的闭环 开新坑,准备把自己的技术栈链路打通, Don‘t think too much, just act![得意]

C++ 网络编程学习五

C网络编程学习五 网络结构的更新单例模式懒汉单例模式饿汉单例模式懒汉式指针智能指针设计单例类 服务器优雅退出asio的多线程模型IOServiceasio多线程IOThreadPoolepoll 和 iocp的一些知识点 网络结构的更新 asio网络层,会使用io_context进行数据封装,…

1.下载安装ESP32开发环境ESP-IDE

ESP32简介 ESP32介绍 说到ESP32,首先ESP32不是一个芯片,ESP32是一个系列芯片, 是乐鑫自主研发的一系列芯片微控制器。它主要的功能就是支持WiFi和蓝牙, ESP32指的是ESP32裸芯片。但是,“ESP32”一词通常指ESP32系列芯…

Unity之PUN实现多人联机射击游戏的优化

目录 🎮一、 跳跃,加速跑 🎮二、玩家自定义输入昵称 🍅2.1 给昵称赋值 🍅2.2 实现 🎮三、玩家昵称同步到房间列表 🍅3.1 获取全部玩家 🍅3.2 自定义Player中的字段 &#…

圈内大佬呕心之作,一年后斩获腾讯T3,这份Java学习笔记有多厉害

说这句话的人其实有一些误解,误解就在于,安逸的生活并不等于不需要奋斗,这要看你的家底。 某聪如果说要选择安逸的生活,他可以很安逸,因为他有了安逸的资本,而大部分的你,并没有这个资本&#…

SQL中的distinct的使用方法

1. distinct含义与使用方法 distinct用来查询不重复记录的条数,即用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段。 注意事项 distinct 【查询字段】,必须放…

压缩json字符串

GZIPOutputStream 需要关闭,而 ByteArrayOutputStream 不需要关闭。具体原因如下: GZIPOutputStream:GZIPOutputStream是一种过滤流,它提供了将数据压缩为GZIP格式的功能。当使用此类的实例写入数据时,它会对数据进行压…

阿里云数据湖存储加速套件JindoData

计算存储分离已经成为云计算的一种发展趋势。在计算存储分离之前,普遍采用的是传统的计算存储相互融合的架构,但是这种架构存在一定的问题,比如在集群扩容的时候会面临计算能力和存储能力相互不匹配的问题。用户在某些情况下只需要扩容计算能…

[MYSQL数据库]- 索引

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、认识索…

力扣--课程表--bfs+dfs

整体思路: 这是一道拓扑序列的题目,我们将边的方向定义成从先修课指向后修课的方向,借一下官方的题解图片,我们需要判断的是形成的这个图结构是否存在环,如果存在环,那么代表不能完成所有课程的学习。 bfs思…

强推游戏爱好者!雾锁王国联机服务器部署教程

继《幻兽帕鲁》游戏爆火之后,与它同类型的《雾锁王国》也是强力刷屏,不分伯仲,在 Steam 上的评分一直稳定在“特别好评”,让小伙伴们很“上头”。就在两者游戏玩家反响爆火的同时,官方服务器人数爆满,卡顿频…

JavaScript进阶2之执行上下文、作用域链、函数创建、函数激活、checkScope的执行过程、闭包、this

JavaScript进阶 执行上下文执行上下文中的属性变量对象全局上下文的变量对象函数上下文执行过程进入执行上下文代码执行思考题 作用域链函数创建函数激活checkScope的执行过程总结 闭包分析闭包 this 执行上下文 执行上下文中的属性 每一个执行上下文都有三个核心属性 变量对…