e5Fa_small_v2 / README.md
codersan's picture
Add new SentenceTransformer model
ff175d0 verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:15607
  - loss:MultipleNegativesRankingLoss
base_model: intfloat/multilingual-e5-small
widget:
  - source_sentence: دانلود کی بودی تو آخه از ماکان بند؟
    sentences:
      - >-
        پس از فوت، عزل یا کناره‌گیری رهبری، در صورت تأخیر در تعیین رهبر جدید،
        طبق قانون شورایی با نام «شورای موقت رهبری» تشکیل می شود که اعضای آن مرکب
        از رئیس‌جمهور، رئیس قوة قضائیه و یکی از فقهای شورای نگهبان به انتخاب
        مجمع تشخیص مصلحت نظام می باشد.
      - شرکت ما مانند سایر شرکت ها قطعات خریداری می کند.
      - دانلود آهنگ کی بودی آخه تو از ماکان بند؟
  - source_sentence: >-
      آنتونی جنکینسون، تاجر انگلیسی و نماینده شرکت مسکوی در سال ۱۵۶۲ میلادی به
      حضورشاه ایران [شاه تهماسب اول] تشریف فرما شد، و با تعظیم و تکریم تمام به
      حضور شاه مکتوبه دوستی و اتحاد برای تجار انگلستان را از طرف علیا حضرت ملکه
      [الیزابت اول] تقدیم کرد. 
    sentences:
      - >-
        قبلاً پيش بينی می شد که آقای کونته روز شنبه با سربازان ارتش در پايتخت آن
        کشور به گفتگو بنشيند، اما به گفته مقامات، اين ديدار به زمانی دیگر موکول
        شده است.
      - >-
        «آنتونی جنکینسون» نماینده شرکت تجاری «مسکوی» در سال ۱۵۶۲م. نامه دوستی
        تجاری ملکه الیزابت را به شاه تهماسب صفوی تقدیم کرد.
      - چرا نباید بعد از کشیدن دندان سیگار کشید؟
  - source_sentence: >-
      همه ادیان الهی در این که مصلح کل در آخرالزمان خواهد آمد و جهانی را که از
      ظلم و فساد پر شده، پر از عدل خواهد نمود، اشتراک دارند.
    sentences:
      - یک دختر در حال طناب زدن در یک پیاده رو است
      - ظهور مصلح در آخرالزمان از مشترکات تمامی ادیان و مذاهب می باشد.
      - هوشنگ ابتهاج عضو گروه "ربعه" نمی باشد.
  - source_sentence: پسر جوانی درحال پریدن و پوشاندن حصار چوبی  در نزدیکی چمن  است
    sentences:
      - زنی تخم مرغ ها را داخل ظرف خرد می کند
      - >-
        یک زن برهنه به جوهر قهوه ای آغشته شده است و جمعیت تار در پس زمینه قرار
        دارد
      - پسری جوان پوشیده از چمن در حال پریدن در نزدیکی حصار چوبی است
  - source_sentence: سه کودک دارند از سرازیری چمنی تپه به بالا می دوند.
    sentences:
      - چه چیزی برای پوست خشک خوب است؟
      - سه کودک دارند از سرازیری چمنی تپه به پایین می دوند.
      - پسری با لباس راه راه در مقابل فواره آب می‌پرد
pipeline_tag: sentence-similarity
library_name: sentence-transformers

SentenceTransformer based on intfloat/multilingual-e5-small

This is a sentence-transformers model finetuned from 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
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 384 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

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:

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("codersan/e5Fa_small_v2")
# Run inference
sentences = [
    'سه کودک دارند از سرازیری چمنی تپه به بالا می دوند.',
    'سه کودک دارند از سرازیری چمنی تپه به پایین می دوند.',
    'پسری با لباس راه راه در مقابل فواره آب می\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: 15,607 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 3 tokens
    • mean: 23.7 tokens
    • max: 113 tokens
    • min: 3 tokens
    • mean: 17.04 tokens
    • max: 75 tokens
  • Samples:
    anchor positive
    آدمهایی هستند که وقتی خوشحالی کنارت نیستند؟ یک آدمهایی هستند که وقتی شادی کنارت نیستند؟
    گله گوزن ها از جاده عبور نمی کنند یک گله از گوزن ها از خیابان عبور می کنند
    هیچ مردی روی مسواک خم نمی‌شود و عکس نمی‌گیرد یک مرد خم می‌شود و دوربینی را نگه می‌دارد
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "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
  • 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: 3
  • 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.4098 100 0.3038
0.8197 200 0.1521
1.2295 300 0.1405
1.6393 400 0.1065
2.0492 500 0.1127
2.4590 600 0.0864
2.8689 700 0.0891

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

@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{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}
}