SentenceTransformer

This is a sentence-transformers model trained on the pairs and triplets datasets. 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 Type: Sentence Transformer
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Datasets:
    • pairs
    • triplets

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False, 'architecture': 'ModernBertModel'})
  (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("sentence_transformers_model_id")
# Run inference
sentences = [
    'GALD0011',
    'Pose unilatérale ou bilatérale de prothèse de calibrage de la cavité nasale - 1° activité chir/med',
    'JDHE002 Biopsie de la vessie à la pince, par endoscopie',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.7786, 0.1076],
#         [0.7786, 1.0000, 0.0230],
#         [0.1076, 0.0230, 1.0000]])

Training Details

Training Datasets

pairs

  • Dataset: pairs
  • Size: 595,409 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 4 tokens
    • mean: 19.65 tokens
    • max: 87 tokens
    • min: 3 tokens
    • mean: 43.31 tokens
    • max: 720 tokens
  • Samples:
    anchor positive
    LEPA0024 Ostéotomie antérieure ou discectomie totale pour déformation rigide de la colonne vertébrale avec arthrodèse, sans correction instrumentale, sur 1 à 3 vertèbres, par thoracotomie - anesthésie LEPA002 Ostéotomie antérieure ou discectomie totale pour déformation rigide de la colonne vertébrale avec arthrodèse, sans correction instrumentale, sur 1 à 3 vertèbres, par thoracotomie
    Z11.8 Examen spécial de dépistage d'autres maladies infectieuses et parasitaires Maladies à Rickettsia
    FBFA003 Exérèse du thymus vestigial, par thoracotomie YYYY041 Supplément pour récupération peropératoire de sang
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false
    }
    

triplets

  • Dataset: triplets
  • Size: 172,399 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 6 tokens
    • mean: 24.74 tokens
    • max: 73 tokens
    • min: 4 tokens
    • mean: 618.25 tokens
    • max: 1599 tokens
    • min: 8 tokens
    • mean: 613.92 tokens
    • max: 1630 tokens
  • Samples:
    anchor positive negative
    Z23.5 Nécessité d'une vaccination contre le tétanos seul Le code Z23.5, qui désigne la nécessité d'une vaccination contre le tétanos seul, s'inscrit dans le cadre plus large du groupe nosologique Z23, « Nécessité d'une vaccination contre une seule maladie bactérienne ». Ce groupe inclut plusieurs codes spécifiques selon l'agent infectieux ciblé, permettant une distinction fine entre les différents besoins vaccinaux. Ainsi, Z23.5 doit être différencié de Z23.0 (nécessité d'une vaccination contre le choléra seul), Z23.1 (nécessité d'une vaccination contre la typhoïde-paratyphoïde seule [TAB]), Z23.2 (nécessité d'une vaccination contre la tuberculose [BCG]), Z23.3 (nécessité d'une vaccination contre la peste), Z23.4 (nécessité d'une vaccination contre la tularémie), Z23.6 (nécessité d'une vaccination contre la diphtérie seule), Z23.7 (nécessité d'une vaccination contre la coqueluche seule) et Z23.8 (nécessité d'une vaccination contre d'autres maladies bactériennes uniques). Chacun de ces codes correspond à une indication vaccinale spécifique et... Le code Z23.1, qui désigne la nécessité d'une vaccination contre la typhoïde-paratyphoïde seule (vaccination TAB), s'inscrit dans le cadre des actes préventifs liés à une immunisation spécifique contre une maladie bactérienne unique. Ce code appartient à la catégorie plus large Z23, « Nécessité d'une vaccination contre une seule maladie bactérienne », qui regroupe l'ensemble des situations où une vaccination ciblant une bactérie spécifique est indiquée. Pour distinguer Z23.1 des autres codes proches, il est essentiel de considérer l'agent infectieux visé par la vaccination.

    Parmi les codes du même groupe nosologique, Z23.6 correspond à la nécessité d'une vaccination contre la diphtérie seule, tandis que Z23.7 concerne la coqueluche, Z23.5 le tétanos, Z23.0 le choléra, Z23.2 la tuberculose (BCG), Z23.3 la peste, Z23.4 la tularémie, et Z23.8 regroupe les autres maladies bactériennes uniques non spécifiées ailleurs. Tous ces codes sont mutuellement exclusifs selon le germe ciblé, et leur...
    H74.3 Autres anomalies acquises des osselets Le code H74.3 désigne les anomalies acquises des osselets, notamment l’ankylose des osselets et la perte partielle des osselets. Ce diagnostic doit être distingué d’autres affections de l’oreille moyenne appartenant au même groupe nosologique ou à des catégories voisines. Ainsi, la tympanosclérose (H74.0), caractérisée par une calcification de la membrane tympanique ou des structures de l’oreille moyenne, peut présenter des similitudes cliniques mais se distingue par sa physiopathologie et ses lésions histologiques spécifiques. Une autre entité proche est le polype de l’oreille moyenne (H74.4), souvent associé à une inflammation chronique et une prolifération granulationnelle, qui doit être différencié sur la base de l’aspect endoscopique et histologique. La dissociation ou la dislocation des osselets (H74.2) représente une atteinte mécanique ou traumatique des chaînes ossiculaires, identifiable par imagerie ou exploration fonctionnelle, contrairement à l’ankylose incluse dans H74.3. U... Le code H74.4 désigne un polype de l'oreille moyenne, une affection acquise caractérisée par la formation d'une excroissance muqueuse bénigne dans la cavité tympanique, souvent secondaire à une inflammation chronique. Ce diagnostic doit être distingué de plusieurs autres affections de l'oreille moyenne classées dans le même chapitre (H74), qui regroupe les anomalies acquises de cette région.

    Un diagnostic différentiel proche est H74.2, correspondant à une dissociation ou une dislocation des osselets, souvent post-traumatique ou liée à une otite chronique destructive. Il faut également évoquer H74.0 (tympanosclérose), caractérisée par des dépôts de collagène hyalin dans la membrane tympanique ou la muqueuse de l'oreille moyenne, pouvant entraîner une rigidité de la chaîne ossiculaire. L’ankylose ou la perte partielle des osselets, regroupées sous le code H74.3 (autres anomalies acquises des osselets), constituent d'autres causes mécaniques de surdité de transmission à différencier du p...
    M79.96 Affection des tissus mous, sans précision - " Jambe " Le code CIM-10 M79.96 désigne une affection des tissus mous, non précisée, localisée à la jambe. Ce code inclut également les atteintes du péroné, du tibia et de l’articulation du genou, bien qu’il ne spécifie pas la nature exacte de la lésion. Il s’inscrit dans la catégorie plus large M79.9, qui regroupe toutes les affections des tissus mous sans précision, avec une localisation ostéoarticulaire. Cette catégorie exclut expressément la douleur psychogène des tissus mous, codée F45.4. Les subdivisions de localisation (de 0 à 9) permettent d’indiquer le siège anatomique de l’atteinte, notamment la jambe (code 6), et facilitent une codification plus précise dans le cadre du chapitre XIII du CIM-10 relatif aux affections du système ostéoarticulaire et du tissu conjonctif.

    Le code M79.97 correspond à la fibromyalgie, une entité clinique fréquemment associée aux douleurs diffuses ou localisées des tissus mous, également susceptible d’affecter la jambe. Bien que distincte dans sa physiopatho...
    Le code CIM-10 M79.92 désigne une affection des tissus mous, sans précision, localisée au bras. Ce code couvre notamment les atteintes concernant l'humérus et l'articulation du coude, et peut être utilisé de manière synonyme dans ces localisations. Pour distinguer M79.92 des autres entités diagnostiques proches, une attention particulière doit être portée à la localisation anatomique précise de la symptomatologie.

    En effet, M79.92 doit être différencié de M79.93, qui concerne les affections des tissus mous de l'avant-bras, incluant le radius, le cubitus et l'articulation du poignet. De même, M79.91 correspond à une atteinte de la région scapulaire, englobant la clavicule, l'omoplate, ainsi que les articulations acromioclaviculaire, scapulohumérale et sternoclaviculaire, ce qui permet d'exclure une localisation plus distale comme le bras proprement dit.

    Parmi les autres codes de la même catégorie, M79.95 concerne la région pelvienne et la cuisse (bassin, fémur, fesses, articulation de...
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.COSINE",
        "triplet_margin": 0.5
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 4
  • gradient_accumulation_steps: 16
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • warmup_ratio: 0.1
  • fp16: True
  • dataloader_num_workers: 4
  • ddp_find_unused_parameters: False

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: 8
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 16
  • 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: 3
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • 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
  • 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: True
  • dataloader_num_workers: 4
  • 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: False
  • 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: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Click to expand
Epoch Step Training Loss
0.0167 100 0.9901
0.0333 200 0.698
0.0500 300 0.411
0.0667 400 0.2986
0.0834 500 0.2381
0.1000 600 0.1955
0.1167 700 0.1746
0.1334 800 0.15
0.1500 900 0.1356
0.1667 1000 0.1214
0.1834 1100 0.1179
0.2001 1200 0.1044
0.2167 1300 0.0846
0.2334 1400 0.0852
0.2501 1500 0.0736
0.2667 1600 0.068
0.2834 1700 0.0618
0.3001 1800 0.0571
0.3167 1900 0.0486
0.3334 2000 0.0551
0.3501 2100 0.0457
0.3668 2200 0.0493
0.3834 2300 0.0395
0.4001 2400 0.0421
0.4168 2500 0.0352
0.4334 2600 0.0352
0.4501 2700 0.0365
0.4668 2800 0.0352
0.4835 2900 0.0327
0.5001 3000 0.0313
0.5168 3100 0.0354
0.5335 3200 0.0298
0.5501 3300 0.0306
0.5668 3400 0.0338
0.5835 3500 0.0293
0.6002 3600 0.0269
0.6168 3700 0.0278
0.6335 3800 0.0277
0.6502 3900 0.0265
0.6668 4000 0.0302
0.6835 4100 0.0284
0.7002 4200 0.0246
0.7169 4300 0.0243
0.7335 4400 0.0267
0.7502 4500 0.0277
0.7669 4600 0.0236
0.7835 4700 0.0261
0.8002 4800 0.0252
0.8169 4900 0.025
0.8336 5000 0.0221
0.8502 5100 0.0261
0.8669 5200 0.0229
0.8836 5300 0.023
0.9002 5400 0.0211
0.9169 5500 0.0222
0.9336 5600 0.0221
0.9502 5700 0.024
0.9669 5800 0.0239
0.9836 5900 0.0208
1.0002 6000 0.0235
1.0168 6100 0.0213
1.0335 6200 0.0222
1.0502 6300 0.0207
1.0669 6400 0.0187
1.0835 6500 0.0224
1.1002 6600 0.0202
1.1169 6700 0.022
1.1335 6800 0.0183
1.1502 6900 0.0214
1.1669 7000 0.0181
1.1835 7100 0.0168
1.2002 7200 0.0167
1.2169 7300 0.0158
1.2336 7400 0.02
1.2502 7500 0.014
1.2669 7600 0.0149
1.2836 7700 0.0143
1.3002 7800 0.0158
1.3169 7900 0.0128
1.3336 8000 0.0157
1.3503 8100 0.014
1.3669 8200 0.0148
1.3836 8300 0.0128
1.4003 8400 0.0141
1.4169 8500 0.0114
1.4336 8600 0.0124
1.4503 8700 0.0128
1.4670 8800 0.0122
1.4836 8900 0.011
1.5003 9000 0.0126
1.5170 9100 0.013
1.5336 9200 0.0129
1.5503 9300 0.0122
1.5670 9400 0.012
1.5837 9500 0.0108
1.6003 9600 0.0108
1.6170 9700 0.0117
1.6337 9800 0.0122
1.6503 9900 0.0093
1.6670 10000 0.012
1.6837 10100 0.0106
1.7003 10200 0.0096
1.7170 10300 0.0095
1.7337 10400 0.0111
1.7504 10500 0.0125
1.7670 10600 0.0114
1.7837 10700 0.0105
1.8004 10800 0.0106
1.8170 10900 0.0111
1.8337 11000 0.0096
1.8504 11100 0.0111
1.8671 11200 0.0112
1.8837 11300 0.0111
1.9004 11400 0.0101
1.9171 11500 0.01
1.9337 11600 0.009
1.9504 11700 0.011
1.9671 11800 0.011
1.9838 11900 0.0093
2.0003 12000 0.0113
2.0170 12100 0.0091
2.0337 12200 0.0106
2.0503 12300 0.0092
2.0670 12400 0.0091
2.0837 12500 0.0105
2.1004 12600 0.0096
2.1170 12700 0.011
2.1337 12800 0.0093
2.1504 12900 0.0105
2.1670 13000 0.0088
2.1837 13100 0.0089
2.2004 13200 0.0092
2.2171 13300 0.0079
2.2337 13400 0.0095
2.2504 13500 0.0075
2.2671 13600 0.0083
2.2837 13700 0.0074
2.3004 13800 0.0083
2.3171 13900 0.0075
2.3338 14000 0.0089
2.3504 14100 0.0083
2.3671 14200 0.0084
2.3838 14300 0.0073
2.4004 14400 0.0085
2.4171 14500 0.0064
2.4338 14600 0.0073
2.4505 14700 0.0081
2.4671 14800 0.0067
2.4838 14900 0.0066
2.5005 15000 0.0077
2.5171 15100 0.0079
2.5338 15200 0.0082
2.5505 15300 0.0075
2.5671 15400 0.0074
2.5838 15500 0.0063
2.6005 15600 0.0064
2.6172 15700 0.0072
2.6338 15800 0.0082
2.6505 15900 0.0051
2.6672 16000 0.0083
2.6838 16100 0.0063
2.7005 16200 0.0058
2.7172 16300 0.0058
2.7339 16400 0.0072
2.7505 16500 0.008
2.7672 16600 0.0072
2.7839 16700 0.0065
2.8005 16800 0.0062
2.8172 16900 0.0069
2.8339 17000 0.0061
2.8506 17100 0.0067
2.8672 17200 0.0074
2.8839 17300 0.0077
2.9006 17400 0.0068
2.9172 17500 0.0069
2.9339 17600 0.006
2.9506 17700 0.008
2.9673 17800 0.0067
2.9839 17900 0.0061

Framework Versions

  • Python: 3.12.12
  • Sentence Transformers: 5.2.0
  • Transformers: 4.57.6
  • PyTorch: 2.9.1+cu128
  • Accelerate: 1.12.0
  • Datasets: 4.5.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",
}

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

TripletLoss

@misc{hermans2017defense,
    title={In Defense of the Triplet Loss for Person Re-Identification},
    author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
    year={2017},
    eprint={1703.07737},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}
Downloads last month
-
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

Papers for rntc/medembed-v9