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-v13")
# 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.3299
cosine_accuracy@3 0.567
cosine_accuracy@5 0.6392
cosine_accuracy@10 0.7216
cosine_precision@1 0.3299
cosine_precision@3 0.189
cosine_precision@5 0.1278
cosine_precision@10 0.0722
cosine_recall@1 0.3299
cosine_recall@3 0.567
cosine_recall@5 0.6392
cosine_recall@10 0.7216
cosine_ndcg@10 0.5188
cosine_mrr@10 0.4545
cosine_map@100 0.4661

Information Retrieval

Metric Value
cosine_accuracy@1 0.3402
cosine_accuracy@3 0.5773
cosine_accuracy@5 0.6392
cosine_accuracy@10 0.7113
cosine_precision@1 0.3402
cosine_precision@3 0.1924
cosine_precision@5 0.1278
cosine_precision@10 0.0711
cosine_recall@1 0.3402
cosine_recall@3 0.5773
cosine_recall@5 0.6392
cosine_recall@10 0.7113
cosine_ndcg@10 0.5235
cosine_mrr@10 0.4633
cosine_map@100 0.4751

Information Retrieval

Metric Value
cosine_accuracy@1 0.2784
cosine_accuracy@3 0.5155
cosine_accuracy@5 0.5979
cosine_accuracy@10 0.701
cosine_precision@1 0.2784
cosine_precision@3 0.1718
cosine_precision@5 0.1196
cosine_precision@10 0.0701
cosine_recall@1 0.2784
cosine_recall@3 0.5155
cosine_recall@5 0.5979
cosine_recall@10 0.701
cosine_ndcg@10 0.4837
cosine_mrr@10 0.4146
cosine_map@100 0.4266

Information Retrieval

Metric Value
cosine_accuracy@1 0.3196
cosine_accuracy@3 0.4948
cosine_accuracy@5 0.5979
cosine_accuracy@10 0.6804
cosine_precision@1 0.3196
cosine_precision@3 0.1649
cosine_precision@5 0.1196
cosine_precision@10 0.068
cosine_recall@1 0.3196
cosine_recall@3 0.4948
cosine_recall@5 0.5979
cosine_recall@10 0.6804
cosine_ndcg@10 0.4849
cosine_mrr@10 0.4237
cosine_map@100 0.4348

Information Retrieval

Metric Value
cosine_accuracy@1 0.2577
cosine_accuracy@3 0.4742
cosine_accuracy@5 0.567
cosine_accuracy@10 0.6495
cosine_precision@1 0.2577
cosine_precision@3 0.1581
cosine_precision@5 0.1134
cosine_precision@10 0.0649
cosine_recall@1 0.2577
cosine_recall@3 0.4742
cosine_recall@5 0.567
cosine_recall@10 0.6495
cosine_ndcg@10 0.4465
cosine_mrr@10 0.3822
cosine_map@100 0.3941

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: 2
  • 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: 2
  • 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.4098 - - - - -
0.7143 20 4.9339 - - - - -
1.0 28 - 0.4266 0.4263 0.4703 0.3934 0.4650
1.0714 30 3.7606 - - - - -
1.4286 40 2.5546 - - - - -
1.7857 50 3.1845 - - - - -
2.0 56 - 0.4348 0.4266 0.4751 0.3941 0.4661
  • 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
18
Safetensors
Model size
109M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for MugheesAwan11/bge-base-securiti-dataset-1-v13

Finetuned
(310)
this model

Evaluation results