multilingual-e5-small fine-tuned on Dutch MS MARCO

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-small on the msmarco-qwen3-reranker-0.6_b-dutch dataset. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.

Model Details

Model Description

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
  (1): Pooling({'embedding_dimension': 384, 'pooling_mode': 'mean', 'include_prompt': True})
  (2): Normalize({})
)

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 SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("tomaarsen/multilingual-e5-small-mmarco-nl")
# Run inference
queries = [
    'Welke ingrediënten bevat Wild Growth Hair die ervoor zorgen dat het haar groeit?',
]
documents = [
    'Wild Growth Haarolie bestaat uit een compromisloze rijke plantaardige formule die hydrateert, verzorgt en het haar verzacht voor een beter beheerbaar resultaat. Droog, verward en moeilijk te hanteren haar wordt zacht, gezond en minder gevoelig voor gespleten haarpunten en haarbreuk. De haarolie bevordert sterke, volle haargroei voor alle haartypen.',
    'Voor haargroei is het belangrijk om een uitgebalanceerd dieet te hebben met Vitamine C, Biotine (dus Vitamine B7 of Vitamine H) en Niacine (Vitamine B3). Als je niet genoeg van deze vitamines uit je voeding kunt halen, heb je mogelijk een vitaminesupplement nodig voor haargroei.',
    'voor haargroei is het belangrijk om een evenwichtige voeding te hebben met vitamine C, biotine (oftewel vitamine B7 of vitamine H) en niacine (vitamine B3). Als je niet genoeg van deze vitamines in je voeding kunt krijgen, heb je mogelijk een vitamine supplement nodig voor haargroei.',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 384] [3, 384]

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.6174, 0.3061, 0.3132]])

Evaluation

Metrics

Information Retrieval

  • Dataset: beir-nl-scifact
  • Evaluated with InformationRetrievalEvaluator with these parameters:
    {
        "query_prompt_name": "query",
        "corpus_prompt_name": "document"
    }
    
Metric Value
cosine_accuracy@1 0.4767
cosine_accuracy@3 0.6467
cosine_accuracy@5 0.7033
cosine_accuracy@10 0.78
cosine_precision@1 0.4767
cosine_precision@3 0.2278
cosine_precision@5 0.152
cosine_precision@10 0.0867
cosine_recall@1 0.4532
cosine_recall@3 0.6242
cosine_recall@5 0.6854
cosine_recall@10 0.7671
cosine_ndcg@10 0.6157
cosine_mrr@10 0.5736
cosine_map@100 0.5698

Training Details

Training Dataset

msmarco-qwen3-reranker-0.6_b-dutch

  • Dataset: msmarco-qwen3-reranker-0.6_b-dutch at c191414
  • Size: 150,000 training samples
  • Columns: query, positive, negative_1, negative_2, negative_3, and negative_4
  • Approximate statistics based on the first 100 samples:
    query positive negative_1 negative_2 negative_3 negative_4
    type string string string string string string
    modality text text text text text text
    details
    • min: 5 tokens
    • mean: 11.38 tokens
    • max: 37 tokens
    • min: 26 tokens
    • mean: 97.83 tokens
    • max: 256 tokens
    • min: 23 tokens
    • mean: 82.23 tokens
    • max: 179 tokens
    • min: 20 tokens
    • mean: 84.27 tokens
    • max: 188 tokens
    • min: 17 tokens
    • mean: 81.79 tokens
    • max: 190 tokens
    • min: 20 tokens
    • mean: 85.31 tokens
    • max: 184 tokens
  • Samples:
    query positive negative_1 negative_2 negative_3 negative_4
    soorten voedsel in het mediterraan dieet Het bevat voedingsmiddelen die gegeten worden in Griekenland, Spanje, Zuid-Italië en Frankrijk, en andere landen die grenzen aan de Middellandse Zee. Het mediterraan dieet legt de nadruk op het eten van voedingsmiddelen zoals vis, fruit, groenten, bonen, volkorenbrood en volle granen, noten en olijfolie. Vlees, kaas en zoetigheden zijn zeer beperkt. De aanbevolen voedingsmiddelen zijn rijk aan enkelvoudig onverzadigde vetten, vezels en omega-3 vetzuren. Een mediterraan dieet is rijk aan fruit, groenten, noten, vis en volle granen, laag in rood vlees en vrij van bewerkte voedingsmiddelen en toegevoegde suikers. Meer dan alleen een dieet, dit is een manier van leven—door gezonde, goede ingrediënten te eten. Het mediterraan dieet is gebaseerd op verse producten en gezonde vetten, zoals die in olijfolie en bepaalde vissoorten. Vlees en snoep zijn niet volledig verboden, maar worden minder vaak gegeten. Het Mediterrane dieet benadrukt: Voornamelijk plantaardige voedingsmiddelen eten, zoals fruit en groenten, volle granen, peulvruchten en noten. Boter vervangen door gezonde vetten zoals olijfolie en raapzaadolie. Kruid- en specerij gebruik in plaats van zout om voedsel op smaak te brengen. Rode vlees beperken tot niet meer dan een paar keer per maand. Op het menu. Het traditionele mediterrane dieet vraagt om: Het dagelijks eten van een verscheidenheid aan fruit en groenten, zoals druiven, blauwe bessen, tomaten, broccoli, paprika's, vijgen, olijven, spinazie, aubergine, bonen, linzen en kikkererwten.
    waar staat tpdes voor Waar staat TPDES voor? TPDES staat voor Texaanse Afvoer van Verontreinigende Stoffen Eliminatie Systemen. Deze definitie komt zeer zelden voor. Andere bronnen: Acronym Finder heeft 1 geverifieerde definitie voor TPDES. Thermische desorptiespectroscopie, ook wel bekend als temperature programmed desorptie, is de methode om gedesorbeerde moleculen van een oppervlak te observeren wanneer de oppervlaktetemperatuur wordt verhoogd. Veel onderzoekers geven de voorkeur aan de naam TPD omdat het geen spectroscopische methode is. BPC, Artikelen en Woordenlijst. TVS: Transactieverwerkingssysteem. Definitie: Een Transactieverwerkingssysteem (TVS) is een type informatiesysteem dat de gegevensoverdrachten van een onderneming verzamelt, opslaat, wijzigt en opvraagt. Een transactie is elke gebeurtenis die de ACID-test doorstaat, waarbij gegevens worden aangemaakt of gewijzigd voordat ze worden opgeslagen in een informatiesysteem. Al deze gebeurtenissen worden transacties genoemd, en het bijhouden ervan vereist een transactie verwerkingssysteem. Een transactie verwerkingssysteem, of TPS, is een systeem om de gedetailleerde informatie vast te leggen en te verwerken die nodig is om gegevens bij te werken over de fundamentele operaties van een organisatie. Transacties zijn enkele gebeurtenissen die iets veranderen, zoals klantbestellingen, ontvangsten, facturen, betalingen, enz. Wij zijn de Telefoon Voorkeursdienst. De Telefoon Voorkeursdienst (TPS) is een gratis service. Het is het officiële centrale afmeldregister waarop u uw voorkeur kunt vastleggen om geen ongevraagde verkoop- of marketingtelefoontjes te ontvangen.
    wat geef je quails te eten Fruit en groenten. Kwartels houden ook van verschillende soorten fruit en groenten. Na zaden en granen komt een groot deel van hun dieet van verschillende soorten planten, bladeren, fruit en groenten. Een goed dieet voor kwartels zou ongeveer 20 procent groenten, fruit, bladeren en andere ruwvoer moeten bevatten. Traktatie-opties voor kwartels. Fruit zoals hierboven vermeld is een goede traktatie. Groenten zoals sprouts, maïs op de kolf, vogelzaadmengsels en meelwormen zijn ook goede opties. Groenten kunnen echter lastig zijn; de ene dag houden ze van sla en een week later maakt het ze niets meer uit. Naast roofvogels en reptielen zijn er andere dieren die ook kwartels eten. Laten we bespreken welke dieren kwartels eten. Eeters van eieren: Vanaf het moment dat ze geboren worden, worden kwartels beschouwd als prooi voor veel dieren. Echter, voordat ze geboren zijn, kunnen ze als voedsel worden geconsumeerd door veel dieren die op eieren jagen. Dit omvat kleinere dieren zoals wasberen, opossums, stinkdieren en gordeldieren. Volwassen Gambel's kwartels bestaan voor 90 procent uit een vegetarisch dieet. Insecten blijven als aanvulling in hun dieet, vooral tijdens het broedseizoen wanneer hun caloriebehoefte groter is. Vogels zoals juncos, tortelduiven, blauwborsten, mussen en kwartels zijn allemaal vogels die van nature op de grond naar voedsel zoeken. Deze zelfde vogels houden van gierst wanneer het wordt aangeboden in een voederbakje dicht bij de grond. Het is een klein, rond zaadje dat alleen of als onderdeel van een zaadmix kan worden aangeboden.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false,
        "directions": [
            "query_to_doc"
        ],
        "partition_mode": "joint",
        "hardness_mode": null,
        "hardness_strength": 0.0
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 64
  • num_train_epochs: 1
  • learning_rate: 2e-05
  • warmup_steps: 0.1
  • weight_decay: 0.01
  • bf16: True
  • per_device_eval_batch_size: 64
  • load_best_model_at_end: True
  • seed: 12
  • dataloader_num_workers: 4
  • dataloader_persistent_workers: True
  • prompts: {'query': 'query: ', 'positive': 'passage: ', 'negative_1': 'passage: ', 'negative_2': 'passage: ', 'negative_3': 'passage: ', 'negative_4': 'passage: '}
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • per_device_train_batch_size: 64
  • num_train_epochs: 1
  • max_steps: -1
  • learning_rate: 2e-05
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_steps: 0.1
  • optim: adamw_torch_fused
  • optim_args: None
  • weight_decay: 0.01
  • 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: None
  • trackio_bucket_id: None
  • trackio_static_space_id: None
  • per_device_eval_batch_size: 64
  • 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: False
  • hub_private_repo: None
  • hub_model_id: None
  • 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: 12
  • 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: 4
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: True
  • 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_static_graph: None
  • 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: {'query': 'query: ', 'positive': 'passage: ', 'negative_1': 'passage: ', 'negative_2': 'passage: ', 'negative_3': 'passage: ', 'negative_4': 'passage: '}
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Click to expand
Epoch Step Training Loss beir-nl-scifact_cosine_ndcg@10
-1 -1 - 0.5861
0.0004 1 3.3861 -
0.0085 20 3.2457 -
0.0171 40 2.9511 -
0.0256 60 2.0664 -
0.0341 80 1.2748 -
0.0427 100 1.1184 -
0.0512 120 1.1279 -
0.0597 140 1.0501 -
0.0683 160 1.1154 -
0.0768 180 1.1518 -
0.0853 200 1.0187 -
0.0939 220 1.0902 -
0.1024 240 1.0464 -
0.1109 260 1.0206 -
0.1195 280 1.0408 -
0.1280 300 1.0818 -
0.1365 320 1.0755 -
0.1451 340 1.0296 -
0.1536 360 1.0497 -
0.1621 380 1.0716 -
0.1706 400 1.0365 -
0.1792 420 1.0409 -
0.1877 440 0.9963 -
0.1962 460 1.0476 -
0.2048 480 1.0395 -
0.2133 500 1.0039 -
0.2218 520 1.0327 -
0.2304 540 1.0346 -
0.2389 560 0.9957 -
0.2474 580 1.0222 -
0.25 586 - 0.6202
0.2560 600 1.0005 -
0.2645 620 1.0184 -
0.2730 640 1.0125 -
0.2816 660 1.0424 -
0.2901 680 0.9943 -
0.2986 700 0.9690 -
0.3072 720 0.9845 -
0.3157 740 1.0188 -
0.3242 760 0.9896 -
0.3328 780 1.0203 -
0.3413 800 0.9993 -
0.3498 820 1.0404 -
0.3584 840 1.0430 -
0.3669 860 0.9867 -
0.3754 880 1.0534 -
0.3840 900 0.9934 -
0.3925 920 0.9946 -
0.4010 940 1.0034 -
0.4096 960 1.0007 -
0.4181 980 0.9582 -
0.4266 1000 1.0147 -
0.4352 1020 0.9938 -
0.4437 1040 1.0730 -
0.4522 1060 1.0468 -
0.4608 1080 0.9765 -
0.4693 1100 1.0063 -
0.4778 1120 1.0120 -
0.4863 1140 1.0176 -
0.4949 1160 1.0454 -
0.5 1172 - 0.6097
0.5034 1180 1.0275 -
0.5119 1200 0.9978 -
0.5205 1220 0.9888 -
0.5290 1240 0.9789 -
0.5375 1260 0.9848 -
0.5461 1280 0.9710 -
0.5546 1300 1.0878 -
0.5631 1320 0.9385 -
0.5717 1340 0.9926 -
0.5802 1360 0.9739 -
0.5887 1380 0.9859 -
0.5973 1400 0.9709 -
0.6058 1420 1.0233 -
0.6143 1440 0.9326 -
0.6229 1460 0.9815 -
0.6314 1480 0.9792 -
0.6399 1500 0.9444 -
0.6485 1520 0.9770 -
0.6570 1540 1.0340 -
0.6655 1560 1.0019 -
0.6741 1580 0.9905 -
0.6826 1600 0.9653 -
0.6911 1620 0.9611 -
0.6997 1640 0.9555 -
0.7082 1660 1.0545 -
0.7167 1680 1.0200 -
0.7253 1700 0.9202 -
0.7338 1720 0.9654 -
0.7423 1740 0.9734 -
0.75 1758 - 0.5976
0.7509 1760 0.9868 -
0.7594 1780 0.9534 -
0.7679 1800 0.9832 -
0.7765 1820 0.9645 -
0.7850 1840 0.9718 -
0.7935 1860 0.9528 -
0.8020 1880 1.0211 -
0.8106 1900 1.0034 -
0.8191 1920 0.9596 -
0.8276 1940 0.9707 -
0.8362 1960 0.9626 -
0.8447 1980 0.9134 -
0.8532 2000 0.9931 -
0.8618 2020 0.9756 -
0.8703 2040 0.9923 -
0.8788 2060 0.9693 -
0.8874 2080 1.0282 -
0.8959 2100 0.9681 -
0.9044 2120 0.9620 -
0.9130 2140 0.9642 -
0.9215 2160 1.0344 -
0.9300 2180 1.0022 -
0.9386 2200 1.0138 -
0.9471 2220 0.9543 -
0.9556 2240 0.9458 -
0.9642 2260 1.0164 -
0.9727 2280 0.9730 -
0.9812 2300 1.0141 -
0.9898 2320 0.9256 -
0.9983 2340 0.9562 -
1.0 2344 - 0.6056
-1 -1 - 0.6157
  • The bold row denotes the saved checkpoint.

Training Time

  • Training: 29.1 minutes
  • Evaluation: 16.2 seconds
  • Total: 29.3 minutes

Framework Versions

  • Python: 3.11.6
  • Sentence Transformers: 5.5.0.dev0
  • Transformers: 5.6.2
  • PyTorch: 2.10.0+cu128
  • Accelerate: 1.13.0.dev0
  • Datasets: 4.8.4
  • 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",
}

MultipleNegativesRankingLoss

@misc{oord2019representationlearningcontrastivepredictive,
      title={Representation Learning with Contrastive Predictive Coding},
      author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
      year={2019},
      eprint={1807.03748},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/1807.03748},
}
Downloads last month
1
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 tomaarsen/multilingual-e5-small-mmarco-nl

Finetuned
(182)
this model

Dataset used to train tomaarsen/multilingual-e5-small-mmarco-nl

Papers for tomaarsen/multilingual-e5-small-mmarco-nl

Evaluation results