Scaling Retrieval-Based Language Models with a Trillion-Token Datastore
<|reference_start|>Scaling Retrieval-Based Language Models with a Trillion-Token Datastore: Scaling laws with respect to the amount of training data and the number of parameters allow us to predict the cost-benefit trade-offs of pretraining language models (LMs) in different configurations. In this paper, we consider another dimension of scaling: the amount of data available at inference time. Specifically, we find that increasing the size of the datastore used by a retrieval-based LM monotonically improves language modeling and several downstream tasks without obvious saturation, such that a smaller model augmented with a large datastore outperforms a larger LM-only model on knowledge-intensive tasks. By plotting compute-optimal scaling curves with varied datastore, model, and pretraining data sizes, we show that using larger datastores can significantly improve model performance for the same training compute budget. We carry out our study by constructing a 1.4 trillion-token datastore named MassiveDS, which is the largest and the most diverse open-sourced datastore for retrieval-based LMs to date, and designing an efficient pipeline for studying datastore scaling in a computationally accessible manner. Finally, we analyze the effect of improving the retriever, datastore quality filtering, and other design choices on our observed scaling trends. Overall, our results show that datastore size should be considered as an integral part of LM efficiency and performance trade-offs. To facilitate future research, we open-source our datastore and code at https://github.com/RulinShao/retrieval-scaling.<|reference_end|>
@article{shao2024scaling,
    title={Scaling Retrieval-Based Language Models with a Trillion-Token Datastore},
    author={Rulin Shao, Jacqueline He, Akari Asai, Weijia Shi, Tim Dettmers, Sewon
  Min, Luke Zettlemoyer, Pang Wei Koh},
    journal={arXiv preprint arXiv:2407.12854},
    year={2024},
    archivePrefix={arXiv},
    eprint={2407.12854},
    primaryClass={cs.CL cs.AI cs.IR cs.LG}
}