st-SIT-test / README.md
adriansanz's picture
Add new SentenceTransformer model.
923e0bd verified
metadata
base_model: BAAI/bge-m3
datasets: []
language:
  - es
library_name: sentence-transformers
license: apache-2.0
metrics:
  - cosine_accuracy@1
  - cosine_accuracy@3
  - cosine_accuracy@5
  - cosine_accuracy@10
  - cosine_precision@1
  - cosine_precision@3
  - cosine_precision@5
  - cosine_precision@10
  - cosine_recall@1
  - cosine_recall@3
  - cosine_recall@5
  - cosine_recall@10
  - cosine_ndcg@10
  - cosine_mrr@10
  - cosine_map@100
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:81
  - loss:MatryoshkaLoss
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: >-
      Disposeu del servei OAC360º d'assistència en la tramitació electrònica amb
      el que podeu contactar de dilluns a divendres de 08:00 a 20:00 a través
      del tel. 935 955 094, del correu oac360@sitges.cat, o del servei Truca'm,
      omplint el formulari perquè us truquin.
    sentences:
      - >-
        Com es pot demanar la comunicació prèvia d'obres per instal·lacions de
        plaques solars en sol urbà?
      - Quin és el correu electrònic per contactar amb el servei OAC360º?
      - Quin és l'efecte del silenci administratiu?
  - source_sentence: >-
      Positiu, llevat els casos en els quals manquin informes preceptius i
      vinculants d’altres administracions o d’aquells en els què es
      transfereixin al sol·licitant facultats contràries al planejament i la
      legislació urbanística.
    sentences:
      - Quin és el document que cal aportar per a aquest tràmit?
      - >-
        Quin és el lloc on es pot tramitar la presentació de justificants de
        pagament per als ajuts del lloguer just dels habitatges?
      - >-
        Quin és el sentit del silenci administratiu per a la comunicació prèvia
        d'obres per instal·lacions de plaques solars en sol urbà?
model-index:
  - name: BGE large Legal Spanish
    results:
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 1024
          type: dim_1024
        metrics:
          - type: cosine_accuracy@1
            value: 0.1111111111111111
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.3333333333333333
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.4444444444444444
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.7777777777777778
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.1111111111111111
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.1111111111111111
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.08888888888888889
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.07777777777777778
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.1111111111111111
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.3333333333333333
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.4444444444444444
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.7777777777777778
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.37561164042849293
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.2550705467372134
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.26453109424123916
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 768
          type: dim_768
        metrics:
          - type: cosine_accuracy@1
            value: 0.1111111111111111
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.3333333333333333
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.4444444444444444
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.7777777777777778
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.1111111111111111
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.1111111111111111
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.08888888888888889
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.07777777777777778
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.1111111111111111
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.3333333333333333
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.4444444444444444
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.7777777777777778
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.37561164042849293
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.2550705467372134
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.26591710758377424
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 512
          type: dim_512
        metrics:
          - type: cosine_accuracy@1
            value: 0.1111111111111111
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.3333333333333333
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.4444444444444444
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.7777777777777778
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.1111111111111111
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.1111111111111111
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.08888888888888889
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.07777777777777778
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.1111111111111111
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.3333333333333333
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.4444444444444444
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.7777777777777778
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.36941287151905455
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.24828042328042324
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.25912698412698415
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 256
          type: dim_256
        metrics:
          - type: cosine_accuracy@1
            value: 0.1111111111111111
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.3333333333333333
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.4444444444444444
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.6666666666666666
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.1111111111111111
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.1111111111111111
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.08888888888888889
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.06666666666666668
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.1111111111111111
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.3333333333333333
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.4444444444444444
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.6666666666666666
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.33724514013077883
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.23796296296296296
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.2553057025279247
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 128
          type: dim_128
        metrics:
          - type: cosine_accuracy@1
            value: 0.1111111111111111
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.3333333333333333
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.5555555555555556
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.7777777777777778
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.1111111111111111
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.1111111111111111
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1111111111111111
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.07777777777777778
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.1111111111111111
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.3333333333333333
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.5555555555555556
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.7777777777777778
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.3920021980903836
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.27248677248677244
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.2795432240996757
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 64
          type: dim_64
        metrics:
          - type: cosine_accuracy@1
            value: 0.2222222222222222
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.3333333333333333
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.4444444444444444
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.5555555555555556
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.2222222222222222
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.1111111111111111
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.08888888888888889
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.05555555555555555
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.2222222222222222
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.3333333333333333
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.4444444444444444
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.5555555555555556
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.3626677657118585
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.3029100529100529
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.32598958775429365
            name: Cosine Map@100

BGE large Legal Spanish

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: 8192 tokens
  • Output Dimensionality: 1024 tokens
  • Similarity Function: Cosine Similarity
  • Language: es
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: 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("adriansanz/bge-m3-es-legal-tmp-6")
# Run inference
sentences = [
    'Positiu, llevat els casos en els quals manquin informes preceptius i vinculants d’altres administracions o d’aquells en els què es transfereixin al sol·licitant facultats contràries al planejament i la legislació urbanística.',
    "Quin és el sentit del silenci administratiu per a la comunicació prèvia d'obres per instal·lacions de plaques solars en sol urbà?",
    'Quin és el lloc on es pot tramitar la presentació de justificants de pagament per als ajuts del lloguer just dels habitatges?',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

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

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.1111
cosine_accuracy@3 0.3333
cosine_accuracy@5 0.4444
cosine_accuracy@10 0.7778
cosine_precision@1 0.1111
cosine_precision@3 0.1111
cosine_precision@5 0.0889
cosine_precision@10 0.0778
cosine_recall@1 0.1111
cosine_recall@3 0.3333
cosine_recall@5 0.4444
cosine_recall@10 0.7778
cosine_ndcg@10 0.3756
cosine_mrr@10 0.2551
cosine_map@100 0.2645

Information Retrieval

Metric Value
cosine_accuracy@1 0.1111
cosine_accuracy@3 0.3333
cosine_accuracy@5 0.4444
cosine_accuracy@10 0.7778
cosine_precision@1 0.1111
cosine_precision@3 0.1111
cosine_precision@5 0.0889
cosine_precision@10 0.0778
cosine_recall@1 0.1111
cosine_recall@3 0.3333
cosine_recall@5 0.4444
cosine_recall@10 0.7778
cosine_ndcg@10 0.3756
cosine_mrr@10 0.2551
cosine_map@100 0.2659

Information Retrieval

Metric Value
cosine_accuracy@1 0.1111
cosine_accuracy@3 0.3333
cosine_accuracy@5 0.4444
cosine_accuracy@10 0.7778
cosine_precision@1 0.1111
cosine_precision@3 0.1111
cosine_precision@5 0.0889
cosine_precision@10 0.0778
cosine_recall@1 0.1111
cosine_recall@3 0.3333
cosine_recall@5 0.4444
cosine_recall@10 0.7778
cosine_ndcg@10 0.3694
cosine_mrr@10 0.2483
cosine_map@100 0.2591

Information Retrieval

Metric Value
cosine_accuracy@1 0.1111
cosine_accuracy@3 0.3333
cosine_accuracy@5 0.4444
cosine_accuracy@10 0.6667
cosine_precision@1 0.1111
cosine_precision@3 0.1111
cosine_precision@5 0.0889
cosine_precision@10 0.0667
cosine_recall@1 0.1111
cosine_recall@3 0.3333
cosine_recall@5 0.4444
cosine_recall@10 0.6667
cosine_ndcg@10 0.3372
cosine_mrr@10 0.238
cosine_map@100 0.2553

Information Retrieval

Metric Value
cosine_accuracy@1 0.1111
cosine_accuracy@3 0.3333
cosine_accuracy@5 0.5556
cosine_accuracy@10 0.7778
cosine_precision@1 0.1111
cosine_precision@3 0.1111
cosine_precision@5 0.1111
cosine_precision@10 0.0778
cosine_recall@1 0.1111
cosine_recall@3 0.3333
cosine_recall@5 0.5556
cosine_recall@10 0.7778
cosine_ndcg@10 0.392
cosine_mrr@10 0.2725
cosine_map@100 0.2795

Information Retrieval

Metric Value
cosine_accuracy@1 0.2222
cosine_accuracy@3 0.3333
cosine_accuracy@5 0.4444
cosine_accuracy@10 0.5556
cosine_precision@1 0.2222
cosine_precision@3 0.1111
cosine_precision@5 0.0889
cosine_precision@10 0.0556
cosine_recall@1 0.2222
cosine_recall@3 0.3333
cosine_recall@5 0.4444
cosine_recall@10 0.5556
cosine_ndcg@10 0.3627
cosine_mrr@10 0.3029
cosine_map@100 0.326

Training Details

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • gradient_accumulation_steps: 16
  • learning_rate: 2e-05
  • num_train_epochs: 6
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • bf16: True
  • tf32: False
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 16
  • eval_accumulation_steps: None
  • learning_rate: 2e-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: 6
  • max_steps: -1
  • lr_scheduler_type: cosine
  • lr_scheduler_kwargs: {}
  • 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: False
  • 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: True
  • 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_fused
  • 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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss dim_1024_cosine_map@100 dim_128_cosine_map@100 dim_256_cosine_map@100 dim_512_cosine_map@100 dim_64_cosine_map@100 dim_768_cosine_map@100
1.0 1 - 3.7675 0.2475 0.2919 0.2372 0.2511 0.2510 0.2468
2.0 2 - 3.9701 0.2533 0.3028 0.2473 0.2601 0.3449 0.2716
3.0 4 - 4.1211 0.2645 0.2704 0.2548 0.2614 0.3283 0.2654
4.0 5 1.8359 4.0228 0.2645 0.2789 0.2553 0.2619 0.3260 0.2659
5.0 6 - 3.9758 0.2645 0.2795 0.2553 0.2591 0.3260 0.2659
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.42.3
  • PyTorch: 2.3.1+cu121
  • Accelerate: 0.32.1
  • Datasets: 2.20.0
  • Tokenizers: 0.19.1

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

MatryoshkaLoss

@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning}, 
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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