CoolFace
Modelpublic

trmteb/berturk_base_contrastive_loss_training

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes87downloads
Model Card

SentenceTransformer based on dbmdz/bert-base-turkish-uncased

This is a sentence-transformers model finetuned from dbmdz/bert-base-turkish-uncased. 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: dbmdz/bert-base-turkish-uncased <!-- at revision 6cb8cd880acc6f7d9723161b573fce0dfd23b39b -->
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity <!-- - Training Dataset: Unknown --> <!-- - Language: Unknown --> <!-- - License: Unknown -->

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

bash
pip install -U sentence-transformers

Then you can load this model and run inference.

python
from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("selmanbaysan/berturk_base_contrastive_loss_training")
# Run inference
sentences = [
    'Rusya Devlet Başkanı Vladimir Putin, "Türk yönetimi, uçağımızı düşürdü ve büyük bir hata yaptı. Dahası, korudukları kişiler de karadan pilotumuza ateş açtı. Bu askeri suç karşısında verdiğimiz yanıt, ihtiyatlı olmaktan da öteydi" dedi.',
    '\' Rusya Halk Cephesi 1. Bölgelerarası Forumu\'nda konuşan Rus lider, Türkiye\'ye yönelik önlemlerin inşaat alanında yürürlükte olan anlaşmaları etkilemeyeceğini belirterek, Türkiye\'ye inşaat sektöründe getirilen yaptırımların ardından Rusya\'da 87 bin kişilik istihdam kontenjanının açılacağını kaydetti. Putin, şöyle konuştu: "Şu anda 300 Türk şirketinin Rusya\'da sözleşmeleri bulunuyor. Bunların toplam tutarı yaklaşık 50 milyar dolar. Mevcut sözleşmeleri feshetmeme kararı aldık. Çünkü bu sadece Türk iktidarının eylemine verilmiş bir yanıt olmayacak, biz de bundan zarar görebiliriz. Ancak bundan sonra Türk şirketleriyle yeni anlaşma imzalamayacağız." Rusya Devlet Başkanı\'nın gündeminde Suriye\'deki terörle mücadele çalışmaları da vardı. Putin, "Terörle mücadelede dikkatli ancak güçlü bir şekilde hareket edeceğiz. Verdiğiniz destek için sizlere ve gösterdikleri çabalar için Rus askerlerine teşekkür ediyorum" dedi.',
    'Bordo-mavili takımın başkanı Muharrem Usta, Galatasaray\'dan Çin ekibi Pekin Guoan\'a transfer olan Burak Yılmaz\'a teşekkür mesajı yayınladı. Usta mesajında, "Burak Yılmaz... Yolun açık olsun, dönmek istersen Trabzonspor\'un kapısı sana her zaman açık olacak. Her şey için teşekkürler" dedi. 8 milyon Euro karşılığında Çin\'e giden Burak sözleşmesindeki yüzde 25\'lik opsiyon sayesinde bu transferle Trabzonspor\'a da 2 milyon Euro daha kazandırmıştı.',
]
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]

<!--

Direct Usage (Transformers)

<details><summary>Click to see the direct usage in Transformers</summary>

</details> -->

<!--

Downstream Usage (Sentence Transformers)

You can finetune this model on your own dataset.

<details><summary>Click to expand</summary>

</details> -->

<!--

Out-of-Scope Use

List how the model may foreseeably be misused and address what users ought not to do with the model. -->

Evaluation

Metrics

Binary Classification
MetricValue
cosine_accuracy0.8431
cosineaccuracythreshold0.6934
cosine_f10.848
cosinef1threshold0.6683
cosine_precision0.8126
cosine_recall0.8865
cosine_ap0.9018
cosine_mcc0.6834
Binary Classification
MetricValue
cosine_accuracy0.8446
cosineaccuracythreshold0.691
cosine_f10.8483
cosinef1threshold0.6674
cosine_precision0.8106
cosine_recall0.8897
cosine_ap0.8959
cosine_mcc0.6866

<!--

Bias, Risks and Limitations

What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model. -->

<!--

Recommendations

What are recommendations with respect to the foreseeable issues? For example, filtering explicit content. -->

Training Details

Training Dataset

Unnamed Dataset
  • Size: 2,038,410 training samples
  • Columns: <code>anchor</code> and <code>positive</code>
  • Approximate statistics based on the first 1000 samples: | | anchor | positive | |:--------|:---------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------| | type | string | string | | details | <ul><li>min: 3 tokens</li><li>mean: 7.12 tokens</li><li>max: 18 tokens</li></ul> | <ul><li>min: 7 tokens</li><li>mean: 57.75 tokens</li><li>max: 512 tokens</li></ul> |
  • Samples: | anchor | positive | |:---------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <code>Malafa</code> | <code>, Hakan Günday'ın kuyumcular (ve halıcılar) üzerinden satış dünyası ile yaşam arasında paralellikler kurarak pazarlama ve satış dünyasını anlattığı, okuyucuya değişik bir dünyanın kapılarını açan romanı. Çoğunlukla Ermenice kelimelerden oluşan kuyumcu argosunun ağırlıklı olarak kullanıldığı romanda, büyük bir kuyumcu mağazasında çalışan "tezgahtar"ların ve alışverişe ge(tiri)len "turist"lerin bir günlük macerası anlatılır.</code> | | <code>Sarıyatak, Elbistan</code> | <code>Sarıyatak, Kahramanmaraş ilinin Elbistan ilçesine bağlı bir mahalledir.</code> | | <code>Åsane</code> | <code>, Norveç'in Bergen şehrinin bir kasabasıdır. Şehrin kuzeyindeki bu kasaba 1972'ye kadar ayrı bir şehir idi.</code> |
  • Loss: <code>MultipleNegativesRankingLoss</code> with these parameters:
json
  {
      "scale": 20.0,
      "similarity_fct": "cos_sim"
  }

Evaluation Dataset

Unnamed Dataset
  • Size: 30,724 evaluation samples
  • Columns: <code>sentence1</code>, <code>sentence2</code>, and <code>label</code>
  • Approximate statistics based on the first 1000 samples: | | sentence1 | sentence2 | label | |:--------|:-----------------------------------------------------------------------------------|:------------------------------------------------------------------------------------|:------------------------------------------------| | type | string | string | int | | details | <ul><li>min: 8 tokens</li><li>mean: 41.58 tokens</li><li>max: 175 tokens</li></ul> | <ul><li>min: 7 tokens</li><li>mean: 310.79 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>0: ~49.40%</li><li>1: ~50.60%</li></ul> |
  • Samples: | sentence1 | sentence2 | label | |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------| | <code>Kriz tüm dünyayı sarsarken futbol kulüpleri değerlerini yüzde 8 artırdı. En değerli kulüp yine Manchester United oldu.</code> | <code>Fenerbahçe, derbideki galibiyetinin ardından, İMKB'deki artışıyla da yatırımcısının yüzünü güldürdü. Galatasaray-Fenerbahçe derbisinin ardından, bugün İMKB'de işlem gören Fenerbahçe hisselerinde yüzde 8 oranında artış yaşandı. Hisse değeri 55,25 TL'ye kadar yükseldi. Kulübün piyasa değeri 1 milyar 381 milyon 250 bin lira değerinde bulunuyor. Derbide kaybeden Galatasaray ise en çok değer kaybeden beşinci hisse konumunda. Galatasaray hisseleri yüzde 4.9 düşüşle 213,50 TL'ye geriledi.</code> | <code>0</code> | | <code>İstanbul Sarıyer’de ormanda bulunan yakılmış cesedin 50 yaşındaki Yusuf Işık’a ait olduğu öne sürülüyor. Işık, eş bulmak için Hatay’a giden gençleri anlaşmalı olduğu Suriyeli kadınlarla buluşturup onlarca kişiyi dolandırmakla suçlanıyor.</code> | <code>Zonguldak'ta ormanlık alanda cesedi yırtıcı hayvanlarca parçalanmış halde bulunan şahıs hakkındaki gerçek otopsi sonucu ortaya çıktı. Av tüfeğiyle öldürüldüğü tespit edilen adamın katili köyündeki komşusu çıktı.   İHA'nın haberine göre olay, 10 gün önce Çaycuma ilçesine bağlı Perşembe beldesi Koramanlar köyünde yaşandı. 55 yaşındaki Sezai Karaca'nın cesedi ormanlık alanda yabani hayvanlarca parçalanmış halde bulundu. Jandarma ekiplerince yapılan incelemenin ardından Karaca'nın cesedi otopsi için hastane morguna kaldırıldı. Otopside Sezai Karaca'nın av tüfeği ile öldürüldüğü tespit edilerek vücudundan silahtan çıktığı belirlenen saçmalara rastlandı. Soruşturmayı derinleştiren jandarma ekipleri olayla ilgili Sezai Karaca'nın komşusu Veli B.'yi gözaltına aldı. İlçe Jandarma Komutanlığı'ndaki sorgusunda uzun süre konuşmayan Veli B. bir süre sonra cinayeti itiraf etti. Veli B.'ye, çelik yelek giydirilerek olay yerinde keşif yaptırıldı. Sağlık kontrolünden geçirilen zanlı, işlemlerinin ardın...</code> | <code>0</code> | | <code>İdlib'de merkezindeki bombalı saldırıda ilk belirlemelere göre 7 kişi hayatını kaybetti.</code> | <code>Suriye'nin kuzeyindeki İdlib il merkezinde düzenlenen bombalı saldırıda ilk belirlemelere göre 7 kişinin öldüğü, 30 kişinin yaralandığı bildirildi.  İdlib Sivil Savunma (Beyaz Baretliler) Müdürü Mustafa Hac Yusuf, öğle saatlerinde kent merkezindeki "Saat Kavşağı" bölgesine yerleştirilen bombanın patlatılması sonucu en az 7 sivilin hayatını kaybettiği ve 30 sivilin yaralandığını ifade etti. Olayı henüz üstlenen üstlenmedi. Türkiye sınırında bulunan İdlib, Kazakistan'ın başkenti Astana'da 4-5 Mayıs 2017'deki toplantıda, Türkiye, Rusya ve İran tarafından "gerginliği azaltma bölgesi" ilan edilmişti.</code> | <code>1</code> |
  • Loss: <code>MultipleNegativesRankingLoss</code> with these parameters:
json
  {
      "scale": 20.0,
      "similarity_fct": "cos_sim"
  }

Training Hyperparameters

Non-Default Hyperparameters
  • eval_strategy: steps
  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 64
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: True
  • batch_sampler: no_duplicates
All Hyperparameters

<details><summary>Click to expand</summary>

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 64
  • 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
  • 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: False
  • fp16: True
  • 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: 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: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'minnumparams': 0, 'xla': False, 'xlafsdpv2': False, 'xlafsdpgrad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'splitbatches': False, 'dispatchbatches': None, 'evenbatches': True, 'useseedablesampler': True, 'nonblocking': False, 'gradientaccumulationkwargs': 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: 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: None
  • hub_always_push: False
  • gradient_checkpointing: False
  • 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
  • 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
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

</details>

Training Logs

EpochStepTraining LossValidation Lossdev_cosine_ap
0.01575001.11690.33160.7691
0.031410000.35550.25390.8148
0.047115000.26040.24230.8388
0.062820000.22980.24700.8547
0.078525000.20060.26370.8589
0.094230000.18920.24210.8544
0.109935000.18670.24990.8626
0.125640000.18160.24350.8648
0.141345000.16660.24220.8719
0.157050000.16360.24450.8668
0.172755000.16130.24850.8732
0.188460000.15430.24340.8782
0.204165000.15190.24900.8827
0.219870000.14690.23580.8841
0.235575000.14930.24180.8862
0.251280000.14170.24560.8821
0.266985000.14150.24090.8834
0.282690000.13750.24630.8817
0.298395000.13390.24230.8872
0.3140100000.13380.24320.8832
0.3297105000.1330.24280.8842
0.3454110000.1270.23610.8860
0.3611115000.12850.25310.8835
0.3768120000.12780.24000.8844
0.3925125000.12430.23910.8846
0.4082130000.1210.24130.8873
0.4238135000.11660.24700.8861
0.4395140000.1210.23860.8866
0.4552145000.12430.24740.8871
0.4709150000.12720.24390.8894
0.4866155000.11810.25110.8930
0.5023160000.11150.23870.8924
0.5180165000.11430.24000.8942
0.5337170000.11540.23620.8927
0.5494175000.11420.24800.8926
0.5651180000.11440.24240.8957
0.5808185000.11210.23260.8920
0.5965190000.11570.24230.8900
0.6122195000.11290.23390.8969
0.6279200000.10990.23670.8982
0.6436205000.11270.24020.8964
0.6593210000.10920.24900.8994
0.6750215000.1090.24660.8967
0.6907220000.10710.24810.8978
0.7064225000.10480.23530.8962
0.7221230000.1070.23610.8965
0.7378235000.10430.24710.8997
0.7535240000.10780.24110.8983
0.7692245000.10450.22890.8982
0.7849250000.10130.22690.8999
0.8006255000.10170.23490.9011
0.8163260000.09960.23490.9009
0.8320265000.10150.23280.9012
0.8477270000.1040.23560.9013
0.8634275000.10460.23570.8998
0.8791280000.09940.23450.9002
0.8948285000.10150.23080.8998
0.9105290000.09730.23220.9010
0.9262295000.09660.23400.9019
0.9419300000.09580.23350.9018
0.9576305000.10010.23340.9010
0.9733310000.09690.23330.9018
0.9890315000.09670.23490.9018
-1-1--0.8959

Framework Versions

  • Python: 3.11.11
  • Sentence Transformers: 3.4.1
  • Transformers: 4.48.3
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.3.0
  • Datasets: 3.4.0
  • Tokenizers: 0.21.0

Citation

BibTeX

Sentence Transformers
bibtex
@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",
}
MultipleNegativesRankingLoss
bibtex
@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}
}

<!--

Glossary

Clearly define terms in order to be accessible across audiences. -->

<!--

Model Card Authors

Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction. -->

<!--

Model Card Contact

Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors. -->