Generative Dense Retrieval: Memory Can Be a Burden

Peiwen Yuan, Xinglin Wang, Shaoxiong Feng, Boyuan Pan, Yiwei Li +3 more
1/19/2024
cs.IRcs.CL

No official code found. Best implementation: ypw0102/GDR (32 stars, last commit 2024-01-19).

Abstract

Generative Retrieval (GR), autoregressively decoding relevant document identifiers given a query, has been shown to perform well under the setting of small-scale corpora. By memorizing the document corpus with model parameters, GR implicitly achieves deep interaction between query and document. However, such a memorizing mechanism faces three drawbacks: (1) Poor memory accuracy for fine-grained features of documents; (2) Memory confusion gets worse as the corpus size increases; (3) Huge memory update costs for new documents. To alleviate these problems, we propose the Generative Dense Retrieval (GDR) paradigm. Specifically, GDR first uses the limited memory volume to achieve inter-cluster matching from query to relevant document clusters. Memorizing-free matching mechanism from Dense Retrieval (DR) is then introduced to conduct fine-grained intra-cluster matching from clusters to relevant documents. The coarse-to-fine process maximizes the advantages of GR's deep interaction and DR's scalability. Besides, we design a cluster identifier constructing strategy to facilitate corpus memory and a cluster-adaptive negative sampling strategy to enhance the intra-cluster mapping ability. Empirical results show that GDR obtains an average of 3.0 R@100 improvement on NQ dataset under multiple settings and has better scalability.

View on arXivView PDF

Code Implementations(1)

ypw0102/GDRCommunity100%

code for EACL2024-main:Generative Dense Retrieval: Memory Can Be a Burden

324Shell, PythonJan 19, 20242 years ago

Similar Papers

Cite this paper

@article{yuan2024generative,
  title  = {Generative Dense Retrieval: Memory Can Be a Burden},
  author = {Peiwen Yuan and Xinglin Wang and Shaoxiong Feng and Boyuan Pan and Yiwei Li and Heda Wang and Xupeng Miao and Kan Li},
  year   = {2024},
  eprint = {2401.10487},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2401.10487v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2401.10487.svg)](https://codeofpaper.com/paper/2401.10487)

Discussion