e5Fa_small_v3 / README.md
codersan's picture
Add new SentenceTransformer model
75a67cc verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:21484
  - loss:MultipleNegativesRankingLoss
base_model: intfloat/multilingual-e5-small
widget:
  - source_sentence: زنی ماهی را سرخ می کند.
    sentences:
      - ماهی توسط زنی پخته می شود
      - >-
        در سال ۱۱۵۷ ق.م کوتیر-ناهوته حکمران ایلام برای گرفتن انتقام بابل را فتح
        میکند.
      - دو نفر سوار موتورسیکلت می شوند
  - source_sentence: نرخ‌های بهره چگونه بر قرض‌گیری و سرمایه‌گذاری تأثیر می‌گذارند؟
    sentences:
      - >-
        چالش‌ها و تجربیات شخصی جی.K. رولینگ، از جمله مرگ مادرش، بر عمق احساسی و
        مضامین مجموعه 'هری پاتر' تأثیرگذار بود.
      - >-
        نرخ بهره می‌تواند تحت تأثیر تورم، رشد اقتصادی و سیاست‌های پولی قرار
        گیرد.
      - گروهی از مردم به لباس محافظتی مجهز نیستند
  - source_sentence: >-
      شهرستان مدیسون، تگزاس (به انگلیسی: Madison County, Texas) یک سکونتگاه
      مسکونی در ایالات متحده آمریکا است که در تگزاس واقع شده‌است.
    sentences:
      - شهرستان مدیسون در در ایالت تگزاس قرار دارد.
      - >-
        زنان  در حال پوشاندن گوش های بونی و شماره مسابقه هستند و به چیزی از دور
        اشاره می کنند
      - سوار در برف در حال دوچرخه سواری است و یک ژاکت قرمز پوشیده است
  - source_sentence: خانواده ای خوشحال در کنار شومینه برای عکس ژست گرفته اند
    sentences:
      - مردی آنجا نیست که روی صندلی نشسته و چشم هایش را مالش دهد
      - آیا باید برای CAT به مربیگری بپیوندم؟
      - خانواده ای غمگین کنار شومینه ژست گرفته اند
  - 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_v3")
# Run inference
sentences = [
    'کودک جوان دارد اسکوتر سه چرخ را روبه پایین در پیاده رو می راند.',
    'کودک جوانی دارد اسکوتر سه چرخ را  روبه پایین در پیاده رو می راند.',
    'کتاب قابوس نامه اثر عنصرالمعالی کیکاووس بن اسکندر می باشد.',
]
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: 21,484 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 4 tokens
    • mean: 21.18 tokens
    • max: 107 tokens
    • min: 5 tokens
    • mean: 21.09 tokens
    • max: 77 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.2976 100 0.3293
0.5952 200 0.1494
0.8929 300 0.1496
1.1905 400 0.1356
1.4881 500 0.0978
1.7857 600 0.1005
2.0833 700 0.0976
2.3810 800 0.0796
2.6786 900 0.0732
2.9762 1000 0.0809

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