SentenceTransformer based on BAAI/bge-m3

This is a sentence-transformers model finetuned from BAAI/bge-m3. It maps sentences & paragraphs to a 1024-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: BAAI/bge-m3
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'XLMRobertaModel'})
  (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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 = [
    "Convention de liquidation du régime matrimonial pendant l'instance en divorce : acte notarié obligatoire pour les biens soumis à publicité foncière ?",
    "Code civil - Article 265-2\nDes personnes - Du divorce - Des conséquences du divorce - Des conséquences du divorce pour les époux - Dispositions générales.\nLes époux peuvent, pendant l'instance en divorce, passer toutes conventions pour la liquidation et le partage de leur régime matrimonial.\n   Lorsque la liquidation porte sur des biens soumis à la publicité foncière, la convention doit être passée par acte notarié.",
    "Code civil - Article 265-1\nLe divorce est sans incidence sur les droits que l'un ou l'autre des époux tient de la loi ou des conventions passées avec des tiers.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.7003, 0.4054],
#         [0.7003, 1.0000, 0.4614],
#         [0.4054, 0.4614, 1.0000]])

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.9717
cosine_accuracy@3 0.9957
cosine_accuracy@5 0.9983
cosine_accuracy@10 0.9983
cosine_precision@1 0.9717
cosine_precision@3 0.3319
cosine_precision@5 0.1997
cosine_precision@10 0.0998
cosine_recall@1 0.9717
cosine_recall@3 0.9957
cosine_recall@5 0.9983
cosine_recall@10 0.9983
cosine_ndcg@10 0.9876
cosine_mrr@10 0.9839
cosine_map@100 0.9839

Training Details

Training Dataset

Unnamed Dataset

  • Size: 34,744 training samples
  • Columns: sentence_0, sentence_1, and sentence_2
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 sentence_2
    type string string string
    details
    • min: 9 tokens
    • mean: 23.76 tokens
    • max: 47 tokens
    • min: 24 tokens
    • mean: 255.2 tokens
    • max: 512 tokens
    • min: 22 tokens
    • mean: 242.71 tokens
    • max: 512 tokens
  • Samples:
    sentence_0 sentence_1 sentence_2
    Quels sont les éléments obligatoires et les cas de révision de la lettre de mission du commissaire aux comptes ? Code de commerce - Article A821-62
    Partie Arrêtés - De quelques professions réglementées. - Des commissaires aux comptes. - Des commissaires aux comptes, des organismes tiers indépendants et des auditeurs des informations en matière de durabilité. - Du statut des commissaires aux comptes - Des commissaires aux comptes - De l'exercice du contrôle légal - Des modalités d'exercice de la mission - De la lettre de mission
    -la demande d'une confirmation écrite du représentant légal de la personne ou de l'entité pour ce qui concerne les déclarations faites au commissaire aux comptes nécessaires à sa mission ;
    -le rappel de l'obligation de communication avec les organes mentionnés à l'article L. 821-63 du code de commerce ;
    -le budget d'honoraires de la mission de contrôle légal et des autres interventions dont la réalisation est connue au moment de l'établissement de la lettre de mission ainsi que, le cas échéant, la répartition de ce budget entre les co-commissaires aux comptes, et les condi...
    Code de commerce - Article A821-62
    Partie Arrêtés - De quelques professions réglementées. - Des commissaires aux comptes. - Des commissaires aux comptes, des organismes tiers indépendants et des auditeurs des informations en matière de durabilité. - Du statut des commissaires aux comptes - Des commissaires aux comptes - De l'exercice du contrôle légal - Des modalités d'exercice de la mission - De la lettre de mission
    La norme d'exercice professionnel révisée relative à la lettre de mission, homologuée par le garde des sceaux, ministre de la justice, figure ci-dessous :
    NEP 210. Lettre de mission
    Introduction
    1. Les dispositions légales et réglementaires prévoient la mission de contrôle légal dans certaines personnes ou entités. En outre, des interventions autres que le contrôle légal sont expressément et exclusivement requises du commissaire aux comptes de la personne ou de l'entité par les dispositions légales ou réglementaires ou par des dispositions du droit de l'Union européenne ay...
    Où consulter la liste provisoire des caisses de mutualité sociale agricole ? Code rural et de la pêche maritime - Article R723-28
    La liste provisoire peut être consultée au siège de la caisse de mutualité sociale agricole et, lorsqu'il s'agit d'une caisse pluridépartementale, au lieu de chacun des établissements départementaux sur support papier ou électronique.
    Code rural et de la pêche maritime - Article R723-26
    Partie réglementaire - Dispositions sociales - Organisation générale des régimes de protection sociale des professions agricoles - Organismes de protection sociale des professions agricoles - Assemblées générales et conseils d'administration des caisses de mutualité sociale agricole - Elections des délégués cantonaux - Dispositions générales.
    Les conditions pour être électeur, définies à l'article L. 723-19, sont appréciées au 1er avril de l'année précédant celle de l'élection.
    Pour l'application du premier alinéa de l'article L. 723-19, les personnes auxquelles un échéancier de paiement de leurs cotisations a été accordé en application des dispositions du présent code sont considérées comme ayant acquitté ces cotisations dès lors que les échéances prévues sont respectées.
    Comment majorer un actif d'impôt différé lié à une perte qualifiée au taux minimum ? Code général des impôts - Article 223 VU quinquies
    Assiette et liquidation de l'impôt - Impôts d'État - Impôts directs et taxes assimilées - Imposition minimale mondiale des groupes d'entreprises multinationales et des groupes nationaux - Calcul du taux effectif d'imposition - Détermination du numérateur : calcul du montant corrigé des impôts couverts - Montant total de la correction pour impôt différé
    Par dérogation au 1° de l'article 223 VU bis, l'actif d'impôt différé qui est lié à la constatation d'un déficit par une entité constitutive et qui a été comptabilisé au titre d'un exercice et déterminé en application d'un taux inférieur au taux minimum d'imposition peut être majoré en application du taux minimum d'imposition au titre de ce même exercice, si l'entité constitutive est en mesure de démontrer que cet actif d'impôt différé est attribuable à une perte qualifiée.
    Lorsque le montant de l'actif d'impôt différé couvert est corrigé en application du premier alinéa du présent arti...
    Code général des impôts - Article 223 VU ter
    Assiette et liquidation de l'impôt - Impôts d'État - Impôts directs et taxes assimilées - Imposition minimale mondiale des groupes d'entreprises multinationales et des groupes nationaux - Calcul du taux effectif d'imposition - Détermination du numérateur : calcul du montant corrigé des impôts couverts - Montant total de la correction pour impôt différé
    Lorsque, au titre d'un exercice, un actif d'impôt différé lié à la constatation d'un déficit n'est pas comptabilisé dans les états financiers au motif que les critères permettant sa comptabilisation ne sont pas remplis, le montant total de la correction pour impôt différé mentionné à l'article 223 VU bis est minoré du montant de cet actif d'impôt différé, déterminé comme s'il devait être comptabilisé conformément à la norme de comptabilité financière utilisée et retenu en application du présent article.
  • 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: 4
  • per_device_eval_batch_size: 4
  • fp16: True
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • 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: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1
  • num_train_epochs: 3
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • 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
  • bf16: False
  • fp16: True
  • 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: 0
  • dataloader_prefetch_factor: None
  • 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}
  • parallelism_config: None
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch_fused
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • project: huggingface
  • trackio_space_id: trackio
  • 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: no
  • 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: True
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss notarial-eval_cosine_ndcg@10
0.0576 500 0.1604 -
0.1151 1000 0.113 -
0.1727 1500 0.0933 -
0.2303 2000 0.0985 -
0.2878 2500 0.1137 -
0.3454 3000 0.128 -
0.4029 3500 0.1042 -
0.4605 4000 0.1132 -
0.5181 4500 0.1289 -
0.5756 5000 0.1185 -
0.6332 5500 0.1119 -
0.6908 6000 0.1013 -
0.7483 6500 0.1081 -
0.8059 7000 0.1237 -
0.8635 7500 0.0925 -
0.9210 8000 0.0998 -
0.9786 8500 0.0953 -
1.0 8686 - 0.9876

Framework Versions

  • Python: 3.12.3
  • Sentence Transformers: 5.3.0
  • Transformers: 4.57.3
  • PyTorch: 2.10.0+cu130
  • Accelerate: 1.12.0
  • 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
-
Safetensors
Model size
0.6B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for baconnier/xp-mteb-dense-fr-v4-063a

Base model

BAAI/bge-m3
Finetuned
(412)
this model

Papers for baconnier/xp-mteb-dense-fr-v4-063a

Evaluation results