SentenceTransformer based on bowphs/LaBerta
This is a sentence-transformers model finetuned from bowphs/LaBerta. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, classification, clustering, and more.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: bowphs/LaBerta
- Maximum Sequence Length: 256 tokens
- Output Dimensionality: 768 dimensions
- Similarity Function: Cosine Similarity
- Supported Modality: Text
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'RobertaModel'})
(1): Pooling({'embedding_dimension': 768, 'pooling_mode': 'mean', 'include_prompt': True})
)
Usage
Direct Usage (Sentence Transformers)
First install the Sentence Transformers library:
pip install -U sentence-transformers
Then you can load this model and run inference.
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("TdelaSelle/PatriLaRS")
# Run inference
queries = [
'et mirati sunt super hoc ueraces: uel quare potestas data sit inpiis in ecclesia, uel quare ab inpiis euangelium agnitum non sit.',
]
documents = [
'stupebunt iusti super hoc et innocens contra hypocritam suscitabitur',
'stupebunt iusti super hoc et innocens contra hypocritam suscitabitur',
'stupebunt iusti super hoc et innocens contra hypocritam suscitabitur',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 768] [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.4673, 0.4673, 0.4673]])
Evaluation
Metrics
Information Retrieval
- Dataset:
laberta-mpmnrl-closed - Evaluated with InformationRetrievalEvaluator
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.7883 |
| cosine_accuracy@3 | 0.8807 |
| cosine_accuracy@5 | 0.8989 |
| cosine_accuracy@10 | 0.9188 |
| cosine_precision@1 | 0.7883 |
| cosine_precision@3 | 0.3297 |
| cosine_precision@5 | 0.2071 |
| cosine_precision@10 | 0.1074 |
| cosine_recall@1 | 0.7066 |
| cosine_recall@3 | 0.8351 |
| cosine_recall@5 | 0.8613 |
| cosine_recall@10 | 0.8853 |
| cosine_ndcg@10 | 0.8312 |
| cosine_mrr@10 | 0.8369 |
| cosine_map@100 | 0.8043 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 78,988 training samples
- Columns: anchor, positive_1, positive_2, positive_3, negative_1, negative_2, negative_3, negative_4, negative_5, negative_6, negative_7, negative_8, negative_9, and negative_10
- Approximate statistics based on the first 100 samples:
anchor positive_1 positive_2 positive_3 negative_1 negative_2 negative_3 negative_4 negative_5 negative_6 negative_7 negative_8 negative_9 negative_10 type string string string string string string string string string string string string string string modality text text text text text text text text text text text text text text details min: 11 tokensmean: 35.41 tokensmax: 69 tokens min: 9 tokensmean: 20.08 tokensmax: 41 tokens min: 9 tokensmean: 19.9 tokensmax: 41 tokens min: 9 tokensmean: 20.05 tokensmax: 41 tokens min: 7 tokensmean: 19.58 tokensmax: 40 tokens min: 8 tokensmean: 19.42 tokensmax: 48 tokens min: 7 tokensmean: 19.02 tokensmax: 49 tokens min: 5 tokensmean: 19.86 tokensmax: 38 tokens min: 9 tokensmean: 19.44 tokensmax: 44 tokens min: 8 tokensmean: 19.11 tokensmax: 42 tokens min: 8 tokensmean: 21.0 tokensmax: 40 tokens min: 10 tokensmean: 20.42 tokensmax: 40 tokens min: 8 tokensmean: 19.84 tokensmax: 43 tokens min: 10 tokensmean: 21.13 tokensmax: 42 tokens - Samples:
anchor positive_1 positive_2 positive_3 negative_1 negative_2 negative_3 negative_4 negative_5 negative_6 negative_7 negative_8 negative_9 negative_10 nam mihi credite, uel potius illi credite, qui ait: quaerite et inuenietis, nec cognitionem desperandam esse et manifestiorem futuram, quam sunt illi numeri. petite et dabitur vobis quaerite et invenietis pulsate et aperietur vobis petite et dabitur vobis quaerite et invenietis pulsate et aperietur vobis petite et dabitur vobis quaerite et invenietis pulsate et aperietur vobis omnis enim qui petit accipit et qui quaerit invenit et pulsanti aperietur dixit custos venit mane et nox si quaeritis quaerite convertimini venite quaerite Dominum dum inveniri potest invocate eum dum prope est surgam et circuibo civitatem per vicos et plateas quaeram quem diligit anima mea quaesivi illum et non inveni quaeretis me et invenietis cum quaesieritis me in toto corde vestro quaerite Dominum et virtutem eius quaerite faciem eius semper quaerite Dominum et confirmamini quaerite faciem eius semper et ego vobis dico petite et dabitur vobis quaerite et invenietis pulsate et aperietur vobis quia haec dicit Dominus domui Israhel quaerite me et vivetis dicens iustus es Domine et omnia iudicia tua iusta sunt et omnes viae tuae misericordia et veritas et iudicium de eo quod scriptum est: in principio fecit deus caelum et terram usque ad id quod scriptum est: et factum est uespere et factum est mane dies una. appelavitque lucem diem et tenebras noctem factumque est vespere et mane dies unus in principio creavit Deus caelum et terram appelavitque lucem diem et tenebras noctem factumque est vespere et mane dies unus istae generationes caeli et terrae quando creatae sunt in die quo fecit Dominus Deus caelum et terram qui dixit fiat terra et facta est fiat caelum et factum est et dixi o Domine loquens locutus es ab initio creaturae in primo die dicens fiat caelum et terra et tuum verbum opus perfecit sex enim diebus fecit Dominus caelum et terram et mare et omnia quae in eis sunt et requievit in die septimo idcirco benedixit Dominus diei sabbati et sanctificavit eum dixitque Deus fiat lux et facta est lux factumque est vespere et mane dies tertius vocavitque Deus firmamentum caelum et factum est vespere et mane dies secundus et factum est vespere et mane dies quintus terminum circumdedit aquis usque dum finiantur lux et tenebrae et factum est vespere et mane dies quartus hoc capitulum legis aduersum esse euangelio stultissimi manichaei arbitrantur dicentes in genesi scriptum esse, quod deus per se ipsum fecerit caelum et terram et lucem, in euangelio autem scriptum esse per dominum nostrum iesum christum fabricatum esse mundum, ubi dictum est: et mundus factus est per ipsum, et mundus illum non cognouit. in mundo erat et mundus per ipsum factus est et mundus eum non cognovit in mundo erat et mundus per ipsum factus est et mundus eum non cognovit in mundo erat et mundus per ipsum factus est et mundus eum non cognovit in principio creavit Deus caelum et terram tu fecisti caelum et terram et quicquid caeli ambitu continetur omnia per ipsum facta sunt et sine ipso factum est nihil quod factum est et ipse est ante omnes et omnia in ipso constant deus qui fecit mundum et omnia quae in eo sunt hic caeli et terrae cum sit Dominus non in manufactis templis inhabitat nam quia in Dei sapientia non cognovit mundus per sapientiam Deum placuit Deo per stultitiam praedicationis salvos facere credentes invisibilia enim ipsius a creatura mundi per ea quae facta sunt intellecta conspiciuntur sempiterna quoque eius virtus et divinitas ut sint inexcusabiles et nos vidimus et testificamur quoniam Pater misit Filium salvatorem mundi igitur perfecti sunt caeli et terra et omnis ornatus eorum istae generationes caeli et terrae quando creatae sunt in die quo fecit Dominus Deus caelum et terram - Loss: mpmnrl_loss.MultiplePositiveMultipleNegativeRankingLoss with these parameters:
{ "scale": 20.0, "n_positives": 3, "mini_batch_size": 128, "similarity_fct": "cos_sim" }
Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 256per_device_eval_batch_size: 64learning_rate: 2e-05warmup_ratio: 0.1bf16: Truedataloader_drop_last: True
All Hyperparameters
overwrite_output_dir: Falsedo_predict: Falseprediction_loss_only: Trueper_device_train_batch_size: 256per_device_eval_batch_size: 64per_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: 3.0max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_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: Falsebf16: Truefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_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: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthproject: huggingfacetrackio_space_id: trackioddp_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: noneftune_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: Trueprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | Training Loss | laberta-mpmnrl-closed_cosine_ndcg@10 |
|---|---|---|---|
| -1 | -1 | - | 0.5073 |
| 0.0649 | 20 | 3.486 | - |
| 0.1299 | 40 | 2.3603 | - |
| 0.1948 | 60 | 1.9804 | - |
| 0.2597 | 80 | 1.8443 | - |
| 0.3247 | 100 | 1.746 | - |
| 0.3896 | 120 | 1.6448 | - |
| 0.4545 | 140 | 1.5624 | - |
| 0.5195 | 160 | 1.4575 | - |
| 0.5844 | 180 | 1.5313 | - |
| 0.6494 | 200 | 1.5071 | - |
| 0.7143 | 220 | 1.4686 | - |
| 0.7792 | 240 | 1.4187 | - |
| 0.8442 | 260 | 1.4314 | - |
| 0.9091 | 280 | 1.3842 | - |
| 0.9740 | 300 | 1.3772 | - |
| 1.0390 | 320 | 1.243 | - |
| 1.1039 | 340 | 1.1334 | - |
| 1.1688 | 360 | 1.1556 | - |
| 1.2338 | 380 | 1.1524 | - |
| 1.2987 | 400 | 1.1252 | - |
| 1.3636 | 420 | 1.1148 | - |
| 1.4286 | 440 | 1.109 | - |
| 1.4935 | 460 | 1.1025 | - |
| 1.5584 | 480 | 1.1359 | - |
| 1.6234 | 500 | 1.0484 | - |
| 1.6883 | 520 | 1.0608 | - |
| 1.7532 | 540 | 1.032 | - |
| 1.8182 | 560 | 1.0937 | - |
| 1.8831 | 580 | 1.0707 | - |
| 1.9481 | 600 | 1.0428 | - |
| 2.0130 | 620 | 1.0392 | - |
| 2.0779 | 640 | 0.9321 | - |
| 2.1429 | 660 | 0.882 | - |
| 2.2078 | 680 | 0.8848 | - |
| 2.2727 | 700 | 0.936 | - |
| 2.3377 | 720 | 0.9053 | - |
| 2.4026 | 740 | 0.8913 | - |
| 2.4675 | 760 | 0.9221 | - |
| 2.5325 | 780 | 0.9206 | - |
| 2.5974 | 800 | 0.9092 | - |
| 2.6623 | 820 | 0.9023 | - |
| 2.7273 | 840 | 0.8843 | - |
| 2.7922 | 860 | 0.9117 | - |
| 2.8571 | 880 | 0.9234 | - |
| 2.9221 | 900 | 0.8889 | - |
| 2.9870 | 920 | 0.9319 | - |
| -1 | -1 | - | 0.8312 |
Training Time
- Training: 29.4 minutes
Framework Versions
- Python: 3.10.20
- Sentence Transformers: 5.7.0
- Transformers: 4.57.6
- PyTorch: 2.11.0+cu128
- Accelerate: 1.14.0
- Datasets: 4.6.0
- Tokenizers: 0.22.2
Additional Resources
- Training and Finetuning Embedding Models with Sentence Transformers: the end-to-end guide for training or finetuning Sentence Transformer models.
- Introduction to Matryoshka Embedding Models: variable-size embeddings that can be truncated with minimal quality loss.
- Binary and Scalar Embedding Quantization for Significantly Faster & Cheaper Retrieval: post-training compression of embedding vectors.
- Multimodal Embedding & Reranker Models with Sentence Transformers: use text, image, audio, and video models through the same API.
- Training and Finetuning Multimodal Embedding & Reranker Models with Sentence Transformers: train multimodal embedding models, with a Visual Document Retrieval walkthrough.
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",
}