Back to Basics: A Simple Recipe for Improving Out-of-Domain Retrieval in Dense Encoders

Hyunji Lee, Luca Soldaini, Arman Cohan, Minjoon Seo, Kyle Lo
11/16/2023
cs.IRcs.AI

No official code found. Best implementation: amy-hyunji/lora-for-retrieval (11 stars, last commit 2025-01-20).

Abstract

Prevailing research practice today often relies on training dense retrievers on existing large datasets such as MSMARCO and then experimenting with ways to improve zero-shot generalization capabilities to unseen domains. While prior work has tackled this challenge through resource-intensive steps such as data augmentation, architectural modifications, increasing model size, or even further base model pretraining, comparatively little investigation has examined whether the training procedures themselves can be improved to yield better generalization capabilities in the resulting models. In this work, we recommend a simple recipe for training dense encoders: Train on MSMARCO with parameter-efficient methods, such as LoRA, and opt for using in-batch negatives unless given well-constructed hard negatives. We validate these recommendations using the BEIR benchmark and find results are persistent across choice of dense encoder and base model size and are complementary to other resource-intensive strategies for out-of-domain generalization such as architectural modifications or additional pretraining. We hope that this thorough and impartial study around various training techniques, which augments other resource-intensive methods, offers practical insights for developing a dense retrieval model that effectively generalizes, even when trained on a single dataset.

View on arXivView PDF

Code Implementations(1)

110PythonNov 15, 20231 years ago

Similar Papers

Cite this paper

@article{lee2023back,
  title  = {Back to Basics: A Simple Recipe for Improving Out-of-Domain Retrieval in Dense Encoders},
  author = {Hyunji Lee and Luca Soldaini and Arman Cohan and Minjoon Seo and Kyle Lo},
  year   = {2023},
  eprint = {2311.09765},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2311.09765v1}
}

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/2311.09765.svg)](https://codeofpaper.com/paper/2311.09765)

Discussion