TL;DR If the same document gets searched over and over, why re-encode it from scratch for every query? DoPR compresses the document side once, stores it, and reuses it across many queries to speed up LLM reranking.
Title: DoPR: Reusable Compressed Document Prefixes for Efficient LLM Reranking
URL:
๐ An attention-based salience score picks the top-K most attended tokens, and each document is compressed once offline into a query-independent prefix of KV states
โก Online reranking only has to process the query and score tokens, cutting memory by up to 8.0x and latency by up to 8.04x on long documents
๐ On TREC DL19/DL20 and BEIR, DoPR keeps 97.1-99.5% of NDCG
@10, and larger backbones turn out to be more resilient to the compression bottleneck
๐ In a controlled cross-query reuse test, DoPR hits roughly a 2x speedup at 10 queries per document on DL19, and over 3x at just 5 queries on the long-document TREC-Covid set
๐งช Ablations show attention-guided top-K selection beats first-K, uniform-K, and random-K selection (71.44 NDCG
@10) โ and it needs zero extra parameters to pull that off
๐ฌ The more a search system relies on a stable, repeatedly-queried document collection, the more this "compute once, reuse many times" idea should pay off
#
Search# #
LLM#