Instructions to use olaverse/mist-reranker-22.7M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use olaverse/mist-reranker-22.7M with sentence-transformers:
from sentence_transformers import CrossEncoder model = CrossEncoder("olaverse/mist-reranker-22.7M") query = "Which planet is known as the Red Planet?" passages = [ "Venus is often called Earth's twin because of its similar size and proximity.", "Mars, known for its reddish appearance, is often referred to as the Red Planet.", "Jupiter, the largest planet in our solar system, has a prominent red spot.", "Saturn, famous for its rings, is sometimes mistaken for the Red Planet." ] scores = model.predict([(query, passage) for passage in passages]) print(scores) - Notebooks
- Google Colab
- Kaggle
mist-reranker-22.7M
A compact, fast English cross-encoder reranker. It scores a (query, passage) pair directly and
reorders the top-k candidates from a first-stage retriever — the second stage of a search / RAG
pipeline. At ~22.7M parameters it runs comfortably on a single modest GPU or CPU, and recovers most of
the ranking quality of rerankers an order of magnitude larger.
📄 Model details
| Property | mist-reranker-22.7M |
|---|---|
| Type | Cross-encoder reranker (single relevance score) |
| Total parameters | ~22.7M |
| Backbone | cross-encoder/ms-marco-MiniLM-L6-v2 (MiniLM-L6-H384) |
| Layers | 6 |
| Hidden size | 384 |
| Vocabulary size | 30,522 |
| Output | 2-class logits → relevance = softmax(logits)[:, 1] |
| Max sequence length | 512 |
| Training precision | BF16 |
| Language | English |
| License | Apache-2.0 |
Training: fine-tuned on olaverse/reranker-general-en-llm-judged
(pairs-graded, 844k pairs) with a hybrid objective — binary cross-entropy on the LLM-judge relevance
label, plus an auxiliary term distilling the continuous teacher score from BAAI/bge-reranker-v2-m3.
🏃 How to run
Install sentence-transformers:
pip install -U sentence-transformers
This is a 2-class head, so relevance is the positive-class probability, softmax(logits)[:, 1]:
import torch
from sentence_transformers import CrossEncoder
model = CrossEncoder("olaverse/mist-reranker-22.7M")
query = "who wrote hamlet"
passages = [
"Hamlet is a tragedy written by William Shakespeare around 1600.",
"The capital of France is Paris.",
"Macbeth is one of Shakespeare's shortest tragedies.",
]
logits = model.predict([[query, p] for p in passages], convert_to_tensor=True)
scores = torch.softmax(logits, dim=-1)[:, 1] # relevance = P(relevant)
for p, s in sorted(zip(passages, scores.tolist()), key=lambda x: -x[1]):
print(f"{s:.4f} {p}")
To rerank a retrieved candidate list, score every candidate against the query and sort by the
relevance score descending. Keep query first and passage second in each pair — the model is trained
on that order.
📈 Performance
NanoBEIR (NanoNQ, NanoHotpotQA, NanoFEVER), NDCG@10. Every reranker reorders the same candidate sets; the candidate order before reranking (first-stage floor) scores 0.7126.
| Model | Params | NDCG@10 |
|---|---|---|
| BAAI/bge-reranker-v2-m3 | ~568M | 0.9058 |
| cross-encoder/ms-marco-MiniLM-L12-v2 | ~33M | 0.8670 |
| mist-reranker-22.7M | ~22.7M | 0.8543 |
| cross-encoder/ms-marco-MiniLM-L6-v2 | ~22.7M | 0.8495 |
| BAAI/bge-reranker-base | ~278M | 0.8238 |
| mixedbread-ai/mxbai-rerank-xsmall-v1 | ~70M | 0.8184 |
| first-stage floor (no reranker) | — | 0.7126 |
At 22.7M it lifts NDCG@10 by +0.14 over the first-stage candidate order, beats 12× larger) and bge-reranker-base
(mxbai-rerank-xsmall-v1, and closes most of the gap to its bge-reranker-v2-m3
teacher.
License
Released under Apache-2.0.
Citation
@misc{mist-reranker-22.7M,
title = {mist-reranker-22.7M},
author = {Olaverse},
year = {2026},
url = {https://huggingface.co/olaverse/mist-reranker-22.7M}
}
- Downloads last month
- 33
Model tree for olaverse/mist-reranker-22.7M
Base model
microsoft/MiniLM-L12-H384-uncasedDataset used to train olaverse/mist-reranker-22.7M
Collection including olaverse/mist-reranker-22.7M
Evaluation results
- NDCG@10 on NanoBEIR (NanoNQ, NanoHotpotQA, NanoFEVER)self-reported0.854
