近日,来自小红书搜索算法团队的论文《Generative Dense Retrieval: Memory Can Be a Burden》被自然语言处理领域国际会议 EACL 2024 接收为 Oral,接受率为 11.32%(144/1271)。
他们在论文中提出了一种新颖的信息检索范式——生成式密集检索(Generative Dense Retrieval,GDR)。 该范式能够很好地解决传统生成式检索(Generative Retrieval,GR)在处理大规模数据集时所面临的挑战。它是从记忆机制得到的灵感。
在过往的实践中,GR 凭借其独特的记忆机制,实现了查询与文档库间的深度交互。然而,这种依赖于语言模型自回归解码的方法,在处理大规模数据时存在着明显的局限性,包括细粒度文档特征模糊、文档库规模受限、索引更新困难等。
小红书提出的 GDR 采用由粗到细的两阶段检索思想,首先利用语言模型有限的记忆容量,实现查询到文档簇的映射,然后通过向量匹配机制完成文档簇到文档的精细映射。GDR 通过引入密集检索的向量匹配机制,有效缓解了 GR 的固有弊端。
此外,团队还设计了「记忆友好的文档簇标识符构建策略」与「文档簇自适应的负采样策略」,分别提升两阶段的检索性能。在 Natural Questions 数据集的多个设定下,GDR 不仅展现了 SOTA 的 Recall@k 表现,更在保留深度交互优势的同时实现了良好的可扩展性,为信息检索的未来研究开辟了新的可能性。
文本检索具有重要的研究与应用价值。传统检索范式,如基于字词匹配度的稀疏检索(sparse retrieval,SR)和基于语义向量匹配度的密集检索(dense retrieval,DR),虽然各有千秋,但随着预训练语言模型的兴起,基于此的生成式检索范式 GR 开始崭露头角。
在训练过程中,模型以给定查询作为上下文,自回归地生成相关文档的标识符。这一过程事实上完成了模型对于候选语料库的记忆。查询进入模型后与模型参数交互并自回归解码的过程,隐式地发生了查询与候选语料库的深度交互,而这种深度交互正是 SR 和 DR 所欠缺的。因此,当模型能够准确记忆候选文档时,GR 能够表现出优异的检索性能。
然而,GR 的记忆机制并非无懈可击。我们通过经典 DR 模型(AR2)与 GR 模型(NCI)之间的对比实验,证实了记忆机制至少会带来三大挑战:
1)细粒度文档特征模糊:
我们分别计算了 NCI 与 AR2 在由粗到细解码文档标识符的每一位时发生错误的概率。对于 AR2,我们通过向量匹配找到给定查询最相关的文档对应的标识符,再统计标识符的首次出错步数,得到 AR2 对应的分步解码错误率统计。如表 1 所示,NCI 在解码的前半段中表现良好,而后半段中错误率则较高,AR2 与之相反。这说明 NCI 通过整体记忆候选文档库,能较好地完成查询到候选文档语义空间的粗粒度映射。但是由于训练过程中候选文档的特征是由查询来刻画的,因此其细粒度的特征难以被准确记忆,故而在细粒度映射时表现不佳。
2)文档库规模受限:
如表 2 所示,我们分别以 334K 的候选文档库大小(第一行)和 1M 的候选文档大小(第二行)训练了 NCI 模型并以 R@k 指标进行测试。结果表明 NCI 在 R@100 上下降了 11 point,对比之下 AR2 只下降了 2.8 point。为了探究候选文档库规模扩大使 NCI 性能显著下降的原因,我们进一步测试了在 1M 文档库上训练的 NCI 模型在以 334K 为候选文档库时的测试结果(第三行)。与第一行相比,NCI 记忆更多文档的负担导致了其召回性能的显著下降,这说明模型有限的记忆容量限制了其记忆大规模的候选文档库。