Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper
•
1908.10084
•
Published
•
12
This is a sentence-transformers model finetuned from BAAI/bge-m3 on the json dataset. 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.
SentenceTransformer(
(0): Transformer({'max_seq_length': 1536, 'do_lower_case': False, 'architecture': '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()
)
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("sentence_transformers_model_id")
# Run inference
sentences = [
"Yapılan yargılamaya, toplanıp karar yerinde gösterilen delillere, mahkemenin kovuşturma sonuçlarına uygun olarak oluşan kanaat ve takdirine, incelenen dosya kapsamına göre, davacı vekilinin sair temyiz sebeplerinin reddine, ancak;\n\n Nesnel bir ölçüt olmamakla birlikte, davacı lehine hükmedilecek manevi tazminatın davacının sosyal ve ekonomik durumu, üzerine atılı suçun niteliği, tutuklanmasına neden olan olayın cereyan tarzı, tutuklu kaldığı süre ve benzeri hususlar ile tazminat davasının kesinleşeceği tarihe kadar faizi ile birlikte elde edeceği parasal değer dikkate alınıp, hak ve nesafet ilkelerine uygun, makul bir miktar olarak tayin ve tespiti gerekirken, belirlenen ölçütlere uymayacak miktarda çok eksik manevi tazminata hükmolunması,\n\nBozmayı gerektirmiş olup, açıklanan nedenlerle davacı vekilinin temyiz istemi yerinde görüldüğünden Bursa Bölge Adliye Mahkemesi 2. Ceza Dairesinin kararının CMK'nın 302/2. maddesi gereği, farklı gerekçe ile Tebliğname’ye uygun olarak, oy birliğiyle BOZULMASINA,\n\nDava dosyasının, 5271 sayılı CMK'nın 304/2-b maddesi uyarınca Bursa Bölge Adliye Mahkemesi 2. Ceza Dairesine gönderilmek üzere Yargıtay Cumhuriyet Başsavcılığına TEVDİİNE,\n24.06.2025 tarihinde karar verildi.",
"IV. GEREKÇE VE KARAR\nYapılan yargılamaya, toplanıp karar yerinde gösterilen delillere, mahkemenin kovuşturma sonuçlarına uygun olarak oluşan kanaat ve takdirine, incelenen dosya kapsamına göre, davacı vekilinin sair temyiz sebeplerinin reddine, ancak;\n\nNesnel bir ölçüt olmamakla birlikte, davacı lehine hükmedilecek manevi tazminatın davacının sosyal ve ekonomik durumu, üzerine atılı suçun niteliği, tutuklanmasına neden olan olayın cereyan tarzı, tutuklu kaldığı süre ve benzeri hususlar ile tazminat davasının kesinleşeceği tarihe kadar faizi ile birlikte elde edeceği parasal değer dikkate alınıp, hak ve nefaset ilkelerine uygun, makul bir miktar olarak tayin ve tespiti gerekirken, belirlenen ölçütlere uymayacak miktarda eksik manevi tazminata hükmolunması,\n\nKanuna aykırı olup, açıklanan nedenlerle davacı vekilinin temyiz istemi yerinde görüldüğünden Antalya Bölge Adliye Mahkemesi 11. Ceza Dairesinin kararının CMK'nın 302/2. maddesi gereği, Tebliğname’ye aykırı olarak, oy birliğiyle BOZULMASINA,\n\nDava dosyasının, 5271 sayılı CMK'nın 304/2-b maddesi uyarınca Isparta 1. Ağır Ceza Mahkemesine, Yargıtay ilâmının bir örneğinin ise Antalya Bölge Adliye Mahkemesi 11. Ceza Dairesine gönderilmek üzere Yargıtay Cumhuriyet Başsavcılığına TEVDİİNE,\n\n10.03.2025 tarihinde karar verildi.",
'İş kazası sonucu oluşan maluliyet oranının belirlenmesinde Yargıtay içtihadına aykırı şekilde karar verilmesi nedeniyle hükmün bozulması talebi.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.9492, 0.2119],
# [0.9492, 1.0078, 0.2578],
# [0.2119, 0.2578, 1.0000]], dtype=torch.bfloat16)
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
main.ConcatenatedTripletLoss with these parameters:{
"distance_metric": "TripletDistanceMetric.COSINE",
"triplet_margin": 0.25
}
per_device_train_batch_size: 64learning_rate: 2e-05num_train_epochs: 1.0warmup_ratio: 0.1bf16: Truedataloader_num_workers: 12ddp_find_unused_parameters: Falsegradient_checkpointing: Trueoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 64per_device_eval_batch_size: 8per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1.0max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Truefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Truedataloader_num_workers: 12dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Falseddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Truegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters: auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Trueprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss |
|---|---|---|
| 0.8772 | 100 | 0.0092 |
@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",
}
@misc{hermans2017defense,
title={In Defense of the Triplet Loss for Person Re-Identification},
author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
year={2017},
eprint={1703.07737},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Base model
BAAI/bge-m3