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
model = SentenceTransformer("MugheesAwan11/bge-base-securiti-dataset-1-v12")
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)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
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}
}