SentenceTransformer based on intfloat/multilingual-e5-base
This is a sentence-transformers model finetuned from intfloat/multilingual-e5-base. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for retrieval.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: intfloat/multilingual-e5-base
- Maximum Sequence Length: 512 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': 'XLMRobertaModel'})
(1): Pooling({'embedding_dimension': 768, 'pooling_mode': 'mean', 'include_prompt': True})
(2): Normalize({})
)
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 = [
'query: آیا ویدئو احرازهویت غیرحضوری سجام مشتری ذخیره می\u200cشود؟',
'passage: ویدئو احرازهویت سجام شما پس از تائید احرازهویت، به\u200cمنظور پیگیری\u200cهای بعدی در سرورهای امن شرکت سپرده\u200cگذاری مرکزی ذخیره می\u200cشود. همچنین امکان دسترسی غیرمجاز به آن\u200cها وجود ندارد. به\u200cعبارت دیگر این ویدئو سلفی کدگذاری شده و به\u200cوسیله هوش مصنوعی با تصویر مدارک شناسایی مطابقت داده می\u200cشود.',
'passage: در طرح بازاریابی خودرو مشابه محصولات دیگر ابتدا یک لینک در اختیار بازاریابان قرارداده می\u200cشود. بازاریاب با انتخاب لینک وارد سایت ایبیگو آگاه می\u200cشود و می\u200cتواند برای افراد اقدام به ثبت\u200cنام و کدگیری کند. \nمزایا:به ازای هر ثبت\u200cنام و کدگیری کالا مبلغ 10هزار تومان به بازاریاب تخصیص می\u200cیابد.به ازای هر خریدی که زیر مجموعه وی انجام دهد، 10درصد از کارمزد کارگزاری نصیب بازاریاب می\u200cشود. \nنکته1: با توجه به اینکه درگاه مدنظر سایت ایبیگو می\u200cباشد. و درگاهی در سایت آگاه موجود نیست، محاسبات کمیسیون بازاریابی خودرو به صورت دستی انجام شده و ماهانه به ریال باشگاه بازاریاب واریز می\u200cگردد. \nنکته2 : بازاریاب جدید باشد نیاز به بستن قرارداد دارد.',
]
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.6561, -0.0874],
# [ 0.6561, 1.0000, -0.0274],
# [-0.0874, -0.0274, 1.0000]])
Training Details
Training Dataset
Unnamed Dataset
- Size: 1,305 training samples
- Columns: sentence_0 and sentence_1
- Approximate statistics based on the first 1000 samples:
sentence_0 sentence_1 type string string details min: 9 tokensmean: 23.98 tokensmax: 71 tokens min: 5 tokensmean: 147.09 tokensmax: 512 tokens - Samples:
sentence_0 sentence_1 query: برای خرید گواهی سپرده سیمان به چه مواردی باید توجه کرد؟ passage: خرید سیمان از طریق بورس اوراق بهادار و همچنین بورس کالا انجام میشود. برای معامله در بورس کالا ابتدا باید با توجه به شرایط تعیینشده کد بورس کالا دریافت شده و سپس جهت خرید اقدام شود. سهامداران خرد (10 تا 100تن برای هر کدبورسی درطی یک جلسه معاملاتی در یک نماد) میتوانند از طریق بورس اوراق بهادار گواهی سپرده سیمان خریداری نمایند. برای این کار توجه به نکات زیر الزامی است: - برای انجام این معاملات داشتن کدبورسی کافیست و الزامی به دریافت کد کالا وجود ندارد. پس از خرید گواهی سپرده ناپیوسته سیمان از سامانه معاملات برخط کارگزاری آگاه، نام کاربری و کلمه عبور مربوط به سامانه ebgo برای مشتری ارسال میشود (برای این تناژ نیاز به دریافت کد بورسی کالا نیست).
- برای تحویل گواهی سپرده سیمان دریافت کد نقش الزامی می باشد.
- شخص قبل از انجام معاملات میبایست در سامانه جامع تجارت جهت دریافت کد نقش ثبتنام نماید.
- تنها معاملات خرد از طریق بورس اوراق بهادار امکانپذیر است (حجم معاملات از 10 تا 100تن؛ معادل 10.000 تا 100.000ورقه گواهی سپرده برای هر کدبورسی درطی یک جلسه معاملاتی در یک نماد).
- ... | | query: آیا سقف انتقال وجه در آگاه کارت مانند سایر کارت های بانکی می باشد؟ | passage: بله، محدودیت های کارتی شبکه بانکی برای آگاه کارت نیز صدق می کند. توجه: سقف انتقال وجه کارت به کارت بر اساس دستورالعمل های بانک مرکزی می باشد. | | query: پشتیبانی از درگاههای آنلابن بازاریابی به چه شکلی انجام میشود؟ | passage: از سمت واحد مارکتینگ تولید محتوای متنی، گرافیکی و..... به صورت هفتگی در اختیارشان قرار داده میشود و به صورت دوره ای بررسی میشوند که به چه میزان از این محتواها استفاده کردند، یا اینکه میزان عملکردشان در ماه به چه صورت بوده است.نکته1: هر بازاریاب یک اکانت منیجر دارد که پایش و بررسی عملکرد بازاریاب را بهعهده دارد. نکته2: یک کانال تلگرامی مختص پشتیبانی و اطلاع رسانی به بازاریابان وجود دارد که درآن اطلاعاتی همانند تحلیلی بازار سرمایه، آموزش بورس، مارکتینگ و... قرار داده میشود. |
- 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: 16per_device_eval_batch_size: 16multi_dataset_batch_sampler: round_robin
All Hyperparameters
do_predict: Falseprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 16gradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1num_train_epochs: 3max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_ratio: Nonewarmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Trueenable_jit_checkpoint: Falsesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseuse_cpu: Falseseed: 42data_seed: Nonebf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: -1ddp_backend: Nonedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonedisable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}accelerator_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: Nonegroup_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: Truepush_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_for_metrics: []eval_do_concat_batches: Trueauto_find_batch_size: Falsefull_determinism: Falseddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_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: Trueuse_cache: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}
Training Time
- Training: 6.7 minutes
Framework Versions
- Python: 3.12.13
- Sentence Transformers: 5.4.1
- Transformers: 5.0.0
- PyTorch: 2.10.0+cu128
- Accelerate: 1.13.0
- Datasets: 5.0.0
- 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},
}