andyP's picture
Add new SentenceTransformer model
f7d4088 verified
---
language:
- ro
license: apache-2.0
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- dense
- generated_from_trainer
- dataset_size:1014696
- loss:TripletLoss
base_model: readerbench/RoBERT-base
widget:
- source_sentence: Și i-a trimis predice împărăția lui Dumnezeu și vindece bolnavii.
sentences:
- Nici nu le-ai auzit, nici nu le-ai cunoscutși nici atunci, demult, urechea nu
ți-a fost deschisă le auzi.Căci am știut sigur te vei purta cu necredincioșieși
că, încă din pântec, ai fost numit răzvrătit.
- Apoi, i-a trimis propovăduiască Împărăția lui Dumnezeu și tămăduiască pe
cei bolnavi.
- 'Ei s‑au adunat împotriva lui Moise și a lui Aaron și le‑au zis: „Până aici! Ajunge!
Toată adunarea, toți sunt sfinți și DOMNUL este în mijlocul lor! De ce vă înălțați
voi mai presus de adunarea DOMNULUI?”'
- source_sentence: Dar din adâncimile gropii am chemat numele Tău, Doamne.
sentences:
- Dar am chemat Numele Tău, Doamne, din fundul gropii.
- O, prelungește bunătatea ta iubitoare celor ce te cunosc și dreptatea ta celor
integri în inimă.
- 'Apoi, Isus i-a zis: „Vezi să nu spui la nimeni, ci du-te de te arată preotului
și adu darul pe care l-a rânduit Moise, ca mărturie pentru ei.”'
- source_sentence: Și drugii din lemn de salcâm și îmbracă-i cu aur.
sentences:
- Meșobab; Iamlec; Ioșa, fiul lui Amația;
- Și faci pârghiile din lemn de salcâm și le îmbraci cu aur.
- Coț, pe Anub, l-a dobândit, Pe Hațobebe și-n sfârșit, Pe cei cari țin de Aharhel
Al lui Harum fiu, este el.
- source_sentence: Da, pentru tine, Sioane, pentru sângele legământului făcut cu tine,i-am
eliberat pe prizonierii tăidin groapa fără apă.
sentences:
- cunoscut fiind într‐adevăr mai înainte de întemeierea lumii, dar arătat la sfârșitul
vremurilor pentru voi,
- „La paisprezece ani, apoi, Luat-am drumul înapoi, Către Ierusalim, urmat Și de
Barnaba. L-am chemat, Atuncea, și pe Tit, cu mine.
- Cât despre tine, datorită sângelui legământului Meu cu tine,îți voi elibera captivii
din groapa fără apă.
- source_sentence: 'Atunci veți începe să spuneți: «Noi am mâncat și am băut în fața
Ta și pe străzile noastre ai dat învățături!»'
sentences:
- 'Atunci veți începe să ziceți: Noi am mâncat și am băut înaintea ta și ne‐ai învățat
în ulițele noastre.'
- 'Au pus martori mincinoși, care ziceau: „Omul acesta nu încetează să vorbească
împotriva acestui loc sfânt și împotriva Legii.'
- Iar mulţimile se mirau văzând muţii vorbesc, ciungii se vindecă, şchiopii umblă
şi orbii văd. Şi slăveau pe Dumnezeul lui Israel.
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
- cosine_accuracy
model-index:
- name: Romanian Sentence Transformers, trained on the Romanian Paraphrase Bible dataset
results:
- task:
type: triplet
name: Triplet
dataset:
name: ro similarity dev
type: ro_similarity-dev
metrics:
- type: cosine_accuracy
value: 0.2702050805091858
name: Cosine Accuracy
- task:
type: triplet
name: Triplet
dataset:
name: ro similarity test
type: ro_similarity-test
metrics:
- type: cosine_accuracy
value: 0.2652735412120819
name: Cosine Accuracy
---
# Romanian Sentence Transformers, trained on the Romanian Paraphrase Bible dataset
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [readerbench/RoBERT-base](https://huggingface.co/readerbench/RoBERT-base). 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:** [readerbench/RoBERT-base](https://huggingface.co/readerbench/RoBERT-base) <!-- at revision 5cd118697a6dee9e8ffe03cea5aa3931555c001a -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 768 dimensions
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
- **Language:** ro
- **License:** apache-2.0
### 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, 'architecture': '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("andyP/ro-sentence-transformers-v1")
# Run inference
sentences = [
'Atunci veți începe să spuneți: «Noi am mâncat și am băut în fața Ta și pe străzile noastre ai dat învățături!»',
'Atunci veți începe să ziceți: Noi am mâncat și am băut înaintea ta și ne‐ai învățat în ulițele noastre.',
'Iar mulţimile se mirau văzând că muţii vorbesc, ciungii se vindecă, şchiopii umblă şi orbii văd. Şi slăveau pe Dumnezeul lui Israel.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000, -0.0844, 0.2598],
# [-0.0844, 1.0000, 0.0068],
# [ 0.2598, 0.0068, 1.0000]])
```
<!--
### 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: `ro_similarity-dev` and `ro_similarity-test`
* Evaluated with [<code>TripletEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.TripletEvaluator)
| Metric | ro_similarity-dev | ro_similarity-test |
|:--------------------|:------------------|:-------------------|
| **cosine_accuracy** | **0.2702** | **0.2653** |
<!--
## 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: 1,014,696 training samples
* Columns: <code>anchor</code>, <code>positive</code>, and <code>negative</code>
* Approximate statistics based on the first 1000 samples:
| | anchor | positive | negative |
|:--------|:-----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|
| type | string | string | string |
| details | <ul><li>min: 9 tokens</li><li>mean: 39.92 tokens</li><li>max: 153 tokens</li></ul> | <ul><li>min: 7 tokens</li><li>mean: 36.11 tokens</li><li>max: 123 tokens</li></ul> | <ul><li>min: 9 tokens</li><li>mean: 39.04 tokens</li><li>max: 151 tokens</li></ul> |
* Samples:
| anchor | positive | negative |
|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------|
| <code>Căci viața – daru-acesta sfânt – Acuma, fost-a arătată, Iar noi, care-am văzut-o, iată Că despre ea, mărturisim Și, tuturora, vă vestim De viața veșnică, aflată, La Tatăl – nouă – arătată;</code> | <code>– căci viața a fost arătată, iar noi am văzut și mărturisim și vă vestim viața veșnică, viață care era cu Tatăl și care ne-a fost arătată –</code> | <code>Au făcut și doi heruvimi, din aur bătut, la cele două capete ale Capacului ispășirii,</code> |
| <code>Dar dintre cele care doar rumegă sau care au doar copita despicată, să nu mâncați. Acestea sunt: cămila, iepurele sălbatic și viezurele; pentru că ele, deși rumegă, nu au copita despicată. Să le considerați necurate.</code> | <code>Dar dintre cele care doar rumegă sau au doar copita despicată, să nu mâncați următoarele: cămila, iepurele sălbatic și viezurele, pentru că, deși rumegă, acestea nu au copita despicată. Să fie pentru voi necurate.</code> | <code>Nimeni să nu‑ți disprețuiască tinerețea, ci fii o pildă pentru credincioși: în vorbire, în purtare, în dragoste, în credință, în curăție!</code> |
| <code>Din tribul lui Zabulon: Gadiel, fiul lui Sodi.</code> | <code>Eu m-am întors și am coborât de pe acel munte care ardea ca un foc. Țineam în mâini cele două table ale Legământului.</code> | <code>Dar nelegiuitul alunecă ușor pe fața apelor,pe pământ n-are decât o parte blestematăși niciodată n-apucă pe drumul celor vii!</code> |
* Loss: [<code>TripletLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#tripletloss) with these parameters:
```json
{
"distance_metric": "TripletDistanceMetric.EUCLIDEAN",
"triplet_margin": 5
}
```
### Evaluation Dataset
#### Unnamed Dataset
* Size: 56,372 evaluation samples
* Columns: <code>anchor</code>, <code>positive</code>, and <code>negative</code>
* Approximate statistics based on the first 1000 samples:
| | anchor | positive | negative |
|:--------|:------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|
| type | string | string | string |
| details | <ul><li>min: 11 tokens</li><li>mean: 38.83 tokens</li><li>max: 142 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 35.87 tokens</li><li>max: 141 tokens</li></ul> | <ul><li>min: 9 tokens</li><li>mean: 39.9 tokens</li><li>max: 142 tokens</li></ul> |
* Samples:
| anchor | positive | negative |
|:----------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <code>Ridicându-se, marele preot și toți cei care erau împreună cu el, adică gruparea saducheilor, s-au umplut de mânie,</code> | <code>Ridicându-se marele preot și toți cei care erau cu el, adică gruparea saduceilor, s-au umplut de mânie,</code> | <code>Căci Domnul mângâie Siónul,mângâie toate ruinele sale,transformă pustiul într-un Édenși ținutul uscatîntr-o grădină a Domnului.În ea va fi bucurie și veselie,mulțumire și sunet de cântare.</code> |
| <code>Ce va rămâne din darul de mâncare, să fie dat lui Aaron și fiilor lui, ca parte foarte sfântă a sacrificiilor consumate de foc pentru Iahve.</code> | <code>Partea care va rămâne din ofrandă să fie a lui Aaron și a fiilor lui: este un lucru preasfânt din jertfele mistuite de foc aduse DOMNULUI.</code> | <code>Ție îți voi aduce sacrificiul de mulțumire și voi chema numele DOMNULUI.</code> |
| <code>Și în trei caturi se găseau. Ferestrele ce le aveau – Și cari în ziduri sunt tăiate – Față în față-au fost aflate.</code> | <code>Erau trei caturi și fiecare din ele avea ferestrele față în față.</code> | <code>Noi am plecat înainte și am călătorit cu corabia până la Asos. În acea localitate urma să ne întâlnim cu Pavel, pentru că el trebuia să ajungă acolo pe jos.</code> |
* Loss: [<code>TripletLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#tripletloss) with these parameters:
```json
{
"distance_metric": "TripletDistanceMetric.EUCLIDEAN",
"triplet_margin": 5
}
```
### Training Hyperparameters
#### Non-Default Hyperparameters
- `eval_strategy`: steps
- `per_device_train_batch_size`: 156
- `per_device_eval_batch_size`: 256
- `learning_rate`: 2e-05
- `num_train_epochs`: 10
- `warmup_ratio`: 0.1
- `bf16`: True
- `load_best_model_at_end`: 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`: 156
- `per_device_eval_batch_size`: 256
- `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`: True
- `fp16`: False
- `fp16_opt_level`: O1
- `half_precision_backend`: auto
- `bf16_full_eval`: False
- `fp16_full_eval`: False
- `tf32`: None
- `local_rank`: 1
- `ddp_backend`: None
- `tpu_num_cores`: None
- `tpu_metrics_debug`: False
- `debug`: []
- `dataloader_drop_last`: True
- `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
- `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
- `hub_revision`: None
- `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
- `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`: False
- `prompts`: None
- `batch_sampler`: no_duplicates
- `multi_dataset_batch_sampler`: proportional
- `router_mapping`: {}
- `learning_rate_mapping`: {}
</details>
### Training Logs
| Epoch | Step | Training Loss | Validation Loss | ro_similarity-dev_cosine_accuracy | ro_similarity-test_cosine_accuracy |
|:----------:|:---------:|:-------------:|:---------------:|:---------------------------------:|:----------------------------------:|
| 0.3075 | 1000 | 4.635 | 4.7713 | 0.4223 | - |
| 0.6150 | 2000 | 3.1348 | 4.4889 | 0.3678 | - |
| 0.9225 | 3000 | 2.8894 | 4.2360 | 0.3451 | - |
| 1.2300 | 4000 | 2.7448 | 3.9488 | 0.3259 | - |
| 1.5375 | 5000 | 2.6447 | 4.0398 | 0.3256 | - |
| 1.8450 | 6000 | 2.5843 | 3.8490 | 0.3127 | - |
| 2.1525 | 7000 | 2.5125 | 3.6485 | 0.3061 | - |
| 2.4600 | 8000 | 2.4558 | 3.6591 | 0.3012 | - |
| 2.7675 | 9000 | 2.4151 | 3.6976 | 0.3199 | - |
| 3.0750 | 10000 | 2.3673 | 3.8166 | 0.3213 | - |
| 3.3825 | 11000 | 2.33 | 3.8099 | 0.3081 | - |
| 3.6900 | 12000 | 2.3025 | 3.7273 | 0.3079 | - |
| 3.9975 | 13000 | 2.2748 | 3.6883 | 0.2974 | - |
| 4.3050 | 14000 | 2.2312 | 3.7944 | 0.3081 | - |
| 4.6125 | 15000 | 2.2177 | 3.6095 | 0.2992 | - |
| 4.9200 | 16000 | 2.1936 | 3.6556 | 0.2941 | - |
| 5.2276 | 17000 | 2.1657 | 3.6203 | 0.2977 | - |
| 5.5351 | 18000 | 2.1387 | 3.5715 | 0.2904 | - |
| 5.8426 | 19000 | 2.1285 | 3.5195 | 0.2870 | - |
| 6.1501 | 20000 | 2.0988 | 3.3412 | 0.2776 | - |
| 6.4576 | 21000 | 2.084 | 3.4944 | 0.2782 | - |
| 6.7651 | 22000 | 2.0676 | 3.3771 | 0.2770 | - |
| 7.0726 | 23000 | 2.0543 | 3.4210 | 0.2823 | - |
| 7.3801 | 24000 | 2.0357 | 3.4060 | 0.2765 | - |
| 7.6876 | 25000 | 2.0251 | 3.4027 | 0.2794 | - |
| 7.9951 | 26000 | 2.0134 | 3.2960 | 0.2741 | - |
| 8.3026 | 27000 | 1.9881 | 3.3512 | 0.2726 | - |
| 8.6101 | 28000 | 1.9898 | 3.2822 | 0.2731 | - |
| 8.9176 | 29000 | 1.9788 | 3.2444 | 0.2711 | - |
| **9.2251** | **30000** | **1.9548** | **3.2346** | **0.2682** | **-** |
| 9.5326 | 31000 | 1.9525 | 3.2601 | 0.2713 | - |
| 9.8401 | 32000 | 1.9535 | 3.2555 | 0.2702 | - |
| -1 | -1 | - | - | - | 0.2653 |
* The bold row denotes the saved checkpoint.
### Framework Versions
- Python: 3.12.3
- Sentence Transformers: 5.0.0
- Transformers: 4.53.3
- PyTorch: 2.7.1+cu126
- Accelerate: 1.9.0
- Datasets: 4.0.0
- Tokenizers: 0.21.2
## 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",
}
```
#### TripletLoss
```bibtex
@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}
}
```
<!--
## 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.*
-->