SentenceTransformer based on HooshvareLab/bert-base-parsbert-uncased

This is a sentence-transformers model finetuned from HooshvareLab/bert-base-parsbert-uncased on the csv dataset. 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: HooshvareLab/bert-base-parsbert-uncased
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • csv

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

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 = [
    'یک دختر جوان بلوند با پیراهن صورتی به آخوندکی بزرگ در حال نماز روی بازوی خود نگاه می کند.',
    'دختر جوانی یک آخوندک نمازگزار روی بازوی خود دارد.',
    'کاخ هنرهای زیبا آثار سوررئالیستی زیادی دارد.',
]
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

csv

  • Dataset: csv
  • Size: 941,951 training samples
  • Columns: premise, hypothesis, and score
  • Approximate statistics based on the first 1000 samples:
    premise hypothesis score
    type string string float
    details
    • min: 4 tokens
    • mean: 20.6 tokens
    • max: 125 tokens
    • min: 3 tokens
    • mean: 12.1 tokens
    • max: 38 tokens
    • min: 0.0
    • mean: 0.5
    • max: 1.0
  • Samples:
    premise hypothesis score
    موارد پیکربندی پس از استقرار رسمی آیتم ها پس از ایجاد رسمی پیکربندی می شوند. 1.0
    به همان خوبی که در دنیای من انجام شده است. سر پرث، موقتاً از خودش راضی بود، رفت و هانسون ایستاد و به مدل خیره شد. هانسون از خیره شدن به مدل دست کشید و سر پرث را دنبال کرد. 0.0
    به نظر می رسد شما قبلاً رفته اید. انگار رفتی 1.0
  • Loss: CoSENTLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "pairwise_cos_sim"
    }
    

Evaluation Dataset

csv

  • Dataset: csv
  • Size: 941,951 evaluation samples
  • Columns: premise, hypothesis, and score
  • Approximate statistics based on the first 1000 samples:
    premise hypothesis score
    type string string float
    details
    • min: 4 tokens
    • mean: 21.56 tokens
    • max: 115 tokens
    • min: 4 tokens
    • mean: 12.3 tokens
    • max: 42 tokens
    • min: 0.0
    • mean: 0.5
    • max: 1.0
  • Samples:
    premise hypothesis score
    آنها سوار بر همدیگر شده بودند و کتک خورده بودند تا اینکه اهمیتی ندادند. مردم مجروح شده بودند. 1.0
    در منطقه چمن نگه داشتن چمن در مناطق خاص به نوعی سخت است و من واقعاً هرگز به آن فکر نکرده بودم، اما ما تقریباً در بالای این تپه کوچک هستیم و تمام رواناب های حاصل از بتن، اوه خرید مرکز نزدیک ما و کوچه همه چیزهایی که به سمت همسایه‌های ما می‌رود، بنابراین این یک چیز کوچکی بود که من واقعاً هرگز به آن فکر نمی‌کردم و خوشبختانه به این ترتیب انجام شد. ما روی تپه ای هستیم و آب در نزدیکی همسایه هایمان جمع می شود. 1.0
    زنی با چتر در ایستگاهی نشسته و آگهی تبلیغاتی Aquos روی دیوار دارد. زنی روی مبل اتاق نشیمنش نشسته است. 0.0
  • Loss: CoSENTLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "pairwise_cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 48
  • per_device_eval_batch_size: 32
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: True
  • push_to_hub: True
  • hub_private_repo: True
  • 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: 48
  • per_device_eval_batch_size: 32
  • 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: 1
  • 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: True
  • 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: True
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: True
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • 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
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss
0.0271 500 7.0257 -
0.0542 1000 6.3955 -
0.0813 1500 6.3502 -
0.1084 2000 6.3209 -
0.1355 2500 6.292 -
0.1626 3000 6.2518 5.3943
0.1897 3500 6.2469 -
0.2168 4000 6.2352 -
0.2439 4500 6.2095 -
0.2710 5000 6.2006 -
0.2982 5500 6.1951 -
0.3253 6000 6.1945 5.2832
0.3524 6500 6.1681 -
0.3795 7000 6.167 -
0.4066 7500 6.1474 -
0.4337 8000 6.1506 -
0.4608 8500 6.1506 -
0.4879 9000 6.15 5.2294
0.5150 9500 6.1512 -
0.5421 10000 6.149 -
0.5692 10500 6.1218 -
0.5963 11000 6.1312 -
0.6234 11500 6.1233 -
0.6505 12000 6.1053 5.1807
0.6776 12500 6.1209 -
0.7047 13000 6.1088 -
0.7318 13500 6.0944 -
0.7589 14000 6.1089 -
0.7860 14500 6.1062 -
0.8131 15000 6.0975 5.1374
0.8402 15500 6.1009 -
0.8673 16000 6.086 -
0.8945 16500 6.0687 -
0.9216 17000 6.0804 -
0.9487 17500 6.0981 -
0.9758 18000 6.0895 5.1153

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.1.1
  • Transformers: 4.44.2
  • PyTorch: 2.4.1+cu121
  • Accelerate: 0.34.2
  • Datasets: 3.0.1
  • Tokenizers: 0.19.1

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

CoSENTLoss

@online{kexuefm-8847,
    title={CoSENT: A more efficient sentence vector scheme than Sentence-BERT},
    author={Su Jianlin},
    year={2022},
    month={Jan},
    url={https://kexue.fm/archives/8847},
}
Downloads last month
12
Safetensors
Model size
163M 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 ahmadreza123/Boof_Koor_sentence_transformer

Finetuned
(11)
this model