Model reference · open weights
provence-reranker-debertav3 is an open-weight embedding model from naver. provence-reranker-debertav3-v1 (FP32) weighs 870 MB; the smallest configuration that runs it is RTX 3060 12 GB.
provence-reranker-debertav3 is a context pruning model developed by Naver Labs Europe for retrieval-augmented generation. It removes irrelevant sentences from retrieved passages to speed up generation and reduce noise for any large language model. The model has 435 million parameters, supports a context length of 512 tokens, and is licensed under CC BY-NC-ND 4.0.
Summary of the naver/provence-reranker-debertav3-v1 model card, 2026-10-01
What it is
| Released by | naver |
|---|---|
| Type | Embedding models |
| Task | Reranker |
| Parameters (lead) | 435M |
| Context | 512 tokens |
| Based on | naver/trecdl22-crossencoder-debertav3 |
| Released | 2024-12-11 |
| Popularity | 2k downloads / month |
| Weights | 870 MB (provence-reranker-debertav3-v1 (FP32), file size) |
| Licence | Non-commercial |
What it runs on
Weights 870 MB (file size) · overhead about 1.1 GB.
| Card | Runs | Counted memory |
|---|---|---|
| RTX 3060 12 GB | fits | 11.6 GB |
| RTX 4060 Ti 16 GB | fits | 15.4 GB |
| RTX 3090 24 GB | fits | 23.4 GB |
| RTX 4090 24 GB | fits | 23.4 GB |
| RTX 5090 32 GB | fits | 31.0 GB |
| L40S 48 GB | fits | 44.0 GB |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
Estimates, not measurements: the weights are the build's file size. No cache grows with use; a batch of inputs needs working memory of its own. Counted memory is 92 % of what CUDA reports for the card.
From the model card
Provence is a lightweight context pruning model for retrieval-augmented generation, particularly optimized for question answering. Given a user question and a retrieved passage, Provence removes sentences from the passage that are not relevant to the user question. This speeds up generation and reduces context noise, in a plug-and-play manner for any LLM.
Paper: https://arxiv.org/abs/2501.16214, accepted to ICLR 2025
Blogpost: https://huggingface.co/blog/nadiinchi/provence
Developed by: Naver Labs Europe License: Provence is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 license [CC BY-NC-ND 4.0 license]. License file
provence-reranker-debertav3-v1 (Provence for Pruning and Reranking Of retrieVEd relevaNt ContExt)NEW! The multilingual version of the model, based on BGE-reranker-v2-m3, is available here.
Training and evaluation code & data are available in the Bergen repo
Provence uses nltk:
pip install nltk
python -c "import nltk; nltk.download('punkt_tab')"
Pruning a single context for a single question:
from transformers import AutoModel
provence = AutoModel.from_pretrained("naver/provence-reranker-debertav3-v1", trust_remote_code=True)
context = "Shepherd’s pie. History. In early cookery books, the dish was a means of using leftover roasted meat of any kind, and the pie dish was lined on the sides and bottom with mashed potato, as well as having a mashed potato crust on top. Variations and similar dishes. Other potato-topped pies include: The modern ”Cumberland pie” is a version with either beef or lamb and a layer of bread- crumbs and cheese on top. In medieval times, and modern-day Cumbria, the pastry crust had a filling of meat with fruits and spices.. In Quebec, a varia- tion on the cottage pie is called ”Paˆte ́ chinois”. It is made with ground beef on the bottom layer, canned corn in the middle, and mashed potato on top.. The ”shepherdess pie” is a vegetarian version made without meat, or a vegan version made without meat and dairy.. In the Netherlands, a very similar dish called ”philosopher’s stew” () often adds ingredients like beans, apples, prunes, or apple sauce.. In Brazil, a dish called in refers to the fact that a manioc puree hides a layer of sun-dried meat."
question = 'What goes on the bottom of Shepherd’s pie?'
provence_output = provence.process(question, context)
# print(f"Provence Output: {provence_output}")
# Provence Output: {'reranking_score': 3.022725, pruned_context': 'In early cookery books, the dish was a means of using leftover roasted meat of any kind, and the pie dish was lined on the sides and bottom with mashed potato, as well as having a mashed potato crust on top.']]
You can also pass a list of questions and a list of lists of contexts (multiple contexts per question to be pruned) for batched processing.
Setting always_select_title=True will keep the first sentence "Shepherd’s pie". This is especially useful for Wikipedia articles where the title is often needed to understand the context.
More details on how the title is defined are given below.
provence_output = provence.process(question, context, always_select_title=True)
# print(f"Provence Output: {provence_output}")
# Provence Output: {'reranking_score': 3.022725, pruned_context': 'Shepherd’s pie. In early cookery books, the dish was a means of using leftover roasted meat of any kind, and the pie dish was lined on the sides and bottom with mashed potato, as well as having a mashed potato crust on top.']]
Interface of the process function:
question: Union[List[str], str]: an input question (str) or a list of input questions (for batched processing)context: Union[List[List[str]], str]: context(s) to be pruned. This can be either a single string (in case of a singe str question), or a list of lists contexts (a list of contexts per question), with len(contexts) equal to len(questions)title: Optional[Union[List[List[str]], str]], default: “first_sentence”: an optional argument for defining titles. If title=first_sentence, then the first sentence of each context is assumed to be the title. If title=None, then it is assumed that no titles are provided. Titles can be also passed as a list of lists of str, i.e. titles shaped the same way as contexts. Titles are only used if always_select_title=True.threshold (float, $ \in [0, 1]$, default 0.1): which threshold to use for context pruning. We recommend 0.1 for more conservative pruning (no performance drop or lowest performance drops) and 0.5 for higher compression, but this value can be further tuned to meet the specific use case requirements.always_select_title (bool, default: True): if True, the first sentence (title) will be included into the selection each time the model select a non-empty selection of sentences. This is important, e.g., for Wikipedia passages, to provide proper contextualization for the next sentences.batch_size (int, default: 32)reorder (bool, default: False): if True, the provided contexts for each question will be reordered according to the computed question-passage relevance scores. If False, the original user-provided order of contexts will be preserved.top_k (int, default: 5): if reorder=True, specifies the number of top-ranked passages to keep for each question.enable_warnings (bool, default: True): whether the user preferQuoted from the model card on Hugging Face — the full card is behind the Hugging Face link above.