mertcobanov's picture
Add new SentenceTransformer model
b4a19de verified
---
base_model: microsoft/mpnet-base
datasets:
- mertcobanov/all-nli-triplets-turkish
language:
- en
- tr
library_name: sentence-transformers
metrics:
- cosine_accuracy
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:120781
- loss:MultipleNegativesRankingLoss
widget:
- source_sentence: Bir köpek sahibi, evcil hayvanıyla birlikte koşuyor ve evcil hayvan
bir parkurda engellerden kaçınıyor.
sentences:
- Bazı bitkilerin önünde mavi bir kano.
- Bir adam köpeğinin yanında koşuyor.
- Adam bir kediyle birlikte.
- source_sentence: Parlamenter bölümünün patronunun ev hizmetiyle bağlantılı bir politikacı,
0-609-3459812 numaralı cep telefonuna sahip ve mizah anlayışının olmamasıyla tanınıyor,
'Hayran' adlı birinden gelen 'En iyi kürek dilekleri' mesajını pek iyi karşılamadı.
sentences:
- Doktor Perennial, kötü niyetli çavuş uyandığında ayakta duruyordu.
- Politikacı, patronunun ev hizmetini aradığında, bir 'hayran'dan gelen bir mesaja
pek hoş karşılamadı.
- Mesajı aldığı için o kadar minnettardı ki, gönderen kişiye bir demet çiçek gönderdi.
- source_sentence: Bankanın kasalarında.
sentences:
- Ayakta duran bir insan
- Banka kasasında.
- Bankadaki kasa.
- source_sentence: Bir grup Asyalı erkek, birlikte bir yemek yedikten sonra büyük
bir masanın etrafında poz veriyor.
sentences:
- Bir grup Asyalı erkek birlikte bir yemek yedi.
- Pazarlar, kaplıcalar ve kayak pistleri burada bulunan diğer cazibe merkezlerinden
bazılarını oluşturuyor.
- Bir grup Asyalı erkek futbol oynuyor.
- source_sentence: Böyle şeyler görmek ve eğer yapabileceğiniz en küçük bir şey varsa,
bu yardımcı olur.
sentences:
- Böyle bir şeyi gözlemlemek ve yapıp yapamayacağınızı bilmek için.
- Adamın gömleği, kot pantolonundan farklı bir renkte.
- Böyle bir şeyi görmek kötü, eğer yapabiliyorsanız buna hiç katkıda bulunmayın.
model-index:
- name: SentenceTransformer based on microsoft/mpnet-base
results:
- task:
type: triplet
name: Triplet
dataset:
name: all nli dev turkish
type: all-nli-dev-turkish
metrics:
- type: cosine_accuracy
value: 0.7764277035236938
name: Cosine Accuracy
- task:
type: triplet
name: Triplet
dataset:
name: all nli test turkish
type: all-nli-test-turkish
metrics:
- type: cosine_accuracy
value: 0.7740959297927069
name: Cosine Accuracy
---
# SentenceTransformer based on microsoft/mpnet-base
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [microsoft/mpnet-base](https://huggingface.co/microsoft/mpnet-base) on the [all-nli-triplets-turkish](https://huggingface.co/datasets/mertcobanov/all-nli-triplets-turkish) dataset. 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:** [microsoft/mpnet-base](https://huggingface.co/microsoft/mpnet-base) <!-- at revision 6996ce1e91bd2a9c7d7f61daec37463394f73f09 -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 768 dimensions
- **Similarity Function:** Cosine Similarity
- **Training Dataset:**
- [all-nli-triplets-turkish](https://huggingface.co/datasets/mertcobanov/all-nli-triplets-turkish)
- **Languages:** en, tr
<!-- - **License:** Unknown -->
### Model Sources
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
### Full Model Architecture
```
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: MPNetModel
(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("mertcobanov/mpnet-base-all-nli-triplet-turkish-v4-dgx")
# Run inference
sentences = [
'Böyle şeyler görmek ve eğer yapabileceğiniz en küçük bir şey varsa, bu yardımcı olur.',
'Böyle bir şeyi gözlemlemek ve yapıp yapamayacağınızı bilmek için.',
'Böyle bir şeyi görmek kötü, eğer yapabiliyorsanız buna hiç katkıda bulunmayın.',
]
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
#### Triplet
* Datasets: `all-nli-dev-turkish` and `all-nli-test-turkish`
* Evaluated with [<code>TripletEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.TripletEvaluator)
| Metric | all-nli-dev-turkish | all-nli-test-turkish |
|:--------------------|:--------------------|:---------------------|
| **cosine_accuracy** | **0.7764** | **0.7741** |
<!--
## 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
#### all-nli-triplets-turkish
* Dataset: [all-nli-triplets-turkish](https://huggingface.co/datasets/mertcobanov/all-nli-triplets-turkish) at [13554fd](https://huggingface.co/datasets/mertcobanov/all-nli-triplets-turkish/tree/13554fdb2675c44f84a8dccc1afb51cee8a1e4ba)
* Size: 120,781 training samples
* Columns: <code>anchor_translated</code>, <code>positive_translated</code>, and <code>negative_translated</code>
* Approximate statistics based on the first 1000 samples:
| | anchor_translated | positive_translated | negative_translated |
|:--------|:----------------------------------------------------------------------------------|:---------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|
| type | string | string | string |
| details | <ul><li>min: 3 tokens</li><li>mean: 11.77 tokens</li><li>max: 40 tokens</li></ul> | <ul><li>min: 3 tokens</li><li>mean: 11.1 tokens</li><li>max: 46 tokens</li></ul> | <ul><li>min: 2 tokens</li><li>mean: 12.41 tokens</li><li>max: 44 tokens</li></ul> |
* Samples:
| anchor_translated | positive_translated | negative_translated |
|:---------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------|:----------------------------------------------------------------------------|
| <code>Bir kişi, bir atın üzerinde, bozulmuş bir uçağın üzerinden atlıyor.</code> | <code>Bir kişi dışarıda, bir atın üzerinde.</code> | <code>Bir kişi bir lokantada omlet siparişi veriyor.</code> |
| <code>Bir Küçük Lig takımı, bir oyuncunun bir üsse kayarak girmeye çalıştığı sırada onu yakalamaya çalışıyor.</code> | <code>Bir takım bir koşucuyu dışarı atmaya çalışıyor.</code> | <code>Bir takım Satürn'de beyzbol oynuyor.</code> |
| <code>Kadın beyaz giyiyor.</code> | <code>Beyaz bir ceket giymiş bir kadın bir tekerlekli sandalyeyi itiyor.</code> | <code>Siyah giyinmiş bir adam, siyah giyinmiş bir kadını kucaklıyor.</code> |
* Loss: [<code>MultipleNegativesRankingLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters:
```json
{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
```
### Evaluation Dataset
#### all-nli-triplets-turkish
* Dataset: [all-nli-triplets-turkish](https://huggingface.co/datasets/mertcobanov/all-nli-triplets-turkish) at [13554fd](https://huggingface.co/datasets/mertcobanov/all-nli-triplets-turkish/tree/13554fdb2675c44f84a8dccc1afb51cee8a1e4ba)
* Size: 6,584 evaluation samples
* Columns: <code>anchor_translated</code>, <code>positive_translated</code>, and <code>negative_translated</code>
* Approximate statistics based on the first 1000 samples:
| | anchor_translated | positive_translated | negative_translated |
|:--------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|
| type | string | string | string |
| details | <ul><li>min: 2 tokens</li><li>mean: 22.3 tokens</li><li>max: 135 tokens</li></ul> | <ul><li>min: 1 tokens</li><li>mean: 10.92 tokens</li><li>max: 41 tokens</li></ul> | <ul><li>min: 3 tokens</li><li>mean: 10.81 tokens</li><li>max: 34 tokens</li></ul> |
* Samples:
| anchor_translated | positive_translated | negative_translated |
|:--------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------|
| <code>Ayrıca, bu özel tüketim vergileri, diğer vergiler gibi, hükümetin ödeme zorunluluğunu sağlama yetkisini kullanarak belirlenir.</code> | <code>Hükümetin ödeme zorlaması, özel tüketim vergilerinin nasıl hesaplandığını belirler.</code> | <code>Özel tüketim vergileri genel kuralın bir istisnasıdır ve aslında GSYİH payına dayalı olarak belirlenir.</code> |
| <code>Gri bir sweatshirt giymiş bir sanatçı, canlı renklerde bir kasaba tablosu üzerinde çalışıyor.</code> | <code>Bir ressam gri giysiler içinde bir kasabanın resmini yapıyor.</code> | <code>Bir kişi bir beyzbol sopası tutuyor ve gelen bir atış için planda bekliyor.</code> |
| <code>İmkansız.</code> | <code>Yapılamaz.</code> | <code>Tamamen mümkün.</code> |
* Loss: [<code>MultipleNegativesRankingLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) 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`: 10
- `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`: 10
- `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`: {'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
- `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
- `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
| Epoch | Step | Training Loss | Validation Loss | all-nli-dev-turkish_cosine_accuracy | all-nli-test-turkish_cosine_accuracy |
|:------:|:----:|:-------------:|:---------------:|:-----------------------------------:|:------------------------------------:|
| 0 | 0 | - | - | 0.5729 | - |
| 0.2119 | 100 | 6.6103 | 4.5154 | 0.6970 | - |
| 0.4237 | 200 | 5.1602 | 3.7328 | 0.7195 | - |
| 0.6356 | 300 | 4.4533 | 3.3389 | 0.7372 | - |
| 0.8475 | 400 | 3.4465 | 3.6044 | 0.7187 | - |
| 1.0572 | 500 | 2.6977 | 3.3043 | 0.7418 | - |
| 1.2691 | 600 | 3.8142 | 3.2066 | 0.7512 | - |
| 1.4809 | 700 | 3.4333 | 3.0716 | 0.7508 | - |
| 1.6928 | 800 | 3.1488 | 2.9590 | 0.7553 | - |
| 1.9047 | 900 | 1.8677 | 3.2416 | 0.7442 | - |
| 2.1144 | 1000 | 2.2034 | 2.9323 | 0.7634 | - |
| 2.3263 | 1100 | 2.9834 | 2.9406 | 0.7669 | - |
| 2.5381 | 1200 | 2.6785 | 2.8607 | 0.7672 | - |
| 2.75 | 1300 | 2.5096 | 2.8939 | 0.7684 | - |
| 2.9619 | 1400 | 0.876 | 3.2539 | 0.7416 | - |
| 3.1716 | 1500 | 2.3355 | 2.7503 | 0.7758 | - |
| 3.3835 | 1600 | 2.4666 | 2.7920 | 0.7707 | - |
| 3.5953 | 1700 | 2.2691 | 2.7860 | 0.7729 | - |
| 3.8072 | 1800 | 1.8024 | 2.9899 | 0.7571 | - |
| 4.0169 | 1900 | 0.6443 | 3.0993 | 0.7456 | - |
| 4.2288 | 2000 | 2.3976 | 2.7792 | 0.7811 | - |
| 4.4407 | 2100 | 2.1145 | 2.7968 | 0.7728 | - |
| 4.6525 | 2200 | 1.9788 | 2.7243 | 0.7751 | - |
| 4.8644 | 2300 | 1.1676 | 2.9885 | 0.7567 | - |
| 5.0742 | 2400 | 1.0009 | 2.7374 | 0.7767 | - |
| 5.2860 | 2500 | 2.1276 | 2.7822 | 0.7767 | - |
| 5.4979 | 2600 | 1.8459 | 2.7822 | 0.7760 | - |
| 5.7097 | 2700 | 1.7659 | 2.7322 | 0.7766 | - |
| 5.9216 | 2800 | 0.5916 | 3.0191 | 0.7596 | - |
| 6.1314 | 2900 | 1.3908 | 2.6973 | 0.7772 | - |
| 6.3432 | 3000 | 1.9257 | 2.7585 | 0.7763 | - |
| 6.5551 | 3100 | 1.6558 | 2.7350 | 0.7760 | - |
| 6.7669 | 3200 | 1.5368 | 2.7903 | 0.7722 | - |
| 6.9788 | 3300 | 0.1968 | 3.0849 | 0.7479 | - |
| 7.1886 | 3400 | 1.8044 | 2.6626 | 0.7825 | - |
| 7.4004 | 3500 | 1.7048 | 2.7380 | 0.7790 | - |
| 7.6123 | 3600 | 1.5666 | 2.7250 | 0.7796 | - |
| 7.8242 | 3700 | 1.0954 | 2.9620 | 0.7629 | - |
| 8.0339 | 3800 | 0.487 | 2.8900 | 0.7641 | - |
| 8.2458 | 3900 | 1.8398 | 2.7186 | 0.7796 | - |
| 8.4576 | 4000 | 1.5659 | 2.7259 | 0.7778 | - |
| 8.6695 | 4100 | 1.4825 | 2.7007 | 0.7760 | - |
| 8.8814 | 4200 | 0.7019 | 2.9050 | 0.7675 | - |
| 9.0911 | 4300 | 0.9278 | 2.7606 | 0.7731 | - |
| 9.3030 | 4400 | 1.766 | 2.6978 | 0.7787 | - |
| 9.5148 | 4500 | 1.4699 | 2.7114 | 0.7801 | - |
| 9.7267 | 4600 | 1.4647 | 2.7096 | 0.7799 | - |
| 9.9386 | 4700 | 0.3321 | 2.7418 | 0.7764 | - |
| 9.9809 | 4720 | - | - | - | 0.7741 |
### Framework Versions
- Python: 3.10.14
- Sentence Transformers: 3.3.1
- Transformers: 4.46.3
- PyTorch: 2.4.0
- Accelerate: 0.27.2
- Datasets: 3.1.0
- Tokenizers: 0.20.3
## 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.*
-->