CoolFace
Modelpublic

andyP/ro-sentence-transformers-v1

sourceHugging Faceapache-2.0updated 1y agoView on Hugging Face
0likes14downloads
Model Card

Romanian Sentence Transformers, trained on the Romanian Paraphrase Bible dataset

This is a sentence-transformers model finetuned from 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 <!-- 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

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
Metricro_similarity-devro_similarity-test
cosine_accuracy0.27020.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> 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> 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: {'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
  • —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

EpochStepTraining LossValidation Lossro_similarity-dev_cosine_accuracyro_similarity-test_cosine_accuracy
0.307510004.6354.77130.4223-
0.615020003.13484.48890.3678-
0.922530002.88944.23600.3451-
1.230040002.74483.94880.3259-
1.537550002.64474.03980.3256-
1.845060002.58433.84900.3127-
2.152570002.51253.64850.3061-
2.460080002.45583.65910.3012-
2.767590002.41513.69760.3199-
3.0750100002.36733.81660.3213-
3.3825110002.333.80990.3081-
3.6900120002.30253.72730.3079-
3.9975130002.27483.68830.2974-
4.3050140002.23123.79440.3081-
4.6125150002.21773.60950.2992-
4.9200160002.19363.65560.2941-
5.2276170002.16573.62030.2977-
5.5351180002.13873.57150.2904-
5.8426190002.12853.51950.2870-
6.1501200002.09883.34120.2776-
6.4576210002.0843.49440.2782-
6.7651220002.06763.37710.2770-
7.0726230002.05433.42100.2823-
7.3801240002.03573.40600.2765-
7.6876250002.02513.40270.2794-
7.9951260002.01343.29600.2741-
8.3026270001.98813.35120.2726-
8.6101280001.98983.28220.2731-
8.9176290001.97883.24440.2711-
9.2251300001.95483.23460.2682-
9.5326310001.95253.26010.2713-
9.8401320001.95353.25550.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. -->