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-v18")
# Run inference
sentences = [
    'remediate the incident, promptly notify relevant individuals, and report such data security incidents to the regulatory department(s). Thus, you should have a robust security breach response mechanism in place. ## 7\\. Cross border data transfer and data localization requirements: Under DSL, Critical Information Infrastructure Operators are required to store the important data in the territory of China and cross-border transfer is regulated by the CSL. CIIOs need to conduct a security assessment in accordance with the measures jointly defined by CAC and the relevant departments under the State Council for the cross-border transfer of important data for business necessity. For non Critical Information Infrastructure operators, the important data cross-border transfer will be regulated by the measures announced by the Cyberspace Administration of China (CAC) and other authorities. However, those “measures” have still not yet been released. DSL also intends to establish a data national security review and export control system to restrict the cross-border transmission of data',
    'What are the requirements for storing important data in the territory of China under DSL?',
    'What is the margin of error generally estimated for worldwide Monthly Active People (MAP)?',
]
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.2784
cosine_accuracy@3 0.5464
cosine_accuracy@5 0.6495
cosine_accuracy@10 0.7835
cosine_precision@1 0.2784
cosine_precision@3 0.1821
cosine_precision@5 0.1299
cosine_precision@10 0.0784
cosine_recall@1 0.2784
cosine_recall@3 0.5464
cosine_recall@5 0.6495
cosine_recall@10 0.7835
cosine_ndcg@10 0.5204
cosine_mrr@10 0.4374
cosine_map@100 0.4438

Information Retrieval

Metric Value
cosine_accuracy@1 0.2887
cosine_accuracy@3 0.5464
cosine_accuracy@5 0.6598
cosine_accuracy@10 0.7732
cosine_precision@1 0.2887
cosine_precision@3 0.1821
cosine_precision@5 0.132
cosine_precision@10 0.0773
cosine_recall@1 0.2887
cosine_recall@3 0.5464
cosine_recall@5 0.6598
cosine_recall@10 0.7732
cosine_ndcg@10 0.5235
cosine_mrr@10 0.4444
cosine_map@100 0.4515

Information Retrieval

Metric Value
cosine_accuracy@1 0.268
cosine_accuracy@3 0.4845
cosine_accuracy@5 0.6495
cosine_accuracy@10 0.7629
cosine_precision@1 0.268
cosine_precision@3 0.1615
cosine_precision@5 0.1299
cosine_precision@10 0.0763
cosine_recall@1 0.268
cosine_recall@3 0.4845
cosine_recall@5 0.6495
cosine_recall@10 0.7629
cosine_ndcg@10 0.4964
cosine_mrr@10 0.4132
cosine_map@100 0.4198

Training Details

Training Dataset

Unnamed Dataset

  • Size: 1,872 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 4 tokens
    • mean: 207.32 tokens
    • max: 414 tokens
    • min: 2 tokens
    • mean: 21.79 tokens
    • max: 102 tokens
  • Samples:
    positive anchor
    Automation PrivacyCenter.Cloud Data Mapping
    the Tietosuojalaki. ### Greece #### Greece Effective Date : August 28, 2019 Region : EMEA (Europe, Middle East, Africa) Greek Law 4624/2019 was enacted to implement the GDPR and Directive (EU) 2016/680. The Hellenic Data Protection Agency (Αρχή προστασίας δεδομένων προσωπικού χαρακτήρα) is primarily responsible for overseeing the enforcement and implementation of Law 4624/2019 as well as the ePrivacy Directive within Greece. ### Iceland #### Iceland Effective Date : July 15, 2018 Region : EMEA (Europe, Middle East, Africa) ​​Act 90/2018 on Data Protection and Processing What is the role of the Hellenic Data Protection Agency in overseeing the enforcement and implementation of Greek Law 4624/2019 and the ePrivacy Directive in Greece?
    EU. GDPR also applies to organizations located outside the EU (those that do not have an establishment in the EU) if they offer goods or services to, or monitor the behavior of, data subjects located in the EU, irrespective of their nationality or the company’s location. ## Data Subject Rights PDPL provides individuals rights relating to their personal data, which they can exercise. Under PDPL, the data controller should ensure the identity verification of the data subject before processing his/her data subject request. Also, the data controller must not charge for data subjects for making the data subject requests. The data subject may file a complaint to the Authority against the data controller, where the data subject does not accept the data controller’s decision regarding the request, or if the prescribed period has expired without the data subject’s receipt of any notice regarding his request. GDPR also ensures data subject rights where the data subjects can request the controller or, whatever their nationality or place of residence, concerning the processing of their personal data.” Regarding extraterritorial scope, GDPR applies to organizations that are not established in the EU, but instead monitor individuals’ behavior, as long as their behavior occurs in the EU. GDPR also applies to organizations located outside the EU (those that do not have an establishment in the EU) if they offer goods or services to, or monitor the behavior of, data subjects located in the EU, irrespective of their nationality or the company’s location. ## Rights Both regulations give individuals rights relating to their personal data, which they can exercise. Under LPPD, the data controller must process data subject’ requests and take all necessary administrative and technical measures within 30 days. LPPD does not provide a period extension. There is no fee for the data subject’ request to data controllers. However, the data controller may impose a fee, as set by the What are the data subjects' rights under GDPR regarding behavior monitoring, and how do they compare to the rights under PDPL?
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256
        ],
        "matryoshka_weights": [
            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: 4
  • 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: 4
  • 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_256_cosine_map@100 dim_512_cosine_map@100 dim_768_cosine_map@100
0.1695 10 3.9813 - - -
0.3390 20 2.6276 - - -
0.5085 30 1.7029 - - -
0.6780 40 0.641 - - -
0.8475 50 0.391 - - -
1.0 59 - 0.4761 0.4928 0.4919
0.1695 10 1.362 - - -
0.3390 20 0.7574 - - -
0.5085 30 0.5287 - - -
0.6780 40 0.096 - - -
0.8475 50 0.0699 - - -
1.0 59 - 0.4483 0.4913 0.4925
1.0169 60 0.25 - - -
1.1864 70 1.043 - - -
1.3559 80 0.8176 - - -
1.5254 90 0.6276 - - -
1.6949 100 0.0992 - - -
1.8644 110 0.0993 - - -
2.0 118 - 0.4469 0.4785 0.4862
0.1695 10 1.0617 - - -
0.3390 20 0.7721 - - -
0.5085 30 0.6991 - - -
0.6780 40 0.095 - - -
0.8475 50 0.0695 - - -
1.0 59 - 0.4519 0.4786 0.4748
1.0169 60 0.1892 - - -
1.1864 70 0.7125 - - -
1.3559 80 0.5113 - - -
1.5254 90 0.437 - - -
1.6949 100 0.0432 - - -
1.8644 110 0.0471 - - -
2.0 118 - 0.4347 0.4581 0.4516
0.1695 10 0.7237 - - -
0.3390 20 0.5054 - - -
0.5085 30 0.4194 - - -
0.6780 40 0.0437 - - -
0.8475 50 0.0388 - - -
1.0 59 - 0.4582 0.4692 0.4748
1.0169 60 0.1513 - - -
1.1864 70 0.5249 - - -
1.3559 80 0.3878 - - -
1.5254 90 0.3353 - - -
1.6949 100 0.0223 - - -
1.8644 110 0.0248 - - -
2.0 118 - 0.4251 0.4460 0.4439
2.0339 120 0.1012 - - -
2.2034 130 0.3534 - - -
2.3729 140 0.2937 - - -
2.5424 150 0.1769 - - -
2.7119 160 0.0107 - - -
2.8814 170 0.0102 - - -
3.0 177 - 0.4245 0.4448 0.4488
3.0508 180 0.1054 - - -
3.2203 190 0.2246 - - -
3.3898 200 0.2323 - - -
3.5593 210 0.1045 - - -
3.7288 220 0.0082 - - -
3.8983 230 0.0123 - - -
4.0 236 - 0.4198 0.4515 0.4438
  • 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
20
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-v18

Finetuned
(310)
this model

Evaluation results