SentenceTransformer based on sentence-transformers/all-MiniLM-L6-v2

This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. 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: sentence-transformers/all-MiniLM-L6-v2
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 384 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, '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/all-MiniLM-L6-v2-Fa-v2")
# 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: 16,825 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 39 tokens
    • mean: 152.87 tokens
    • max: 256 tokens
    • min: 20 tokens
    • mean: 56.18 tokens
    • max: 135 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
  • num_train_epochs: 20
  • 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.0
  • num_train_epochs: 20
  • 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.3802 100 1.7266
0.7605 200 1.7186
1.1369 300 1.5475
1.5171 400 1.0427
1.8973 500 1.7453
2.2738 600 1.2348
2.6540 700 1.1923
3.0304 800 1.4293
3.4106 900 0.84
3.7909 1000 1.3378
4.1673 1100 1.1189
4.5475 1200 0.8455
4.9278 1300 1.4056
5.3042 1400 0.9019
5.6844 1500 1.0081
6.0608 1600 1.2046
6.4411 1700 0.6262
6.8213 1800 1.2619
7.1977 1900 0.9223
7.5779 2000 0.7689
7.9582 2100 1.2376
8.3346 2200 0.7322
8.7148 2300 0.9166
9.0913 2400 1.0269
9.4715 2500 0.5057
9.8517 2600 1.1954
10.2281 2700 0.8086
10.6084 2800 0.7254
10.9886 2900 1.1221
11.3650 3000 0.562
11.7452 3100 0.9197
12.1217 3200 0.8709
12.5019 3300 0.4459
12.8821 3400 1.1561
13.2586 3500 0.6957
13.6388 3600 0.6903
14.0152 3700 1.0442
14.3954 3800 0.4516
14.7757 3900 0.934
15.1521 4000 0.7732
15.5323 4100 0.4757
15.9125 4200 1.0958
16.2890 4300 0.6072
16.6692 4400 0.6929
17.0456 4500 0.9598
17.4259 4600 0.4037
17.8061 4700 0.948
18.1825 4800 0.7035
18.5627 4900 0.519
18.9430 5000 1.0632
19.3194 5100 0.529
19.6996 5200 0.6997

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.3.1
  • Transformers: 4.47.1
  • PyTorch: 2.5.1+cu121
  • Accelerate: 1.2.1
  • Datasets: 3.2.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}
}
Downloads last month
6
Safetensors
Model size
22.7M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for codersan/all-MiniLM-L6-v2-Fa-v2

Finetuned
(195)
this model