SentenceTransformer based on intfloat/multilingual-e5-base

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-base on the grag-chunk-idf-pos-neg dataset. It maps sentences & paragraphs to a 768-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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 768, '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("Lettria/idf-chunk_embedder-contrastive2")
# Run inference
sentences = [
    "Comment un établissement scolaire en région parisienne peut-il s'inscrire pour accéder à des ateliers gratuits traitant de la citoyenneté?",
    'Les associations dont les statuts permettent la création de jardins familiaux, pédagogiques,\xa0partagés, collectifs ou d’insertion, ou leurs confèrent un rôle de conservatoire des espaces\xa0naturels',
    "Les projets sont à déposer avant le 15 mai 2024 sur mesdemarches.iledefrance.fr. - Soutien à l'investissement des écoles et instituts dispensant des formations sanitaires, n° de téléservice : 00000481",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Semantic Similarity

Metric Value
pearson_cosine 0.7151
spearman_cosine 0.7155

Binary Classification

Metric Value
cosine_accuracy 0.8479
cosine_accuracy_threshold 0.5693
cosine_f1 0.8469
cosine_f1_threshold 0.5693
cosine_precision 0.8525
cosine_recall 0.8413
cosine_ap 0.9117

Training Details

Training Dataset

grag-chunk-idf-pos-neg

  • Dataset: grag-chunk-idf-pos-neg at 850d214
  • Size: 7,392 training samples
  • Columns: sentence1, sentence2, and label
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 label
    type string string int
    details
    • min: 8 tokens
    • mean: 29.29 tokens
    • max: 69 tokens
    • min: 10 tokens
    • mean: 60.65 tokens
    • max: 297 tokens
    • 0: ~51.70%
    • 1: ~48.30%
  • Samples:
    sentence1 sentence2 label
    Aide de la Région pour le permis B : forme d'allocation et conditions d'utilisation L’aide prend la forme d’un "chèque permis de conduire" de 1.300€ décomposé en 3 coupons : le 1er d’une valeur de 300€ et les 2 suivants de 500€. Les coupons sont dématérialisés, nominatifs, non transmissibles et non monnayables, valables 12 mois. Ils doivent être remis à l’auto-école choisie 1
    Quels types d'entreprises en Île-de-France sont éligibles pour un accompagnement visant à améliorer leur compétitivité et à réduire leur empreinte carbone? bénéficiaires: TPE (à partir de 5 salariés), PME et ETI industrielles, qui ont au moins 1 site de production en Île-de-France, quelle que soit la maturité de l’entreprise sur l’excellence opérationnelle et les enjeux de transitions numérique, énergétique et environnementale 1
    En tant que responsable d'une association régie par la loi de 1901, est-il possible de solliciter le renouvellement d'une accréditation pour une formation dans le domaine du travail social? Pour le 2d versement, d’un montant de 1.400€ (si le stagiaire remplit les conditions supra), le stagiaire accède à son dossier sur mesdemarches.iledefrance.fr dans les 3 mois suivant la date de fin de formation et dépose les pièces suivantes : Attestation de formation (mentionnant la durée de formation suivie),Contrat de travailAttestation de présence en emploi 0
  • Loss: ContrastiveLoss with these parameters:
    {
        "distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
        "margin": 0.5,
        "size_average": true
    }
    

Evaluation Dataset

grag-chunk-idf-pos-neg

  • Dataset: grag-chunk-idf-pos-neg at 850d214
  • Size: 1,374 evaluation samples
  • Columns: sentence1, sentence2, and label
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 label
    type string string int
    details
    • min: 7 tokens
    • mean: 29.42 tokens
    • max: 54 tokens
    • min: 11 tokens
    • mean: 68.05 tokens
    • max: 311 tokens
    • 0: ~49.10%
    • 1: ~50.90%
  • Samples:
    sentence1 sentence2 label
    Quels critères doivent être satisfaits pour bénéficier d'un soutien financier de la région en tant qu'association patrimoniale ? Type de project: La Région Île-de-France finance la construction, l’acquisition et la réhabilitation de lieux d’accueil et/ou d’hébergement temporaire dédiés aux jeunes en rupture sociale et familiale. La subvention portera sur le gros œuvre nécessaire. Dans le cas où le lieu d’accueil est acquis au préalable, la Région peut également financer l’aménagement du lieu d’accueil lorsqu’il vise à l’élargissement du projet initial 0
    Conditions d'éligibilité association francilienne soutien gestion durable forêts? Bénéficiaires: Association - Régie par la loi de 1901, Particulier - Francilien, Professionnel - PME < 250, Professionnel - TPE < 10 1
    Délai réponse demande aide diagnostic cybersécurité région Île-de-France En mobilisant les expertises complémentaires des services régionaux et des partenaires associés, l’accompagnement technique permettra de préciser le diagnostic de la situation et dresser une première liste d’outils et de pistes d’actions à mener pour lever les freins au projet 0
  • Loss: ContrastiveLoss with these parameters:
    {
        "distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
        "margin": 0.5,
        "size_average": true
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • gradient_accumulation_steps: 8
  • num_train_epochs: 10
  • warmup_steps: 739

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • 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: 8
  • 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.0
  • num_train_epochs: 10
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • warmup_steps: 739
  • 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: False
  • 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: 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}
  • 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: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • 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
  • dispatch_batches: None
  • split_batches: 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
  • eval_use_gather_object: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss EmbeddingSimEval_spearman_cosine BinaryClassifEval_cosine_ap
8.0 1848 0.0053 0.0260 0.7183 0.9145
10.0 2310 - 0.0269 0.7155 0.9117

Framework Versions

  • Python: 3.11.9
  • Sentence Transformers: 3.3.1
  • Transformers: 4.45.2
  • PyTorch: 2.4.1+cu121
  • Accelerate: 1.2.1
  • Datasets: 3.2.0
  • Tokenizers: 0.20.3

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",
}

ContrastiveLoss

@inproceedings{hadsell2006dimensionality,
    author={Hadsell, R. and Chopra, S. and LeCun, Y.},
    booktitle={2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06)},
    title={Dimensionality Reduction by Learning an Invariant Mapping},
    year={2006},
    volume={2},
    number={},
    pages={1735-1742},
    doi={10.1109/CVPR.2006.100}
}
Downloads last month
5
Safetensors
Model size
278M params
Tensor type
F32
·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.

Model tree for Lettria/idf-chunk_embedder-contrastive2

Finetuned
(42)
this model

Evaluation results