albertobarnabo/bge-reranker-v2-m3-italian
bge-reranker-v2-m3-italian
Italian reranker, fine-tuned from [BAAI/bge-reranker-v2-m3](https://huggingface.co/BAAI/bge-reranker-v2-m3). Drop-in replacement — same architecture, same usage, better at Italian.
Reranker italiano: riordina i risultati di una ricerca, meglio del modello base.
Use it
from FlagEmbedding import FlagReranker
reranker = FlagReranker("albertobarnabo/bge-reranker-v2-m3-italian", use_fp16=True)
scores = reranker.compute_score([
["quanto dura la carta d'identità elettronica?", "La CIE ha validità di 10 anni per i maggiorenni."],
["quanto dura la carta d'identità elettronica?", "Il ragù richiede tre ore di cottura."],
])Pairs naturally with bge-m3-italian: retrieve with the embedder, rerank the top candidates with this model.
Results
2,000 Italian queries, top-100 candidates retrieved by bge-m3-italian, 10,000-sample paired bootstrap.
- vs the base reranker: +0.0096 nDCG@10, CI [+0.005, +0.015], p < 0.0001
- vs no reranking at all: +0.034 nDCG@10, CI [+0.024, +0.044]
How it was trained
The first attempt failed, and the fix is the interesting part.
- v1 (not published, shown in the figure): distilled from a 2019 English MiniLM cross-encoder whose scores were computed on English text and transferred to the Italian translations. Training converged perfectly — to a worse ranking. It scored 0.785, below the base model and below not reranking at all.
- v2 (this model): no weak teacher. Candidates are retrieved with
bge-m3-italian, then the strong base reranker is used as a filter on the Italian text — any candidate it scores above the known positive is dropped, because those are unlabelled positives, and training on them teaches a reranker to be wrong. What remains are genuinely hard negatives, paired with real mMARCO positives, trained with cross-entropy at lr 5e-6, 1 epoch over 143,874 queries.
That filtering step is the whole difference. It is the same lever the Polish mmlw line reported for its biggest gain: better negatives, not a fancier loss.
Limitations
- Evaluated on 2,000 queries from translated MS MARCO — the distribution it was trained on. Expect smaller gains on very different Italian text.
- Gains are real but modest (+0.01 nDCG@10 over a strong multilingual base); the larger jump is adding any reranker to retrieval (+0.034).
- Training data derives from MS MARCO, whose original terms are non-commercial research.
Provenance
Weights: Apache-2.0, same as the base model. Same evaluation script for every row in the table; per-query scores and the bootstrap are kept with the training code.
@misc{bge-reranker-v2-m3-italian-2026,
author = {Barnabo, Alberto},
title = {bge-reranker-v2-m3-italian: Italian reranker fine-tuned from bge-reranker-v2-m3},
year = {2026},
url = {https://huggingface.co/albertobarnabo/bge-reranker-v2-m3-italian}
}