Model reference · open weights

ettin-reranker

Embeddings cross-encoder Reranker 6 builds Open weights 16k dl/mo

ettin-reranker is an open-weight embedding model from cross-encoder. ettin-reranker-150m-v1 (FP32) weighs 298 MB; the smallest configuration that runs it is RTX 3060 12 GB.

  • ettin-reranker is a 68M parameter cross-encoder model designed for text ranking and semantic search tasks.
  • It supports English text with a maximum context length of 7999 tokens and is released under the Apache 2.0 license.

Summary of the cross-encoder/ettin-reranker-68m-v1 model card, 2026-10-01. The estimate below is for another build of the family.

What it is

Released bycross-encoder
Released2026-05-15
Parameters68M
VRAM298 MB for the weights

What it runs on

Memory and cards for ettin-reranker-150m-v1 (FP32)

298 MBweights, file size
1.1 GBruntime overhead
CardRunsMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
ettin-reranker-68m-v1 ↗ 68MFP32 136 MBRTX 3060 12 GB
ettin-reranker-32m-v1 ↗ 32MFP32 64 MBRTX 3060 12 GB
ettin-reranker-17m-v1 ↗ 17MFP32 34 MBRTX 3060 12 GB
ettin-reranker-150m-v1 (above) ↗ 149MFP32 298 MBRTX 3060 12 GB
ettin-reranker-400m-v1 ↗ 395MFP32 790 MBRTX 3060 12 GB
ettin-reranker-1b-v1 ↗ 1.0BFP32 2.1 GBRTX 3060 12 GB

From the model card

What cross-encoder says about ettin-reranker

Read the model card

This is a Cross Encoder model finetuned from jhu-clsp/ettin-encoder-68m on the cross-encoder/ettin-reranker-v1-data dataset using the sentence-transformers library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.

See the release blogpost for details on the training recipe, evaluation results, and speed benchmarks against other public rerankers. The Evaluation section below also has the headline numbers.

Model Details

Model Description

Model Sources

Full Model Architecture

CrossEncoder(
  (0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'ModernBertModel'})
  (1): Pooling({'embedding_dimension': 512, 'pooling_mode': 'cls', 'include_prompt': True})
  (2): Dense({'in_features': 512, 'out_features': 512, 'bias': False, 'activation_function': 'torch.nn.modules.activation.GELU', 'module_input_name': 'sentence_embedding', 'module_output_name': 'sentence_embedding'})
  (3): LayerNorm({'dimension': 512})
  (4): Dense({'in_features': 512, 'out_features': 1, 'bias': True, 'activation_function': 'torch.nn.modules.linear.Identity', 'module_input_name': 'sentence_embedding', 'module_output_name': 'scores'})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import CrossEncoder

# Download from the 🤗 Hub
model = CrossEncoder(
    "cross-encoder/ettin-reranker-68m-v1",
    model_kwargs={"dtype": "bfloat16", "attn_implementation": "flash_attention_2"},  # Optional: pip install kernels
)

# Get scores for pairs of inputs
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)
# [ 6.375  11.5     7.625  10.4375]

# Or rank passages by relevance to a single query
ranked = model.rank(query, passages)
print(ranked)
# [{'corpus_id': 1, 'score': np.float32(11.5)}, ...]

Evaluation

MTEB(eng, v2) Retrieval

Each model in the ettin-reranker-v1 family was evaluated on the full MTEB(eng, v2) Retrieval benchmark (10 tasks, top-100 reranked) using MTEB's two-stage reranking flow, pairing each reranker with six embedding models that span the speed/quality spectrum. The dashed retriever-only line in each chart below is the headline number to beat. Anything below it means the reranker actively hurts the pipeline on average:

Mean NDCG@10 over the 6 embedder pairings, sorted by MTEB. The released ettin-reranker-v1 family is in bold, and the teacher mixedbread-ai/mxbai-rerank-large-v2 is underlined.

RerankerParamsMTEB(eng, v2) Retrieval NDCG@10
Qwen/Qwen3-Reranker-4B†4.02B0.6367
mixedbread-ai/mxbai-rerank-large-v21.54B0.6115
cross-encoder/ettin-reranker-1b-v11.00B0.6114
cross-encoder/ettin-reranker-400m-v1401M0.6091
cross-encoder/ettin-reranker-150m-v1151M0.5994
Qwen/Qwen3-Reranker-0.6B596M0.5940
mixedbread-ai/mxbai-rerank-base-v2494M0.5920
cross-encoder/ettin-reranker-68m-v168.6M0.5915
jinaai/jina-reranker-m02.44B0.5856
Alibaba-NLP/gte-reranker-modernbert-base150M0.5843
cross-encoder/ettin-reranker-32m-v132.8M0.5779
[`ibm-granite/granite-embedding-reranker-english-r2

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

Benchmarks

Reported results

As published on the model card: the maker's own numbers, not measured by AxForge.

TaskDatasetMetricScore
Cross Encoder RerankingNanoMSMARCO R100Map0.617
Cross Encoder RerankingNanoMSMARCO R100Mrr@100.613
Cross Encoder RerankingNanoMSMARCO R100Ndcg@100.683
Cross Encoder RerankingNanoNFCorpus R100Map0.372
Cross Encoder RerankingNanoNFCorpus R100Mrr@100.562
Cross Encoder RerankingNanoNFCorpus R100Ndcg@100.407
Cross Encoder RerankingNanoNQ R100Map0.722
Cross Encoder RerankingNanoNQ R100Mrr@100.753
Cross Encoder RerankingNanoNQ R100Ndcg@100.775
Cross Encoder RerankingNanoFiQA2018 R100Map0.538
Cross Encoder RerankingNanoFiQA2018 R100Mrr@100.652
Cross Encoder RerankingNanoFiQA2018 R100Ndcg@100.591
Cross Encoder RerankingNanoTouche2020 R100Map0.477
Cross Encoder RerankingNanoTouche2020 R100Mrr@100.826
Cross Encoder RerankingNanoTouche2020 R100Ndcg@100.563
Cross Encoder RerankingNanoSciFact R100Map0.702
Cross Encoder RerankingNanoSciFact R100Mrr@100.700
Cross Encoder RerankingNanoSciFact R100Ndcg@100.746
Cross Encoder RerankingNanoHotpotQA R100Map0.932
Cross Encoder RerankingNanoHotpotQA R100Mrr@100.990
Cross Encoder RerankingNanoHotpotQA R100Ndcg@100.958
Cross Encoder RerankingNanoArguAna R100Map0.574
Cross Encoder RerankingNanoArguAna R100Mrr@100.575
Cross Encoder RerankingNanoArguAna R100Ndcg@100.688
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms