--- tags: - sentence-transformers - sentence-similarity - feature-extraction - generated_from_trainer - dataset_size:12000 - loss:CosineSimilarityLoss - loss:MultipleNegativesRankingLoss base_model: intfloat/multilingual-e5-small widget: - source_sentence: تفاوت‌های کلیدی بین موتورهای دیزلی و بنزینی چیست؟ sentences: - یک VPN یا شبکه خصوصی مجازی، ارتباط اینترنتی شما را رمزنگاری کرده و آن را از طریق یک سرور در مکانی که خودتان انتخاب کرده‌اید هدایت می‌کند و حفظ حریم خصوصی و امنیت را فراهم می‌آورد. - طراحان صدا روی عناصر صوتی یک فیلم کار می‌کنند، از جمله افکت‌های صوتی و دیالوگ. - سوخت دیزل چگال‌تر است و انرژی بیشتری در هر گالن نسبت به بنزین دارد. - source_sentence: ماده تاریک چیست؟ sentences: - مطالعه موجودات بیلومینسانس می‌تواند به بهبود درک ما از فرآیندهای سلولی کمک کند. - رِف بزرگ مرجانی بزرگترین سیستم مرجانی جهان است که در استرالیا واقع شده است. - بسیاری از دانشمندان در حال انجام آزمایش‌هایی برای شناسایی مستقیم ذرات ماده تاریک هستند. - source_sentence: کشاورزی دقیق چه معنایی دارد؟ sentences: - پستانداران با وجود غده‌های شیری مشخص می‌شوند که شیر تولید می‌کنند تا فرزندان خود را تغذیه کنند و معمولاً دارای مو یا پشم هستند. - در حالی که آنتی‌بیوتیک‌ها برای درمان عفونت‌های باکتریایی استفاده می‌شوند، آنها در برابر عفونت‌های ویروسی مانند سرماخوردگی یا آنفولانزا بی‌اثر هستند. - کشاورزان از کشاورزی دقیق استفاده می‌کنند تا تصمیمات بهتری درباره کاشت، کوددهی و برداشت محصولات بگیرند. - source_sentence: کشف رنگ تغییر می‌دهد؟ sentences: - داسته‌زبان‌ها نوعی از مارمولک‌ها هستند که در بخش‌های مختلف جهان یافت می‌شوند. - استفاده از مالچ برای پوشاندن خاک می‌تواند به حفظ رطوبت کمک کرده و نیاز به آبیاری مکرر را کاهش دهد. - در حین همجوشی باکتریایی، یک سلول اهداکننده DNA را از طریق پیلاسی که ساختاری شبیه به پل است به یک سلول گیرنده منتقل می‌کند. - source_sentence: مصریان باستان چگونه هرم‌ها را ساختند؟ sentences: - جنگ سرد بر توسعه سازمان‌های بین‌المللی که به حفظ صلح و امنیت می‌پردازند، تأثیر گذاشت. - مزایای بیکاری بین کشورها به طور وسیعی متفاوت است، به طوری که برخی از آنها حمایت بیشتری نسبت به دیگران ارائه می‌دهند. - هرمی‌ها به عنوان مقبره‌هایی برای فراعنه ساخته شدند و هدف از آن‌ها تأمین عبور ایمن آن‌ها به زندگی پس از مرگ بود. pipeline_tag: sentence-similarity library_name: sentence-transformers --- # SentenceTransformer based on intfloat/multilingual-e5-small This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [intfloat/multilingual-e5-small](https://huggingface.co/intfloat/multilingual-e5-small). It maps sentences & paragraphs to a 384-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:** [intfloat/multilingual-e5-small](https://huggingface.co/intfloat/multilingual-e5-small) - **Maximum Sequence Length:** 512 tokens - **Output Dimensionality:** 384 dimensions - **Similarity Function:** Cosine Similarity ### 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': 512, 'do_lower_case': False}) with Transformer model: BertModel (1): Pooling({'word_embedding_dimension': 384, '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}) (2): Normalize() ) ``` ## 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("codersan/e5Fa_small_v1_phase2") # Run inference sentences = [ 'مصریان باستان چگونه هرم\u200cها را ساختند؟', 'هرمی\u200cها به عنوان مقبره\u200cهایی برای فراعنه ساخته شدند و هدف از آن\u200cها تأمین عبور ایمن آن\u200cها به زندگی پس از مرگ بود.', 'مزایای بیکاری بین کشورها به طور وسیعی متفاوت است، به طوری که برخی از آنها حمایت بیشتری نسبت به دیگران ارائه می\u200cدهند.', ] embeddings = model.encode(sentences) print(embeddings.shape) # [3, 384] # Get the similarity scores for the embeddings similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] ``` ## Training Details ### Training Dataset #### Unnamed Dataset * Size: 12,000 training samples * Columns: anchor and positive * Approximate statistics based on the first 1000 samples: | | anchor | positive | |:--------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | | details | | | * Samples: | anchor | positive | |:----------------------------------------------------------|:---------------------------------------------------------| | آدمهایی هستند که وقتی خوشحالی کنارت نیستند؟ | یک آدمهایی هستند که وقتی شادی کنارت نیستند؟ | | گله گوزن ها از جاده عبور نمی کنند | یک گله از گوزن ها از خیابان عبور می کنند | | هیچ مردی روی مسواک خم نمی‌شود و عکس نمی‌گیرد | یک مرد خم می‌شود و دوربینی را نگه می‌دارد | * Loss: [MultipleNegativesRankingLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters: ```json { "scale": 20.0, "similarity_fct": "cos_sim" } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `per_device_train_batch_size`: 64 - `learning_rate`: 2e-05 - `weight_decay`: 0.01 - `num_train_epochs`: 2 - `batch_sampler`: no_duplicates #### All Hyperparameters
Click to expand - `overwrite_output_dir`: False - `do_predict`: False - `eval_strategy`: no - `prediction_loss_only`: True - `per_device_train_batch_size`: 64 - `per_device_eval_batch_size`: 8 - `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.01 - `adam_beta1`: 0.9 - `adam_beta2`: 0.999 - `adam_epsilon`: 1e-08 - `max_grad_norm`: 1 - `num_train_epochs`: 2 - `max_steps`: -1 - `lr_scheduler_type`: linear - `lr_scheduler_kwargs`: {} - `warmup_ratio`: 0.0 - `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`: False - `fp16`: False - `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, 'non_blocking': False, '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`: None - `hub_always_push`: False - `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 - `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_eval_metrics`: False - `eval_on_start`: False - `use_liger_kernel`: False - `eval_use_gather_object`: False - `average_tokens_across_devices`: False - `prompts`: None - `batch_sampler`: no_duplicates - `multi_dataset_batch_sampler`: proportional
### Training Logs | Epoch | Step | Training Loss | |:------:|:----:|:-------------:| | 0.5319 | 100 | 0.0535 | | 1.0638 | 200 | 0.0364 | | 1.5957 | 300 | 0.032 | | 2.1277 | 400 | 0.0306 | | 2.6596 | 500 | 0.0282 | | 0.4098 | 100 | 0.2321 | | 0.8197 | 200 | 0.154 | | 1.2295 | 300 | 0.1436 | | 1.6393 | 400 | 0.1118 | ### Framework Versions - Python: 3.10.12 - Sentence Transformers: 3.3.1 - Transformers: 4.47.0 - PyTorch: 2.5.1+cu121 - Accelerate: 1.2.1 - Datasets: 4.0.0 - Tokenizers: 0.21.0 ## 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", } ``` #### 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} } ```