FaLabseV13p1 / README.md
codersan's picture
Add new SentenceTransformer model
f3473ce verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:109673
  - loss:MultipleNegativesRankingLoss
base_model: sentence-transformers/LaBSE
widget:
  - source_sentence: اخترشناس معروف واقعی کیست؟
    sentences:
      - چرا دولت هند به طور ناگهانی از شیطنت 500 و 1000 روپیه خبر داد؟
      - اخترشناس فوق العاده استاد کیست؟
      - چگونه باید برای مکان های دانشگاه آماده شد؟
  - source_sentence: چگونه انگلیسی روان صحبت کنم؟
    sentences:
      - کدام هدفون/هدفون بهترین زیر 1000 پوند است؟
      - آهنگ انگلیسی مورد علاقه شما چیست؟
      - چگونه می توانم انگلیسی خود را بهبود ببخشم؟
  - source_sentence: چگونه می توانم یک ویدیو را از هر وب سایت بارگیری کنم؟
    sentences:
      - اهداف شما برای سال 2017 چیست؟
      - آیا نمونه و/یا شواهدی از سفر به زمان وجود داشت؟
      - چگونه می توانم فیلم ها را از چندین وب سایت بارگیری کنم؟
  - source_sentence: 'دانشمند بزرگ چه کسی بود: آقا اسحاق نیوتن یا آلبرت انیشتین؟'
    sentences:
      - چگونه می توانم این دنیا را به مکانی بهتر تبدیل کنم؟
      - برای خلاص شدن از زخم های آبله مرغان چه کاری باید انجام دهم؟
      - >-
        چه کسی فیزیکدان نهایی است که روی چهره زمین زندگی کرده است؟آیا ایزاک
        نیوتن یا آلبرت انیشتین است؟
  - source_sentence: پیش نیازهای ریاضی قبل از شروع به درک قضایای ناقص بودن گودل چیست؟
    sentences:
      - آیا تلفن های همراه باعث سرطان می شوند؟
      - >-
        به نظر شما ما می توانیم برای بهبود بهترین سیستم آموزش ایالات متحده انجام
        دهیم؟
      - پیش نیازهای ریاضی برای درک صحیح از قضایای ناقص گودل چیست؟
pipeline_tag: sentence-similarity
library_name: sentence-transformers

SentenceTransformer based on sentence-transformers/LaBSE

This is a sentence-transformers model finetuned from sentence-transformers/LaBSE. It maps sentences & paragraphs to a 768-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/LaBSE
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 768 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': 768, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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): Dense({'in_features': 768, 'out_features': 768, 'bias': True, 'activation_function': 'torch.nn.modules.activation.Tanh'})
  (3): 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/FaLabseV13p1")
# Run inference
sentences = [
    'پیش نیازهای ریاضی قبل از شروع به درک قضایای ناقص بودن گودل چیست؟',
    'پیش نیازهای ریاضی برای درک صحیح از قضایای ناقص گودل چیست؟',
    'به نظر شما ما می توانیم برای بهبود بهترین سیستم آموزش ایالات متحده انجام دهیم؟',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 109,673 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 5 tokens
    • mean: 14.76 tokens
    • max: 45 tokens
    • min: 5 tokens
    • mean: 14.91 tokens
    • max: 45 tokens
  • Samples:
    anchor positive
    چگونه می توانم ترافیک کشورهای خاص در سایت خود را حذف کنم؟ چگونه می توانید ترافیک یک کشور خاص را به سمت وب سایت خود مسدود کنید؟
    آیا پیوستن به مرکز مربیگری برای پاک کردن JEE ضروری است؟ آیا مربیگری برای موفقیت در JEE Advanced لازم است؟
    چند نکته برای مرحله 1 USMLE چیست؟ چقدر باید برای مرحله 1 USMLE مطالعه کنم؟
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 32
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • num_train_epochs: 1
  • 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: 32
  • 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: 1
  • 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.0292 100 0.0583
0.0583 200 0.0429
0.0875 300 0.0421
0.1167 400 0.0451
0.1459 500 0.0536
0.1750 600 0.0496
0.2042 700 0.0404
0.2334 800 0.0372
0.2625 900 0.0436
0.2917 1000 0.0458
0.3209 1100 0.0433
0.3501 1200 0.0351
0.3792 1300 0.034
0.4084 1400 0.031
0.4376 1500 0.0341
0.4667 1600 0.034
0.4959 1700 0.0369
0.5251 1800 0.0393
0.5543 1900 0.0415
0.5834 2000 0.0435
0.6126 2100 0.0379
0.6418 2200 0.0353
0.6709 2300 0.0369
0.7001 2400 0.0414
0.7293 2500 0.0339
0.7585 2600 0.0379
0.7876 2700 0.0374
0.8168 2800 0.0332
0.8460 2900 0.0379
0.8751 3000 0.0479
0.9043 3100 0.0333
0.9335 3200 0.0317
0.9627 3300 0.0245
0.9918 3400 0.0411

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