CrossEncoder based on Alibaba-NLP/gte-reranker-modernbert-base

This is a Cross Encoder model finetuned from Alibaba-NLP/gte-reranker-modernbert-base on the arcade-reranker-data dataset using the sentence-transformers library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.

Model Details

Model Description

Model Sources

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("idqo/arcade-reranker")
# Get scores for pairs of texts
pairs = [
    ['Dus de einklant betaalt in totaal ook de onbalansprijs? Die dus bestaat uit het gewone tarief + verschil om tot onbalansprijs te komen?', 'Imbalance Price (Electricity Balancing Market): (a) each imbalance settlement period; (b) its imbalance price areas; (c) each imbalance direction. 4. The imbalance price for negative imbalance ...'],
    ['Kun je een lijst geven van alle technische specificaties geven waar je rekening mee moet houden bij een transformator', 'Handmelders: Manuele brandmelders.'],
    ['Wat weetje van dataloggers?', 'geen nummers op tellers. Facturatiegegevens?'],
    ['Ik ben op zoek naar info over magneetcontacten, die standaard deuren open houden, maar in geval van brand contact lossen en ervoor zorgen dat deuren sluiten. worden deze contacten gevoed vanuit de brandcentrale, of vanuit een voeding 230V AC , die geschakeld wordt vanuit de centrale? ', 'Algemene beveiliging: Beveiligingscel: merk, type met zekering, type met relais en vermogenschakelaar, vermogen, relais.'],
    ['Geef een overzicht van allemogelijke geldstromen in de verschillende transfer of energy regimes', 'Taksen, heffingen & accijnzen: Belastingen op elektriciteit.'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)

# Or rank different texts based on similarity to a single text
ranks = model.rank(
    'Dus de einklant betaalt in totaal ook de onbalansprijs? Die dus bestaat uit het gewone tarief + verschil om tot onbalansprijs te komen?',
    [
        'Imbalance Price (Electricity Balancing Market): (a) each imbalance settlement period; (b) its imbalance price areas; (c) each imbalance direction. 4. The imbalance price for negative imbalance ...',
        'Handmelders: Manuele brandmelders.',
        'geen nummers op tellers. Facturatiegegevens?',
        'Algemene beveiliging: Beveiligingscel: merk, type met zekering, type met relais en vermogenschakelaar, vermogen, relais.',
        'Taksen, heffingen & accijnzen: Belastingen op elektriciteit.',
    ]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]

Evaluation

Metrics

Cross Encoder Reranking

  • Datasets: NanoMSMARCO_R100, NanoNFCorpus_R100 and NanoNQ_R100
  • Evaluated with CrossEncoderRerankingEvaluator with these parameters:
    {
        "at_k": 10,
        "always_rerank_positives": true
    }
    
Metric NanoMSMARCO_R100 NanoNFCorpus_R100 NanoNQ_R100
map 0.5976 (+0.1081) 0.4056 (+0.1446) 0.6834 (+0.2638)
mrr@10 0.5901 (+0.1126) 0.6538 (+0.1540) 0.7047 (+0.2780)
ndcg@10 0.6560 (+0.1155) 0.4606 (+0.1355) 0.7415 (+0.2409)

Cross Encoder Nano BEIR

  • Dataset: NanoBEIR_R100_mean
  • Evaluated with CrossEncoderNanoBEIREvaluator with these parameters:
    {
        "dataset_names": [
            "msmarco",
            "nfcorpus",
            "nq"
        ],
        "dataset_id": "sentence-transformers/NanoBEIR-en",
        "rerank_k": 100,
        "at_k": 10,
        "always_rerank_positives": true
    }
    
Metric Value
map 0.5622 (+0.1721)
mrr@10 0.6495 (+0.1815)
ndcg@10 0.6194 (+0.1640)

Training Details

Training Dataset

arcade-reranker-data

  • Dataset: arcade-reranker-data at 9e3c538
  • Size: 2,277 training samples
  • Columns: sentence1, sentence2, and label
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 label
    type string string float
    details
    • min: 2 characters
    • mean: 103.67 characters
    • max: 558 characters
    • min: 13 characters
    • mean: 518.43 characters
    • max: 25528 characters
    • min: 0.0
    • mean: 0.31
    • max: 1.0
  • Samples:
    sentence1 sentence2 label
    Kan je daarvoor op het internet kijken? Er wordt gewerkt aan de datanetwerk-infrastructuur voor het project, waarbij energiemeters worden aangesloten op een fibernetwerk [5], [6], [7]. Er is een vaste internetverbinding aangevraagd, die door EXV wordt verzorgd en bij oplevering wordt overgedragen [4], [6], [8]. De Gateway van Tibo moet worden geïnstalleerd en verbonden met het netwerk, waarbij zowel 4G als een internetverbinding opties zijn, met redundantie als aanbeveling [2], [4], [6], [8]. Extravolt is verantwoordelijk voor het opzetten van de netwerkconfiguratie en stemt af met Tibo [4], [6]. Er wordt gekeken welke componenten verbinding maken met de cloud of internet, naast het EMS van Tibo, en hoe de batterij wordt uitgelezen door EXV voor de beschikbaarheidsgarantie, waarschijnlijk via VPN [2], [4], [6], [7], [8]. De meti 0.6666666666666666
    Geef een generieke template voor verlichtingsberekingen in een lastenboek Issue: nu blijkt dat er ook een datacenter aangesloten gaat moeten worden.
    In welke mate kan dat om met +-10% -> dit gaat meer algemeen moeten bekeken worden.
    - Hier is logica van antwoord dat de neteheerders zowiezo moeten voldoen aan een maximale marge van +-10% van hun uitgangsspanning.
    - Die norm is aangeleverd door Infrabel.
    - Dit betekent dat elektrische apparatuur die in het belgische net gezet wordt, moet bestand zijn aan schommelingen van +-10% Artikel 10. Variaties in spanning en frequ
    0.0
    Moet er oven brandhaspels altijd een noodverlichting voorzien worden? In welke norm vind ik hier info over REFERENTIENORMEN | Standard | Description |
    |---|---|
    | NBN 01 | Woordenlijst voor de verlichtingskunde (2001) |
    | NBN EN 60598 (1989) | Elektrische verlichtingstoestellen (1989) |
    | NBN EN 60598-2-2 | Verlichtingstoestellen - Deel twee : Bijzondere regels - Sectie twee : Inbouw verlichtingstoestellen (1990) |
    | Reeks NBN 60598 | Verlichtingsarmaturen |
    | NBN C 20-530 | Beschermingsgraden gegeven door de omhulsels (IP-Code) (1992) + add (1000) |
    | NBN EN 60001 | Lampen en in - houders alsmede kalibers voor controle van uitwisselbaarheid & veiligheid 1-3 (2003) |
    | NBN EN 1838 | Toegepaste verlichtingstechniek - Noodverlichting (1999) |
    | NBN L 14-001 & 002 | Binnenverlichting van de gebouwen (1974) |
    | NBN EN 60335-1 | Huishoudelijke en soortgelijke elektrische toestellen - Veiligheid - Deel 1 : Algemene eisen (2003) |
    | NBN EN 12464 | Binnenverlichting (2008) |
    | NBN EN 1838 | Veiligheidsverlichting (2013) |
    | EN 12464-1 | werkplekverlichting (2002) |
    | ISO 3864-1 en ISO 3864-4 | (fot...
    0.0643
  • Loss: BinaryCrossEntropyLoss with these parameters:
    {
        "activation_fn": "torch.nn.modules.linear.Identity",
        "pos_weight": null
    }
    

Evaluation Dataset

arcade-reranker-data

  • Dataset: arcade-reranker-data at 9e3c538
  • Size: 400 evaluation samples
  • Columns: sentence1, sentence2, and label
  • Approximate statistics based on the first 400 samples:
    sentence1 sentence2 label
    type string string float
    details
    • min: 27 characters
    • mean: 108.77 characters
    • max: 558 characters
    • min: 13 characters
    • mean: 404.07 characters
    • max: 11988 characters
    • min: 0.0
    • mean: 0.32
    • max: 1.0
  • Samples:
    sentence1 sentence2 label
    Dus de einklant betaalt in totaal ook de onbalansprijs? Die dus bestaat uit het gewone tarief + verschil om tot onbalansprijs te komen? Imbalance Price (Electricity Balancing Market): (a) each imbalance settlement period; (b) its imbalance price areas; (c) each imbalance direction. 4. The imbalance price for negative imbalance ... 0.3
    Kun je een lijst geven van alle technische specificaties geven waar je rekening mee moet houden bij een transformator Handmelders: Manuele brandmelders. 0.2222
    Wat weetje van dataloggers? geen nummers op tellers. Facturatiegegevens? 0.0256
  • Loss: BinaryCrossEntropyLoss with these parameters:
    {
        "activation_fn": "torch.nn.modules.linear.Identity",
        "pos_weight": null
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • learning_rate: 1e-05
  • warmup_steps: 0.1
  • bf16: True
  • eval_strategy: steps
  • per_device_eval_batch_size: 16
  • push_to_hub: True
  • hub_model_id: idqo/arcade-reranker
  • load_best_model_at_end: True

All Hyperparameters

Click to expand
  • per_device_train_batch_size: 16
  • num_train_epochs: 3
  • max_steps: -1
  • learning_rate: 1e-05
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_steps: 0.1
  • optim: adamw_torch_fused
  • optim_args: None
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • optim_target_modules: None
  • gradient_accumulation_steps: 1
  • average_tokens_across_devices: True
  • max_grad_norm: 1.0
  • label_smoothing_factor: 0.0
  • bf16: True
  • fp16: False
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • use_liger_kernel: False
  • liger_kernel_config: None
  • use_cache: False
  • neftune_noise_alpha: None
  • torch_empty_cache_steps: None
  • auto_find_batch_size: False
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • include_num_input_tokens_seen: no
  • log_level: passive
  • log_level_replica: warning
  • disable_tqdm: False
  • project: huggingface
  • trackio_space_id: trackio
  • eval_strategy: steps
  • per_device_eval_batch_size: 16
  • prediction_loss_only: True
  • eval_on_start: False
  • eval_do_concat_batches: True
  • eval_use_gather_object: False
  • eval_accumulation_steps: None
  • include_for_metrics: []
  • batch_eval_metrics: False
  • save_only_model: False
  • save_on_each_node: False
  • enable_jit_checkpoint: False
  • push_to_hub: True
  • hub_private_repo: None
  • hub_model_id: idqo/arcade-reranker
  • hub_strategy: every_save
  • hub_always_push: False
  • hub_revision: None
  • load_best_model_at_end: True
  • ignore_data_skip: False
  • restore_callback_states_from_checkpoint: False
  • full_determinism: False
  • seed: 42
  • data_seed: None
  • use_cpu: False
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • parallelism_config: None
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • dataloader_prefetch_factor: None
  • remove_unused_columns: True
  • label_names: None
  • train_sampling_strategy: random
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • ddp_backend: None
  • ddp_timeout: 1800
  • fsdp: []
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • deepspeed: None
  • debug: []
  • skip_memory_metrics: True
  • do_predict: False
  • resume_from_checkpoint: None
  • warmup_ratio: None
  • local_rank: -1
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss Validation Loss NanoMSMARCO_R100_ndcg@10 NanoNFCorpus_R100_ndcg@10 NanoNQ_R100_ndcg@10 NanoBEIR_R100_mean_ndcg@10
0.0070 1 0.9207 - - - - -
0.1748 25 0.7369 0.6563 0.6888 (+0.1484) 0.4617 (+0.1367) 0.7657 (+0.2651) 0.6387 (+0.1834)
0.3497 50 0.6174 0.5945 0.6764 (+0.1360) 0.4403 (+0.1153) 0.7658 (+0.2652) 0.6275 (+0.1722)
0.5245 75 0.5744 0.5895 0.6830 (+0.1426) 0.4403 (+0.1152) 0.7611 (+0.2605) 0.6281 (+0.1728)
0.6993 100 0.5693 0.5709 0.6668 (+0.1264) 0.4510 (+0.1259) 0.7652 (+0.2646) 0.6277 (+0.1723)
0.8741 125 0.5413 0.5636 0.6712 (+0.1308) 0.4434 (+0.1184) 0.7618 (+0.2611) 0.6255 (+0.1701)
1.0490 150 0.5437 0.5832 0.6706 (+0.1302) 0.4441 (+0.1191) 0.7574 (+0.2568) 0.6240 (+0.1687)
1.2238 175 0.5229 0.5676 0.6712 (+0.1308) 0.4608 (+0.1358) 0.7527 (+0.2521) 0.6283 (+0.1729)
1.3986 200 0.5015 0.5471 0.6712 (+0.1308) 0.4611 (+0.1361) 0.7527 (+0.2520) 0.6283 (+0.1729)
1.5734 225 0.4994 0.5501 0.6712 (+0.1308) 0.4641 (+0.1390) 0.7581 (+0.2575) 0.6311 (+0.1757)
1.7483 250 0.4999 0.5465 0.6707 (+0.1303) 0.4570 (+0.1319) 0.7544 (+0.2537) 0.6274 (+0.1720)
1.9231 275 0.4806 0.5441 0.6657 (+0.1253) 0.4646 (+0.1396) 0.7561 (+0.2555) 0.6288 (+0.1734)
2.0979 300 0.4568 0.5437 0.6572 (+0.1168) 0.4661 (+0.1411) 0.7508 (+0.2502) 0.6247 (+0.1694)
2.2727 325 0.4482 0.5479 0.6556 (+0.1152) 0.4606 (+0.1355) 0.7579 (+0.2573) 0.6247 (+0.1693)
2.4476 350 0.4549 0.5561 0.6560 (+0.1155) 0.4643 (+0.1392) 0.7494 (+0.2488) 0.6232 (+0.1679)
2.6224 375 0.4399 0.5529 0.6560 (+0.1155) 0.4606 (+0.1355) 0.7415 (+0.2409) 0.6194 (+0.1640)
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.12.12
  • Sentence Transformers: 5.3.0
  • Transformers: 5.3.0
  • PyTorch: 2.10.0+cu128
  • Accelerate: 1.13.0
  • Datasets: 4.7.0
  • Tokenizers: 0.22.2

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}
Downloads last month
189
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for IDQO/arcade-reranker

Finetuned
(13)
this model

Dataset used to train IDQO/arcade-reranker

Paper for IDQO/arcade-reranker

Evaluation results