SentenceTransformer based on sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
- Maximum Sequence Length: 128 tokens
- Output Dimensionality: 384 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': 'BertModel'})
(1): Pooling({'embedding_dimension': 384, '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("sentence_transformers_model_id")
# Run inference
sentences = [
'anāpatti hi so rukkho, hoti ekakulassa ce.',
'there is indeed no offense if that tree belongs to a single family.',
'there are four kinds of purity: purity of instruction, purity of restraint, purity of seeking, and purity of reflection.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000, 0.8338, -0.1214],
# [ 0.8338, 1.0000, -0.1454],
# [-0.1214, -0.1454, 1.0000]])
Training Details
Training Dataset
Unnamed Dataset
- Size: 844,384 training samples
- Columns: sentence_0 and sentence_1
- Approximate statistics based on the first 100 samples:
sentence_0 sentence_1 type string string modality text text details min: 11 tokensmean: 40.61 tokensmax: 128 tokens min: 11 tokensmean: 38.81 tokensmax: 128 tokens - Samples:
sentence_0 sentence_1 tasi alaṅkāre, bhūvādi. tasi [is used] in the sense of adorning; it belongs to the bhūvādi group. evaṃ phussena yutto māso phusso, maghāya yutto māso māgho, phagguniyā yutto māso phagguno, cittāya yutto māso citto, visākhāya yutto māso vesākho, jeṭṭhāya yutto māso jeṭṭho, uttarāsāḷhāya yutto māso āsāḷho, āsāḷhī vā, savaṇena yutto māso sāvaṇo, sāvaṇī. similarly, a month conjoined with phussa (pusya) is phusso; a month conjoined with maghā is māgho; a month conjoined with phaggunī (phalgunī) is phagguno; a month conjoined with cittā is citto; a month conjoined with visākhā is vesākho; a month conjoined with jeṭṭhā (jyesthā) is jeṭṭho; a month conjoined with uttarāsāḷhā (uttarāṣāḍhā) is āsāḷho or āsāḷhī; a month conjoined with savaṇa (śravaṇa) is sāvaṇo or sāvaṇī. īādimhi-akari, kari, saṅkhari, abhisaṅkhari, akubbi, kubbi, akrubbi, krubbi, akayiri, kayiri, akaruṃ, karuṃ, saṅkharuṃ, abhi, saṅkharuṃ, akariṃsu, kariṃsu, saṅkhariṃsu, abhisaṅkhariṃsu, akubbiṃsu, kubbiṃsu, akrubbiṃsu, krubbiṃsu, akayiriṃsu, kayiriṃsu, akayiruṃ, kayiruṃ. in the past tense (ī-ādi): akari, kari, saṅkhari, abhisaṅkhari, akubbi, kubbi, akrubbi, krubbi, akayiri, kayiri, akaruṃ, karuṃ, saṅkharuṃ, abhisaṅkharuṃ, akariṃsu, kariṃsu, saṅkhariṃsu, abhisaṅkhariṃsu, akubbiṃsu, kubbiṃsu, akrubbiṃsu, krubbiṃsu, akayiriṃsu, kayiriṃsu, akayiruṃ, kayiruṃ. - Loss: MultipleNegativesRankingLoss with these parameters:
{ "scale": 20.0, "similarity_fct": "cos_sim", "gather_across_devices": false, "directions": [ "query_to_doc" ], "partition_mode": "joint", "hardness_mode": null, "hardness_strength": 0.0 }
Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 64num_train_epochs: 1per_device_eval_batch_size: 64multi_dataset_batch_sampler: round_robin
All Hyperparameters
per_device_train_batch_size: 64num_train_epochs: 1max_steps: -1learning_rate: 5e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0optim: adamw_torch_fusedoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1label_smoothing_factor: 0.0bf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: Nonetrackio_bucket_id: Nonetrackio_static_space_id: Noneper_device_eval_batch_size: 64prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Falseignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}deepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | Training Loss |
|---|---|---|
| 0.0379 | 500 | 2.8581 |
| 0.0758 | 1000 | 0.8063 |
| 0.1137 | 1500 | 0.4569 |
| 0.1516 | 2000 | 0.2829 |
| 0.1895 | 2500 | 0.1918 |
| 0.2274 | 3000 | 0.1640 |
| 0.2653 | 3500 | 0.1384 |
| 0.3032 | 4000 | 0.1248 |
| 0.3411 | 4500 | 0.1068 |
| 0.3790 | 5000 | 0.0975 |
| 0.4169 | 5500 | 0.0925 |
| 0.4548 | 6000 | 0.0888 |
| 0.4926 | 6500 | 0.0825 |
| 0.5305 | 7000 | 0.0800 |
| 0.5684 | 7500 | 0.0713 |
| 0.6063 | 8000 | 0.0734 |
| 0.6442 | 8500 | 0.0729 |
| 0.6821 | 9000 | 0.0646 |
| 0.7200 | 9500 | 0.0676 |
| 0.7579 | 10000 | 0.0633 |
| 0.7958 | 10500 | 0.0595 |
| 0.8337 | 11000 | 0.0589 |
| 0.8716 | 11500 | 0.0567 |
| 0.9095 | 12000 | 0.0594 |
| 0.9474 | 12500 | 0.0542 |
| 0.9853 | 13000 | 0.0559 |
Training Time
- Training: 3.1 hours
Framework Versions
- Python: 3.12.13
- Sentence Transformers: 5.5.1
- Transformers: 5.9.0
- PyTorch: 2.10.0+cu128
- Accelerate: 1.13.0
- Datasets: 4.8.5
- Tokenizers: 0.22.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",
}
MultipleNegativesRankingLoss
@misc{oord2019representationlearningcontrastivepredictive,
title={Representation Learning with Contrastive Predictive Coding},
author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
year={2019},
eprint={1807.03748},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/1807.03748},
}