SentenceTransformer based on Alibaba-NLP/gte-multilingual-base

This is a sentence-transformers model finetuned from Alibaba-NLP/gte-multilingual-base on the maux-gte-10k-public 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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: NewModel 
  (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): 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("xmanii/maux-gte-persian-v2")
# Run inference
sentences = [
    'تفاوت بین کشاورزی ارگانیک و کشاورزی سنتی چیست؟',
    'بازارهای کشاورزان مکان\u200cهای محبوبی برای خرید محصولات ارگانیک به طور مستقیم از کشاورزان محلی هستند.',
    'تاریخ حفظ آب به تمدن\u200cهای باستانی برمی\u200cگردد که سیستم\u200cهای آبیاری را توسعه دادند.',
]
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

Semantic Similarity

Metric Value
pearson_cosine 0.9488
spearman_cosine 0.9479

Training Details

Training Dataset

maux-gte-10k-public

  • Dataset: maux-gte-10k-public at e20c689
  • Size: 10,000 training samples
  • Columns: persian_question, persian_answer, and score
  • Approximate statistics based on the first 1000 samples:
    persian_question persian_answer score
    type string string float
    details
    • min: 6 tokens
    • mean: 14.7 tokens
    • max: 32 tokens
    • min: 13 tokens
    • mean: 29.01 tokens
    • max: 78 tokens
    • min: 0.02
    • mean: 0.52
    • max: 1.0
  • Samples:
    persian_question persian_answer score
    آیا می‌توانید فرآیند برنامه‌ریزی مسیر ربات را توضیح دهید؟ ربات‌ها می‌توانند برنامه‌نویسی شوند تا مجموعه‌ای از وظایف را انجام دهند، از اقدام‌های تکراری ساده تا فرآیندهای پیچیده تصمیم‌گیری. 0.27999999999999997
    آیا انسان‌ها می‌توانند در مریخ زندگی کنند؟ مریخ چهارمین سیاره از خورشید است و به دلیل ظاهر سرخش اغلب به سیاره سرخ معروف است. 0.16
    عناصر کلیدی ترکیب در هنر انتزاعی چیست؟ تاریخ هنر انتزاعی به اوایل قرن بیستم برمی‌گردد، با پیشگامانی مانند واسیلی کاندینسکی و پیت موندریان. 0.36
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Evaluation Dataset

maux-gte-10k-public

  • Dataset: maux-gte-10k-public at e20c689
  • Size: 10,000 evaluation samples
  • Columns: persian_question, persian_answer, and score
  • Approximate statistics based on the first 1000 samples:
    persian_question persian_answer score
    type string string float
    details
    • min: 6 tokens
    • mean: 14.7 tokens
    • max: 32 tokens
    • min: 13 tokens
    • mean: 29.01 tokens
    • max: 78 tokens
    • min: 0.02
    • mean: 0.52
    • max: 1.0
  • Samples:
    persian_question persian_answer score
    آیا می‌توانید فرآیند برنامه‌ریزی مسیر ربات را توضیح دهید؟ ربات‌ها می‌توانند برنامه‌نویسی شوند تا مجموعه‌ای از وظایف را انجام دهند، از اقدام‌های تکراری ساده تا فرآیندهای پیچیده تصمیم‌گیری. 0.27999999999999997
    آیا انسان‌ها می‌توانند در مریخ زندگی کنند؟ مریخ چهارمین سیاره از خورشید است و به دلیل ظاهر سرخش اغلب به سیاره سرخ معروف است. 0.16
    عناصر کلیدی ترکیب در هنر انتزاعی چیست؟ تاریخ هنر انتزاعی به اوایل قرن بیستم برمی‌گردد، با پیشگامانی مانند واسیلی کاندینسکی و پیت موندریان. 0.36
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • learning_rate: 2e-05
  • num_train_epochs: 5
  • warmup_ratio: 0.1
  • fp16: True
  • load_best_model_at_end: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • 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: 5
  • 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: True
  • 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: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss spearman_cosine
0.1597 50 0.0663 - -
0.3195 100 0.0409 0.0298 0.7983
0.4792 150 0.0342 - -
0.6390 200 0.0294 0.0230 0.8464
0.7987 250 0.0296 - -
0.9585 300 0.0298 0.0220 0.8610
1.1182 350 0.0249 - -
1.2780 400 0.0237 0.0230 0.8745
1.4377 450 0.0241 - -
1.5974 500 0.0218 0.0166 0.8900
1.7572 550 0.0227 - -
1.9169 600 0.0231 0.0148 0.9045
2.0767 650 0.0196 - -
2.2364 700 0.0173 0.0131 0.9179
2.3962 750 0.0172 - -
2.5559 800 0.0172 0.0119 0.9231
2.7157 850 0.0167 - -
2.8754 900 0.0172 0.0120 0.9291
3.0351 950 0.0175 - -
3.1949 1000 0.013 0.0100 0.9362
3.3546 1050 0.0128 - -
3.5144 1100 0.0129 0.0101 0.9390
3.6741 1150 0.0134 - -
3.8339 1200 0.0137 0.0095 0.9430
3.9936 1250 0.0133 - -
4.1534 1300 0.0109 0.0096 0.9449
4.3131 1350 0.0114 - -
4.4728 1400 0.0111 0.0083 0.9479
4.6326 1450 0.0107 - -
4.7923 1500 0.0122 0.0085 0.9479
4.9521 1550 0.0112 - -
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.8
  • Sentence Transformers: 3.3.1
  • Transformers: 4.47.1
  • PyTorch: 2.5.1+cu124
  • 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",
}
Downloads last month
0
Safetensors
Model size
305M 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 xmanii/maux-gte-persian-v2

Finetuned
(34)
this model

Dataset used to train xmanii/maux-gte-persian-v2

Evaluation results