SentenceTransformer based on sentence-transformers/all-distilroberta-v1

This is a sentence-transformers model finetuned from sentence-transformers/all-distilroberta-v1. 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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: RobertaModel 
  (1): Pooling({'word_embedding_dimension': 768, '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("sentence_transformers_model_id")
# Run inference
sentences = [
    'The weather is lovely today.',
    "It's so sunny outside!",
    'He drove to the stadium.',
]
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]

Evaluation

Metrics

Triplet

Metric ai-faq-validation ai-job-test
cosine_accuracy 1.0 1.0

Training Details

Training Dataset

Unnamed Dataset

  • Size: 19 training samples
  • Columns: question, answer, and answer_neg
  • Approximate statistics based on the first 19 samples:
    question answer answer_neg
    type string string string
    details
    • min: 21 tokens
    • mean: 59.47 tokens
    • max: 120 tokens
    • min: 2 tokens
    • mean: 250.11 tokens
    • max: 512 tokens
    • min: 2 tokens
    • mean: 262.47 tokens
    • max: 512 tokens
  • Samples:
    question answer answer_neg
    در آبان پرایم چه خدماتی دریافت میکنم؟ آبان پرایم یک صرافی آنلاین است به این معنی که شما تمامی خدمات صرافی را میتوانید به صورت آنلاین و غیر حضوری دریافت کنید.
    خدمات ما شامل:
    - امکان خرید و فروش ارزهای مختلف تومان، تتر، درهم، دلار آمریکا، دلار استرالیا، دلار کانادا، لیر ترکیه
    - نرخ لحظه ای
    - واریز و برداشت نقدی
    - انجام انواع حوالجات
    - واریز مستقیم به حساب شبا ایران با هر رقم از طریق وبسایت
    - امکان دریافت گزارش صورت حساب ها
    - پشتیبانی ۲۴ ساعته
    توی امارات به کدوم بانک ها واریز انجام میدین؟ واریز به تمامی بانک های امارات انجام میشود. شما میتوانید با شماره موبایل(با پیش شماره های ایران،امارات، ترکیه، کانادا و استرالیا) یا ایمیل به راحتی حساب کاربری بسازید
    https://youtu.be/Sl1ehlS6TYY

    برای ثبت‌نام:
    ۱) شماره موبایل یا ایمیل خودتون را وارد کنید
    ۲) در مرحله بعد کد تایید ارسال شده به موبایل یا ایمیل رو وارد کنید
    ۳) رمز عبور خودتون رو تعریف کنید و وارد حساب کاربری بشید
    واریز و برداشت تتر واریز و برداشت تتر در آبان پرایم به صورت کاملا آنلاین انجام میشود.
    https://youtu.be/ARzOJ6Pgp7k

    واریز تتر
    ۱) در صفحه اصلی گزینه deposit تتر رو انتخاب کنید
    ۲) شبکه واریز (TRC20 یا BSC) رو انتخاب و آدرس ولت رو کپی کنید.
    ۴) تتر مورد نظرتون رو از ولت مبدا به آدرس ولت آبان پرام انتقال بدید.
    ۵) چند دقیقه بعد از انتقال تراکنش انجام میشه و اکانت آبان پرایمتون مستقیما شارژ میشه.

    برداشت تتر
    ۱) در صفحه اصلی گزینه Withdraw تتر رو انتخاب کنید.
    ۳) یکی از شبکه‌های برداشت (TRC20 یا BSC) رو انتخاب کنید.
    ۴) آدرس کیف پول مقصد رو وارد کنید
    آدرس مقصد رو دقیق و منطبق با شبکه برداشت انتخابی وارد کنید.
    ۵) مقدار تتری که می‌خواهید برداشت کنید رو وارد کنید.
    ۶) بعد از بررسی و اطمینان از صحت اطلاعات درخواست برداشت خود را ثبت کنید.
    واریز به تمامی بانک های امارات انجام میشود.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 1 evaluation samples
  • Columns: question, answer, and answer_neg
  • Approximate statistics based on the first 1 samples:
    question answer answer_neg
    type string string string
    details
    • min: 52 tokens
    • mean: 52.0 tokens
    • max: 52 tokens
    • min: 512 tokens
    • mean: 512.0 tokens
    • max: 512 tokens
    • min: 50 tokens
    • mean: 50.0 tokens
    • max: 50 tokens
  • Samples:
    question answer answer_neg
    رمز عبورم رو فراموش کردم چیکار باید بکنم؟ ۱) انتخاب گزینه فراموشی رمز عبور( Forgot Password)
    ۲) وارد کردن شماره موبایل یا ایمیل
    ۳) وارد کردن کد امنیتی دریافتی از طریق پیامک یا ایمیل
    ۴) تعریف رمز جدید

    اگر پیامک رمز یک‌بارمصرف (OTP) دریافت نمی‌کنید، این مراحل رو انجام بده:
    - شماره موبایل رو درست وارد کن. (با پیش‌شماره صحیح)
    - چند دقیقه صبر کن و دوباره تلاش کن. ممکنه گاهی اختلال موقتی از سمت سرویس‌دهنده پیامک باشه.
    - اینترنت و آنتن گوشی رو بررسی کن.
    - پوشه پیامک‌های تبلیغاتی و مسدودشده رو چک کن.
    - دوباره درخواست کد بده و مطمئن شو که تعداد دفعات مجاز تموم نشده.
    - اگر باز هم دریافت نکردی، با پشتیبانی تماس بگیر.
    برای انجام حواله با پشتیبانی تماس بگیرید.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • learning_rate: 2e-05
  • num_train_epochs: 200
  • warmup_ratio: 0.1
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • 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.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 200
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • 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 Validation Loss ai-faq-validation_cosine_accuracy ai-job-test_cosine_accuracy
-1 -1 - - 0.0 -
50.0 100 1.0736 0.5462 1.0 -
100.0 200 0.0041 0.1209 1.0 -
150.0 300 0.0002 0.0663 1.0 -
200.0 400 0.0001 0.0556 1.0 -
-1 -1 - - 1.0 1.0

Framework Versions

  • Python: 3.10.16
  • Sentence Transformers: 3.4.1
  • Transformers: 4.50.0.dev0
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.3.0
  • Datasets: 3.3.2
  • 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
17
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.

Model tree for Shahriardev/distobert-finetuned-embedding-faq1-v1-1

Finetuned
(24)
this model

Evaluation results