SentenceTransformer based on intfloat/multilingual-e5-small

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-small. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: intfloat/multilingual-e5-small
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 384 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'BertModel'})
  (1): Pooling({'word_embedding_dimension': 384, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, '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("sentence_transformers_model_id")
# Run inference
sentences = [
    "interet: S'intéresse aux réglementations et normes",
    'reaction: 900 000 euros.\\nC’est le prix d’un consentement mal géré.\\n\\nLa CNIL vient de sanctionner Solocal Marketing Services pour des manquements au RGPD et à la législation sur la prospection électronique.\\n\\nLe reproche est clair :\\n👉 Des campagnes envoyées sans consentement explicite.\\n👉 Un cadre légal non respecté.\\n👉 Et une logique de volume qui finit par coûter très cher.\\n\\nAmende immédiate : 900 000 €. \\nMais ce n’est pas tout :\\n- Interdiction de poursuivre les opérations de prospection dans ces conditions\\n- Astreinte de 10 000 € par jour de retard\\n- Obligation de se mettre en conformité sous 9 mois\\n\\n📌 Ce qu’il faut comprendre :\\n\\nLe RGPD n’est plus un simple sujet “compliance”.\\nC’est un pilier de confiance client.\\nEt c’est surtout un risque opérationnel majeur si on le traite à la légère.\\n\\nOui, la data est précieuse.\\nMais sans cadre solide, elle devient toxique.\\n\\nEt non, le consentement n’est pas une formalité.\\nC’est un levier stratégique de performance durable.\\n\\nLe respect du cadre n’est pas une contrainte.\\nC’est une condition de pérennité.\\n\\nOn peut s’en indigner.\\nOu s’en inspirer pour agir.\\n\\nEt vous, votre gestion de la data est-elle vraiment conforme ?\\nOu juste "pas encore pénalisée" ?',
    'reaction: Everything takes longer than you think...\n\nWhen you do it for yourself, there is no "timeline" - when you do it for others or the outcome, the timeline is always too close and right in your face.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000,  0.5416, -0.2799],
#         [ 0.5416,  1.0000, -0.2037],
#         [-0.2799, -0.2037,  1.0000]])

Training Details

Training Dataset

Unnamed Dataset

  • Size: 143,874 training samples
  • Columns: anchor, positive, negative1, and negative2
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative1 negative2
    type string string string string
    details
    • min: 9 tokens
    • mean: 19.0 tokens
    • max: 36 tokens
    • min: 8 tokens
    • mean: 252.27 tokens
    • max: 512 tokens
    • min: 6 tokens
    • mean: 180.9 tokens
    • max: 512 tokens
    • min: 6 tokens
    • mean: 195.93 tokens
    • max: 512 tokens
  • Samples:
    anchor positive negative1 negative2
    interet: S'informe sur des innovations en point de vente reaction: #songwriting #musiclicensing #musicbusiness #composing #musicproduction #musicsupervision #synclicensing reaction: France Bleu : il ne s'agit PAS d'une "vague de froid". Une vague de froid est un épisode de froid intense pendant plusieurs jours consécutifs sur une large étendue géographique.\n\nL'arrivée d'une vague d'air polaire provenant d'Islande et du Groenland fait tomber les températures en dessous des normales de saison aujourd'hui et dans les prochains jours.\n\nAu niveau de la France, les températures sont de -3,9°C par rapport aux moyennes de référence sur la période 1971-2000.\n\nIl fait donc bel et bien froid pour la saison.\n\nS'agit-il d'une vague de froid pour autant ? Absolument pas. \n\nPour caractériser une vague de froid, les trois critères suivants doivent être réunis : \n👉 au moins une fois sous − 2 °C \n👉 ne remonte pas durablement (plus de deux jours) au-dessus de 0,9 °C \n👉 interruption de l’épisode dès lors que la valeur est > 2,2 °C\n\nUtiliser des termes proportionnés pour décrire la situation météorologique dans les médias est à la fois gage de la qualité de l'... reaction: "Artists! Fridays music pitch goes to over 2100 label and playlist contacts, inbox me asap."
    interet: S'informe sur des stratégies de communication reaction: In 2025, media success isn’t just about content—it’s about connections.\n\nTop-performing media companies are integrating CRM to:\n\n- Boost ad sales with smarter pipelines\n- Deepen audience engagement through personalized insights\n- Maximize campaign ROI with real-time data\n\nExplore below how CRM is reshaping media strategy:\n \n\n#CRM #MediaTech #AdSales #AudienceEngagement reaction: La manière juste de comparer l'avion et le train.
    Ça saute aux yeux que l'avion n'est pas obligatoirement le plus rapide.
    L'erreur qui arrange bien les compagnies aériennes : regarder uniquement le temps de vol.

    J'ai fait l'exercice l'année dernière pour convaincre mes amies de venir me voir en train.
    Pour le temps, il faut ajouter :
    - 2h de transport pour les trajets vers et depuis les aéroports
    - 2h minimum pour le temps à l'aéroport avant et après l'atterrissage de l'avion

    Donc Paris - Munich en avion, ce n'est pas 1h30, c'est 5h30.
    Et Paris - Munich en train, c'est 6h45, incluant 1h de trajet vers et depuis les gares.

    Pour le prix, il faut ajouter 27 € pour les billets aéroports - centre ville. Comparé à +5 € pour les tickets de métro.

    Résultats : mes 3 copines sont venues en train, de Paris et de Genève 😀

    Et pour rajouter un critère, en terme de confort, il n'y a pas photo entre le train et l'avion. On voyage, on se détend, on travaille beaucoup mieux en train.

    Le...
    citation: Situé entre deux villages somptueux, ce camping de l'Aveyron devient Ushuaïa Villages
    interet: S'informe sur des stratégies financières reaction: 🚀 KPMG France x Jedox : une alliance stratégique pour digitaliser la fonction finance en France !\nNous sommes fiers d’annoncer notre collaboration avec KPMG France. \nCe partenariat vise à accélérer la transformation des équipes financières françaises, en combinant :\n✅ L’expertise sectorielle et méthodologique de KPMG\n✅ La puissance technologique de Jedox en matière de planification financière (FP&A), prévisions intelligentes et rolling forecast\n💬 « En combinant l’expertise de KPMG France avec la plateforme EPM de Jedox, les entreprises françaises peuvent personnaliser des solutions qui améliorent l’efficacité, la scalabilité et la prise de décision. »\n — Dr. Christoph Streng, CCO, Jedox\n🤝 Cette alliance permet de proposer une approche complète : cadrage des besoins, accompagnement au changement, et déploiement d’une technologie intuitive, interopérable avec Excel, et reconnue par le Gartner® Magic Quadrant™.\n📊 L’ambition : aider les entreprises à mieux piloter leur pe... author: 📰#MUBUTVNews Florence Welch Reveals She Had Emergency Surgery: ‘It Saved My Life’ The Florence + The Machine frontwoman explained why recent shows were canceled. author: Sometimes the hardest thing to do is start …

    Don't stop until you're insanely proud of yourself ❤️
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • learning_rate: 2e-05
  • weight_decay: 0.01
  • num_train_epochs: 1
  • lr_scheduler_type: warmup_stable_decay
  • lr_scheduler_kwargs: {'num_decay_steps': 1798}
  • warmup_ratio: 0.1
  • bf16: True
  • dataloader_num_workers: 8
  • dataloader_prefetch_factor: 2
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 8
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 1
  • max_steps: -1
  • lr_scheduler_type: warmup_stable_decay
  • lr_scheduler_kwargs: {'num_decay_steps': 1798}
  • warmup_ratio: 0.1
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: True
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 8
  • dataloader_prefetch_factor: 2
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • hub_revision: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss
0.0278 500 1.6184
0.0556 1000 0.9078
0.0834 1500 0.8383
0.1112 2000 0.8251
0.1390 2500 0.7961
0.1668 3000 0.7986
0.1946 3500 0.7835
0.2224 4000 0.7636
0.2502 4500 0.782
0.2780 5000 0.7237
0.3058 5500 0.7166
0.3336 6000 0.7381
0.3614 6500 0.7197
0.3892 7000 0.6905
0.4170 7500 0.692
0.4448 8000 0.6539
0.4726 8500 0.7034
0.5004 9000 0.6691
0.5282 9500 0.6506
0.5560 10000 0.6534
0.5838 10500 0.6702
0.6116 11000 0.6543
0.6394 11500 0.6305
0.6672 12000 0.6598
0.6950 12500 0.6494
0.7228 13000 0.6556
0.7506 13500 0.6169
0.7784 14000 0.6248
0.8062 14500 0.6246
0.8340 15000 0.6353
0.8618 15500 0.6338
0.8896 16000 0.5994
0.9174 16500 0.6073
0.9452 17000 0.6026
0.9730 17500 0.6023

Framework Versions

  • Python: 3.13.5
  • Sentence Transformers: 5.0.0
  • Transformers: 4.53.2
  • PyTorch: 2.7.1+cu126
  • Accelerate: 1.8.1
  • Datasets: 4.0.0
  • Tokenizers: 0.21.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{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}
Downloads last month
16
Safetensors
Model size
118M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for meet-magnet/content_v2

Quantized
(7)
this model