CoolFace
Modelpublic

albertobarnabo/bge-reranker-v2-m3-italian

sourceHugging Faceapache-2.0updated 13d agoView on Hugging Face
1likes82downloads
Model Card

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.

[image]

Use it

python
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.

pipelinenDCG@10MRR@10
retrieval only0.7960.761
+ BAAI/bge-reranker-v2-m30.8210.786
+ bge-reranker-v2-m3-italian0.8300.797
  • —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.

bibtex
@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}
}