andyP/ro-sentence-transformers-v1
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
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
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:
pip install -U sentence-transformersThen you can load this model and run inference.
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-devandro_similarity-test - Evaluated with <code>TripletEvaluator</code>
<!--
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:
{
"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:
{
"distance_metric": "TripletDistanceMetric.EUCLIDEAN",
"triplet_margin": 5
}Training Hyperparameters
Non-Default Hyperparameters
eval_strategy: stepsper_device_train_batch_size: 156per_device_eval_batch_size: 256learning_rate: 2e-05num_train_epochs: 10warmup_ratio: 0.1bf16: Trueload_best_model_at_end: Truebatch_sampler: no_duplicates
All Hyperparameters
<details><summary>Click to expand</summary>
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 156per_device_eval_batch_size: 256per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 10max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Truefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 1ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Truedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Trueignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'minnumparams': 0, 'xla': False, 'xlafsdpv2': False, 'xlafsdpgrad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'splitbatches': False, 'dispatchbatches': None, 'evenbatches': True, 'useseedablesampler': True, 'nonblocking': False, 'gradientaccumulationkwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}
</details>
Training Logs
- 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
@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
@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. -->
