Vladimir Karpukhin, Barlas Oguz, Sewon Min, Patrick Lewis, Ledell Wu, Sergey Edunov, Danqi Chen, Wen-tau Yih
Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP 2020)10 April 2020
Abstract
Replaces term matching with a dual-encoder that embeds questions and passages into the same vector space. Relevance becomes a nearest-neighbour lookup, which lets retrieval find passages that share no vocabulary with the question.
@inproceedings{karpukhin2020dense,
author = {Vladimir Karpukhin and Barlas Oguz and Sewon Min and Patrick Lewis and Ledell Wu and Sergey Edunov and Danqi Chen and Wen-tau Yih},
title = {Dense Passage Retrieval for Open-Domain QA},
booktitle = {Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP 2020)},
year = {2020},
eprint = {2004.04906},
archivePrefix = {arXiv},
url = {https://arxiv.org/abs/2004.04906}
}
Ejentic did not author this paper. Credit belongs to the authors named above; the note is ours.
Every RAG proposal we are handed assumes dense retrieval is the default and everything else is a downgrade. This is the study that says it depends on corpus size, and that above roughly 10 million tokens a lexical index built for nothing beats an agent that reasons its way through the corpus. It also costs 39 times fewer query tokens at the point where the agent is still winning.
The single most useful result for anyone shipping retrieval. A bigger context window does not fix relevance: if the right chunk lands in the middle of twenty, it may as well not be there. Re-rank and put the best passage last.
Run this before you commit to a retriever. A model that wins on one corpus and collapses on the next is the most common way a search feature disappoints after launch.