--- language: - ar library_name: sentence-transformers tags: - sentence-transformers - sentence-similarity - feature-extraction - generated_from_trainer - dataset_size:557850 - loss:MatryoshkaLoss - loss:MultipleNegativesRankingLoss base_model: sentence-transformers/paraphrase-multilingual-mpnet-base-v2 datasets: - Omartificial-Intelligence-Space/Arabic-NLi-Triplet metrics: - pearson_cosine - spearman_cosine - pearson_manhattan - spearman_manhattan - pearson_euclidean - spearman_euclidean - pearson_dot - spearman_dot - pearson_max - spearman_max widget: - source_sentence: ذكر متوازن بعناية يقف على قدم واحدة بالقرب من منطقة شاطئ المحيط النظيفة sentences: - رجل يقدم عرضاً - هناك رجل بالخارج قرب الشاطئ - رجل يجلس على أريكه - source_sentence: رجل يقفز إلى سريره القذر sentences: - السرير قذر. - رجل يضحك أثناء غسيل الملابس - الرجل على القمر - source_sentence: الفتيات بالخارج sentences: - امرأة تلف الخيط إلى كرات بجانب كومة من الكرات - فتيان يركبان في جولة متعة - >- ثلاث فتيات يقفون سوية في غرفة واحدة تستمع وواحدة تكتب على الحائط والثالثة تتحدث إليهن - source_sentence: الرجل يرتدي قميصاً أزرق. sentences: - >- رجل يرتدي قميصاً أزرق يميل إلى الجدار بجانب الطريق مع شاحنة زرقاء وسيارة حمراء مع الماء في الخلفية. - كتاب القصص مفتوح - رجل يرتدي قميص أسود يعزف على الجيتار. - source_sentence: يجلس شاب ذو شعر أشقر على الحائط يقرأ جريدة بينما تمر امرأة وفتاة شابة. sentences: - ذكر شاب ينظر إلى جريدة بينما تمر إمرأتان بجانبه - رجل يستلقي على وجهه على مقعد في الحديقة. - الشاب نائم بينما الأم تقود ابنتها إلى الحديقة pipeline_tag: sentence-similarity model-index: - name: >- SentenceTransformer based on sentence-transformers/paraphrase-multilingual-mpnet-base-v2 results: - task: type: semantic-similarity name: Semantic Similarity dataset: name: sts test 768 type: sts-test-768 metrics: - type: pearson_cosine value: 0.8538831619509135 name: Pearson Cosine - type: spearman_cosine value: 0.861625750018802 name: Spearman Cosine - type: pearson_manhattan value: 0.8496745674597512 name: Pearson Manhattan - type: spearman_manhattan value: 0.8513333417508545 name: Spearman Manhattan - type: pearson_euclidean value: 0.8516261261374778 name: Pearson Euclidean - type: spearman_euclidean value: 0.8540549341060195 name: Spearman Euclidean - type: pearson_dot value: 0.7281308266536204 name: Pearson Dot - type: spearman_dot value: 0.7230282720855726 name: Spearman Dot - type: pearson_max value: 0.8538831619509135 name: Pearson Max - type: spearman_max value: 0.861625750018802 name: Spearman Max - task: type: semantic-similarity name: Semantic Similarity dataset: name: sts test 512 type: sts-test-512 metrics: - type: pearson_cosine value: 0.8542379189261009 name: Pearson Cosine - type: spearman_cosine value: 0.8609329396560859 name: Spearman Cosine - type: pearson_manhattan value: 0.8486657899695456 name: Pearson Manhattan - type: spearman_manhattan value: 0.8512120732504748 name: Spearman Manhattan - type: pearson_euclidean value: 0.8505249483849495 name: Pearson Euclidean - type: spearman_euclidean value: 0.8538738365440234 name: Spearman Euclidean - type: pearson_dot value: 0.7075618032859148 name: Pearson Dot - type: spearman_dot value: 0.7028728329509918 name: Spearman Dot - type: pearson_max value: 0.8542379189261009 name: Pearson Max - type: spearman_max value: 0.8609329396560859 name: Spearman Max - task: type: semantic-similarity name: Semantic Similarity dataset: name: sts test 256 type: sts-test-256 metrics: - type: pearson_cosine value: 0.8486308733045101 name: Pearson Cosine - type: spearman_cosine value: 0.8578681811996274 name: Spearman Cosine - type: pearson_manhattan value: 0.8404506123980291 name: Pearson Manhattan - type: spearman_manhattan value: 0.845565163232125 name: Spearman Manhattan - type: pearson_euclidean value: 0.8414758099131773 name: Pearson Euclidean - type: spearman_euclidean value: 0.8471566121478254 name: Spearman Euclidean - type: pearson_dot value: 0.6668664182302968 name: Pearson Dot - type: spearman_dot value: 0.6651222481800894 name: Spearman Dot - type: pearson_max value: 0.8486308733045101 name: Pearson Max - type: spearman_max value: 0.8578681811996274 name: Spearman Max - task: type: semantic-similarity name: Semantic Similarity dataset: name: sts test 128 type: sts-test-128 metrics: - type: pearson_cosine value: 0.8389761445410956 name: Pearson Cosine - type: spearman_cosine value: 0.8499312736457453 name: Spearman Cosine - type: pearson_manhattan value: 0.8287388421834582 name: Pearson Manhattan - type: spearman_manhattan value: 0.8353046807483782 name: Spearman Manhattan - type: pearson_euclidean value: 0.8297699263897746 name: Pearson Euclidean - type: spearman_euclidean value: 0.8371843253238523 name: Spearman Euclidean - type: pearson_dot value: 0.5855876200722326 name: Pearson Dot - type: spearman_dot value: 0.5834920267418124 name: Spearman Dot - type: pearson_max value: 0.8389761445410956 name: Pearson Max - type: spearman_max value: 0.8499312736457453 name: Spearman Max - task: type: semantic-similarity name: Semantic Similarity dataset: name: sts test 64 type: sts-test-64 metrics: - type: pearson_cosine value: 0.8290685425698586 name: Pearson Cosine - type: spearman_cosine value: 0.8429054799136109 name: Spearman Cosine - type: pearson_manhattan value: 0.8100968316314205 name: Pearson Manhattan - type: spearman_manhattan value: 0.8221121550434057 name: Spearman Manhattan - type: pearson_euclidean value: 0.8129044863346081 name: Pearson Euclidean - type: spearman_euclidean value: 0.8255133471709527 name: Spearman Euclidean - type: pearson_dot value: 0.5067257944655903 name: Pearson Dot - type: spearman_dot value: 0.5109761436588146 name: Spearman Dot - type: pearson_max value: 0.8290685425698586 name: Pearson Max - type: spearman_max value: 0.8429054799136109 name: Spearman Max license: apache-2.0 --- # SentenceTransformer based on sentence-transformers/paraphrase-multilingual-mpnet-base-v2 This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [sentence-transformers/paraphrase-multilingual-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-multilingual-mpnet-base-v2) on the Omartificial-Intelligence-Space/arabic-n_li-triplet dataset. 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:** [sentence-transformers/paraphrase-multilingual-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-multilingual-mpnet-base-v2) - **Maximum Sequence Length:** 128 tokens - **Output Dimensionality:** 768 tokens - **Similarity Function:** Cosine Similarity - **Training Dataset:** - Omartificial-Intelligence-Space/arabic-n_li-triplet ### 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': 128, 'do_lower_case': False}) with Transformer model: XLMRobertaModel (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("Omartificial-Intelligence-Space/Arabic-Nli-Matryoshka") # Run inference sentences = [ 'يجلس شاب ذو شعر أشقر على الحائط يقرأ جريدة بينما تمر امرأة وفتاة شابة.', 'ذكر شاب ينظر إلى جريدة بينما تمر إمرأتان بجانبه', 'الشاب نائم بينما الأم تقود ابنتها إلى الحديقة', ] embeddings = model.encode(sentences) print(embeddings.shape) # [3, 768] # Get the similarity scores for the embeddings similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] ``` ## Evaluation ### Metrics #### Semantic Similarity * Dataset: `sts-test-768` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:-----------| | pearson_cosine | 0.8539 | | **spearman_cosine** | **0.8616** | | pearson_manhattan | 0.8497 | | spearman_manhattan | 0.8513 | | pearson_euclidean | 0.8516 | | spearman_euclidean | 0.8541 | | pearson_dot | 0.7281 | | spearman_dot | 0.723 | | pearson_max | 0.8539 | | spearman_max | 0.8616 | #### Semantic Similarity * Dataset: `sts-test-512` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:-----------| | pearson_cosine | 0.8542 | | **spearman_cosine** | **0.8609** | | pearson_manhattan | 0.8487 | | spearman_manhattan | 0.8512 | | pearson_euclidean | 0.8505 | | spearman_euclidean | 0.8539 | | pearson_dot | 0.7076 | | spearman_dot | 0.7029 | | pearson_max | 0.8542 | | spearman_max | 0.8609 | #### Semantic Similarity * Dataset: `sts-test-256` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:-----------| | pearson_cosine | 0.8486 | | **spearman_cosine** | **0.8579** | | pearson_manhattan | 0.8405 | | spearman_manhattan | 0.8456 | | pearson_euclidean | 0.8415 | | spearman_euclidean | 0.8472 | | pearson_dot | 0.6669 | | spearman_dot | 0.6651 | | pearson_max | 0.8486 | | spearman_max | 0.8579 | #### Semantic Similarity * Dataset: `sts-test-128` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:-----------| | pearson_cosine | 0.839 | | **spearman_cosine** | **0.8499** | | pearson_manhattan | 0.8287 | | spearman_manhattan | 0.8353 | | pearson_euclidean | 0.8298 | | spearman_euclidean | 0.8372 | | pearson_dot | 0.5856 | | spearman_dot | 0.5835 | | pearson_max | 0.839 | | spearman_max | 0.8499 | #### Semantic Similarity * Dataset: `sts-test-64` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:-----------| | pearson_cosine | 0.8291 | | **spearman_cosine** | **0.8429** | | pearson_manhattan | 0.8101 | | spearman_manhattan | 0.8221 | | pearson_euclidean | 0.8129 | | spearman_euclidean | 0.8255 | | pearson_dot | 0.5067 | | spearman_dot | 0.511 | | pearson_max | 0.8291 | | spearman_max | 0.8429 | ## Training Details ### Training Dataset #### Omartificial-Intelligence-Space/arabic-n_li-triplet * Dataset: Omartificial-Intelligence-Space/arabic-n_li-triplet * Size: 557,850 training samples * Columns: anchor, positive, and negative * Approximate statistics based on the first 1000 samples: | | anchor | positive | negative | |:--------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | string | | details | | | | * Samples: | anchor | positive | negative | |:------------------------------------------------------------|:--------------------------------------------|:------------------------------------| | شخص على حصان يقفز فوق طائرة معطلة | شخص في الهواء الطلق، على حصان. | شخص في مطعم، يطلب عجة. | | أطفال يبتسمون و يلوحون للكاميرا | هناك أطفال حاضرون | الاطفال يتجهمون | | صبي يقفز على لوح التزلج في منتصف الجسر الأحمر. | الفتى يقوم بخدعة التزلج | الصبي يتزلج على الرصيف | * Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters: ```json { "loss": "MultipleNegativesRankingLoss", "matryoshka_dims": [ 768, 512, 256, 128, 64 ], "matryoshka_weights": [ 1, 1, 1, 1, 1 ], "n_dims_per_step": -1 } ``` ### Evaluation Dataset #### Omartificial-Intelligence-Space/arabic-n_li-triplet * Dataset: Omartificial-Intelligence-Space/arabic-n_li-triplet * Size: 6,584 evaluation samples * Columns: anchor, positive, and negative * Approximate statistics based on the first 1000 samples: | | anchor | positive | negative | |:--------|:-----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:---------------------------------------------------------------------------------| | type | string | string | string | | details | | | | * Samples: | anchor | positive | negative | |:-----------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------|:---------------------------------------------------| | امرأتان يتعانقان بينما يحملان حزمة | إمرأتان يحملان حزمة | الرجال يتشاجرون خارج مطعم | | طفلين صغيرين يرتديان قميصاً أزرق، أحدهما يرتدي الرقم 9 والآخر يرتدي الرقم 2 يقفان على خطوات خشبية في الحمام ويغسلان أيديهما في المغسلة. | طفلين يرتديان قميصاً مرقماً يغسلون أيديهم | طفلين يرتديان سترة يذهبان إلى المدرسة | | رجل يبيع الدونات لعميل خلال معرض عالمي أقيم في مدينة أنجليس | رجل يبيع الدونات لعميل | امرأة تشرب قهوتها في مقهى صغير | * Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters: ```json { "loss": "MultipleNegativesRankingLoss", "matryoshka_dims": [ 768, 512, 256, 128, 64 ], "matryoshka_weights": [ 1, 1, 1, 1, 1 ], "n_dims_per_step": -1 } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `per_device_train_batch_size`: 256 - `per_device_eval_batch_size`: 256 - `num_train_epochs`: 1 - `warmup_ratio`: 0.1 - `fp16`: True - `batch_sampler`: no_duplicates #### All Hyperparameters
Click to expand - `overwrite_output_dir`: False - `do_predict`: False - `prediction_loss_only`: True - `per_device_train_batch_size`: 256 - `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 - `learning_rate`: 5e-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`: 1 - `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 - `no_cuda`: False - `use_cpu`: False - `use_mps_device`: False - `seed`: 42 - `data_seed`: None - `jit_mode_eval`: False - `use_ipex`: False - `bf16`: False - `fp16`: True - `fp16_opt_level`: O1 - `half_precision_backend`: auto - `bf16_full_eval`: False - `fp16_full_eval`: False - `tf32`: None - `local_rank`: 0 - `ddp_backend`: None - `tpu_num_cores`: None - `tpu_metrics_debug`: False - `debug`: [] - `dataloader_drop_last`: False - `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`: False - `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, '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`: False - `hub_always_push`: False - `gradient_checkpointing`: False - `gradient_checkpointing_kwargs`: None - `include_inputs_for_metrics`: False - `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 - `dispatch_batches`: None - `split_batches`: None - `include_tokens_per_second`: False - `include_num_input_tokens_seen`: False - `neftune_noise_alpha`: None - `optim_target_modules`: None - `batch_sampler`: no_duplicates - `multi_dataset_batch_sampler`: proportional
### Training Logs | Epoch | Step | Training Loss | sts-test-128_spearman_cosine | sts-test-256_spearman_cosine | sts-test-512_spearman_cosine | sts-test-64_spearman_cosine | sts-test-768_spearman_cosine | |:------:|:----:|:-------------:|:----------------------------:|:----------------------------:|:----------------------------:|:---------------------------:|:----------------------------:| | 0.2294 | 500 | 10.1279 | - | - | - | - | - | | 0.4587 | 1000 | 8.0384 | - | - | - | - | - | | 0.6881 | 1500 | 7.3484 | - | - | - | - | - | | 0.9174 | 2000 | 4.2216 | - | - | - | - | - | | 1.0 | 2180 | - | 0.8499 | 0.8579 | 0.8609 | 0.8429 | 0.8616 | ### Framework Versions - Python: 3.9.18 - Sentence Transformers: 3.0.1 - Transformers: 4.40.0 - PyTorch: 2.2.2+cu121 - Accelerate: 0.26.1 - Datasets: 2.19.0 - Tokenizers: 0.19.1 ## 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", } ``` #### MatryoshkaLoss ```bibtex @misc{kusupati2024matryoshka, title={Matryoshka Representation Learning}, author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi}, year={2024}, eprint={2205.13147}, archivePrefix={arXiv}, primaryClass={cs.LG} } ``` #### MultipleNegativesRankingLoss ```bibtex @misc{henderson2017efficient, title={Efficient Natural Language Response Suggestion for Smart Reply}, author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil}, year={2017}, eprint={1705.00652}, archivePrefix={arXiv}, primaryClass={cs.CL} } ```