SentenceTransformer based on BAAI/bge-m3

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.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: BAAI/bge-m3
  • Maximum Sequence Length: 1536 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json

Model Sources

Full Model Architecture

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()
)

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("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)

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 14,658 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 177 tokens
    • mean: 319.0 tokens
    • max: 494 tokens
    • min: 15 tokens
    • mean: 221.89 tokens
    • max: 828 tokens
    • min: 15 tokens
    • mean: 121.85 tokens
    • max: 862 tokens
  • Loss: main.ConcatenatedTripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.COSINE",
        "triplet_margin": 0.25
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 64
  • learning_rate: 2e-05
  • num_train_epochs: 1.0
  • warmup_ratio: 0.1
  • bf16: True
  • dataloader_num_workers: 12
  • ddp_find_unused_parameters: False
  • gradient_checkpointing: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 8
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_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: 1.0
  • max_steps: -1
  • lr_scheduler_type: linear
  • 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: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: True
  • dataloader_num_workers: 12
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • 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}
  • parallelism_config: None
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: False
  • 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: None
  • hub_always_push: False
  • hub_revision: None
  • gradient_checkpointing: True
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • 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
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: True
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss
0.8772 100 0.0092

Framework Versions

  • Python: 3.12.11
  • Sentence Transformers: 5.1.0
  • Transformers: 4.56.1
  • PyTorch: 2.7.1+cu126
  • Accelerate: 1.10.1
  • Datasets: 4.0.0
  • Tokenizers: 0.22.0

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",
}

ConcatenatedTripletLoss

@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}
}
Downloads last month
81
Safetensors
Model size
0.6B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Synemia/bge-m3-tr-law

Base model

BAAI/bge-m3
Finetuned
(379)
this model

Papers for Synemia/bge-m3-tr-law