Edit model card

SentenceTransformer based on BAAI/bge-base-en-v1.5

This is a sentence-transformers model finetuned from BAAI/bge-base-en-v1.5. 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
  • Base model: BAAI/bge-base-en-v1.5
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Language: en
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': True}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 768, '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("MugheesAwan11/bge-base-securiti-dataset-1-v12")
# Run inference
sentences = [
    "View Salesforce View Workday View GCP View Azure View Oracle View Learn more Regulations Automate compliance with global privacy regulations. US California CCPA View US California CPRA View European Union GDPR View Thailand’s PDPA View China PIPL View Canada PIPEDA View Brazil's LGPD View \\+ More View Learn more Roles Identify data risk and enable protection & control. Privacy View Security View Governance View Marketing View Resources Blog Read through our articles written by industry experts Collateral Product broch",
    'What resources are available for learning more about GCP?',
    "What are the key provisions of South Korea's data privacy law?",
]
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

Information Retrieval

Metric Value
cosine_accuracy@1 0.3608
cosine_accuracy@3 0.5464
cosine_accuracy@5 0.5773
cosine_accuracy@10 0.6907
cosine_precision@1 0.3608
cosine_precision@3 0.1821
cosine_precision@5 0.1155
cosine_precision@10 0.0691
cosine_recall@1 0.3608
cosine_recall@3 0.5464
cosine_recall@5 0.5773
cosine_recall@10 0.6907
cosine_ndcg@10 0.518
cosine_mrr@10 0.4639
cosine_map@100 0.4768

Information Retrieval

Metric Value
cosine_accuracy@1 0.3608
cosine_accuracy@3 0.5361
cosine_accuracy@5 0.5773
cosine_accuracy@10 0.701
cosine_precision@1 0.3608
cosine_precision@3 0.1787
cosine_precision@5 0.1155
cosine_precision@10 0.0701
cosine_recall@1 0.3608
cosine_recall@3 0.5361
cosine_recall@5 0.5773
cosine_recall@10 0.701
cosine_ndcg@10 0.5187
cosine_mrr@10 0.4621
cosine_map@100 0.4738

Information Retrieval

Metric Value
cosine_accuracy@1 0.3299
cosine_accuracy@3 0.4948
cosine_accuracy@5 0.5773
cosine_accuracy@10 0.6804
cosine_precision@1 0.3299
cosine_precision@3 0.1649
cosine_precision@5 0.1155
cosine_precision@10 0.068
cosine_recall@1 0.3299
cosine_recall@3 0.4948
cosine_recall@5 0.5773
cosine_recall@10 0.6804
cosine_ndcg@10 0.4929
cosine_mrr@10 0.4341
cosine_map@100 0.4466

Information Retrieval

Metric Value
cosine_accuracy@1 0.3402
cosine_accuracy@3 0.5052
cosine_accuracy@5 0.567
cosine_accuracy@10 0.6907
cosine_precision@1 0.3402
cosine_precision@3 0.1684
cosine_precision@5 0.1134
cosine_precision@10 0.0691
cosine_recall@1 0.3402
cosine_recall@3 0.5052
cosine_recall@5 0.567
cosine_recall@10 0.6907
cosine_ndcg@10 0.5033
cosine_mrr@10 0.445
cosine_map@100 0.4553

Information Retrieval

Metric Value
cosine_accuracy@1 0.3299
cosine_accuracy@3 0.4948
cosine_accuracy@5 0.5567
cosine_accuracy@10 0.6598
cosine_precision@1 0.3299
cosine_precision@3 0.1649
cosine_precision@5 0.1113
cosine_precision@10 0.066
cosine_recall@1 0.3299
cosine_recall@3 0.4948
cosine_recall@5 0.5567
cosine_recall@10 0.6598
cosine_ndcg@10 0.4812
cosine_mrr@10 0.4258
cosine_map@100 0.4397

Training Details

Training Dataset

Unnamed Dataset

  • Size: 872 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 89 tokens
    • mean: 229.38 tokens
    • max: 414 tokens
    • min: 9 tokens
    • mean: 21.92 tokens
    • max: 102 tokens
  • Samples:
    positive anchor
    controller should inform the data subject in every situation where his or her personal data is processed. The LPPD provides a general requirement to provide information on the collection methods but does not explicitly refer to automated decision-making or profiling. vs Articles: 5 14, Recitals: 58 63 This right requires the controller to provide the following information to the data subject when requested. This should be given in a concise, transparent, intelligible, and easily accessible form, using plain language: The identity and contact details of the controller, controller’s representative, and DPO, where applicable The purpose and the legal basis of the processing The categories of personal data concerned The recipients of the personal data The appropriate or suitable safeguards and the means to obtain a copy of them or where they have been made available The controller must provide information necessary to ensure fair and transparent processing whether or not the personal What information must the controller provide regarding their identity and contact details?
    and deletions, and manage all vendor contracts and compliance documents. ## Key Rights Under Ghana’s Data Protection Act 2012 Right to be Informed : Data subjects have the right to be informed of the processing of their personal data and the purposes for which the data is processed. Right to Access: Data subjects have the right to obtain confirmation whether or not the controller holds personal data about them, access their personal data, and obtain descriptions of data recipients. Right to Rectification : Under the right to rectification, data subjects can request the correction of their data. Right to Erasure: Data subjects have the right to request the erasure and destruction of the data that is no longer needed by the organization. Right to Object: The data subject has the right to prevent the data controller from processing personal data if such processing causes or is likely to cause unwarranted damage or distress to the data What are the key rights provided to data subjects under Ghana's Data Protection Act 2012?
    aim to protect personal data, they have differences in scope, requirements, and applicability. PDPA applies to Thailand, while GDPR applies to the European Union. The effect of PDPA in Thailand is to regulate how personal data is processed, collected, used, and protected by individuals and organizations in the country. Thailand's PDPA includes provisions related to personal data breach notifications, requiring data controllers to notify the Personal Data Protection Committee (PDPC) of a personal data breach as soon as possible, preferably within 72 hours of becoming aware of it. The principles of PDPA in Thailand include obtaining consent, especially for minors, ensuring data security, issuing timely data breach notifications, designating a data protection officer, conducting data protection impact assessments, maintaining a record of processing activities, and ensuring adequate standards when transferring data across borders. ## Join Our Newsletter Get all the latest information, law updates and more delivered to your inbox ### Share What is the role of obtaining consent in Thailand's PDPA?
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 16
  • learning_rate: 2e-05
  • num_train_epochs: 10
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • bf16: True
  • tf32: True
  • 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: 32
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • 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: 10
  • 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: True
  • 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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss 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
0.3571 10 6.8967 - - - - -
0.7143 20 6.1128 - - - - -
1.0 28 - 0.4344 0.4387 0.4857 0.3831 0.4515
1.0714 30 4.4294 - - - - -
1.4286 40 3.2369 - - - - -
1.7857 50 3.2624 - - - - -
2.0 56 - 0.4345 0.4456 0.4752 0.3885 0.4672
2.1429 60 2.1973 - - - - -
2.5 70 1.815 - - - - -
2.8571 80 1.8725 - - - - -
3.0 84 - 0.4636 0.4469 0.4781 0.4012 0.4765
3.2143 90 1.2027 - - - - -
3.5714 100 1.3053 - - - - -
3.9286 110 1.1 - - - - -
4.0 112 - 0.4417 0.4282 0.4721 0.4154 0.4671
4.2857 120 0.8088 - - - - -
4.6429 130 0.8744 - - - - -
5.0 140 0.8075 0.4435 0.4443 0.4725 0.4116 0.4720
5.3571 150 0.5131 - - - - -
5.7143 160 0.6387 - - - - -
6.0 168 - 0.4495 0.4375 0.4768 0.4363 0.4794
6.0714 170 0.5041 - - - - -
6.4286 180 0.4053 - - - - -
6.7857 190 0.5665 - - - - -
7.0 196 - 0.4549 0.4504 0.4721 0.4382 0.4792
7.1429 200 0.3854 - - - - -
7.5 210 0.3085 - - - - -
7.8571 220 0.461 - - - - -
8.0 224 - 0.4570 0.4465 0.4722 0.4399 0.4785
8.2143 230 0.2521 - - - - -
8.5714 240 0.3944 - - - - -
8.9286 250 0.3524 - - - - -
9.0 252 - 0.4533 0.4457 0.4736 0.4394 0.4764
9.2857 260 0.2825 - - - - -
9.6429 270 0.3919 - - - - -
10.0 280 0.4004 0.4553 0.4466 0.4738 0.4397 0.4768
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.0.1
  • Transformers: 4.41.2
  • PyTorch: 2.1.2+cu121
  • Accelerate: 0.31.0
  • Datasets: 2.19.1
  • 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}
}
Downloads last month
2
Safetensors
Model size
109M params
Tensor type
F32
·
Inference API
This model can be loaded on Inference API (serverless).

Finetuned from

Evaluation results