SentenceTransformer based on NAMAA-Space/AraModernBert-Base-STS

This is a sentence-transformers model finetuned from NAMAA-Space/AraModernBert-Base-STS. 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: NAMAA-Space/AraModernBert-Base-STS
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: ModernBertModel 
  (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("yoriis/NAMAA-retriever-contrastive-1")
# Run inference
sentences = [
    'ما هي تقنية التصوير التجسيمي (الهولوجرام) ؟',
    'الصور التجسيمية أو الذواكر الهولوغرافية  تمتلك خاصية فريدة تمكنها من إعادة تكوين صورة الأجسام بأبعادها الثلاثة في الفضاء . تتم تلك العملية بإستخدام أشعة الليزر.',
    '350px|تصغير أرمينيوس (Arminius)  (ولد 18 قبل الميلاد - توفى 21)، زعيم قبيلة الشيروسكيين الذي هزم الجيش الروماني في معركة فاروس أو المعروفة بـ معركة غابة تويتوبورغ.[1][2][3] نجح تحالف القبائل الجرمانية ضد الإمبراطورية الرومانية  في قطع الطريق على الجهود التي بذلها جرمانيكوس، ابن شقيق الإمبراطور تيبيريوس للسيطرة الأراضي الجرمانية شرقي نهر الراين ، حيث إنهزم جيش الرومان هزيمة كبيرة.  ورغم الجدل بين المؤرخين حول نتائج عدة معارك حاسمة تلت تلك المعركة لاستعادة هيبة الجيش الروماني (تاسيتوس، أنالس 2،22، سويتونيوس، كاليغولا 1.4). ولكن هزيمة الرومان كانت أكيدة وعملوا على ترك تلك المناطق . وعلى الرغم من أن أرمينيوس في نهاية المطاف لم ينجح في إقامة الوحدة بين القبائل الجرمانية، كان لنصره الكبير أثرا بعيد المدى على تاريخ اللاحق لكل من القبائل الجرمانية القديمة والإمبراطورية الرومانية، وأخيرا على أوروبا بأسرها. ويعتبر الأمان أن أرمينيوس هو أول بطل حربي في تاريخ ألمانيا.',
]
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: 47,178 training samples
  • Columns: sentence_0, sentence_1, and label
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 label
    type string string float
    details
    • min: 6 tokens
    • mean: 9.88 tokens
    • max: 31 tokens
    • min: 12 tokens
    • mean: 127.41 tokens
    • max: 512 tokens
    • min: 0.0
    • mean: 0.33
    • max: 1.0
  • Samples:
    sentence_0 sentence_1 label
    ما سبب إندلاع الحرب الأهلية السلفادورية ؟ الحرب الأهلية السلفادورية كانت صراعا مسلحا بين الحكومة العسكرية السلفادورية وجبهة فارابوندو مارتي للتحرير الوطني (FMLN)، وهي ائتلاف من خمسة جماعات حرب عصابات يسارية. أدى الانقلاب العسكري في 15 أكتوبر 1979 إلى عمليات قتل للمتظاهرين ضد الانقلاب من قبل الحكومة فضلا عن إفشال إضراب المتظاهرين من قبل مقاتلي الجيش، وينظر على نطاق واسع أن هذا هو نقطة تحول السلفادور نحو الحرب الأهلية.[1] 1.0
    ما هو حيوان الرنة ؟ في يناير من عام 1996، كانت بداية شركة جوجل في صورة مشروع بحثي بدأه لاري بيج وسرعان ما شارك فيه سيرجي برن، وذلك حينما كانا طالبين يقومان بتحضير رسالة الدكتوراه في جامعة ستانفورد بولاية كاليفورنيا.[8] وقد افترضا أن محرك البحث الذي يقوم بتحليل العلاقات بين مواقع الشبكة من شأنه أن يوفر ترتيبًا لنتائج البحث أفضل من ذلك الذي توفره أي أساليب متبعة بالفعل والتي تقوم بترتيب النتائج حسب عدد مرات ظهور المصطلح الذي يتم البحث عنه داخل الصفحة.[9] وكان قد أطلق على محرك البحث الذي قاما بإنشائه اسم باك رب لأن النظام الخاص به كان يفحص روابط العودة الموجودة بالموقع من أجل تقييم درجة أهمية الموقع[10][11]، وكان هناك محرك بحث صغير اسمه "Rankdex" يحاول بالفعل البحث عن تقنية مماثلة.[12] ومن منطلق اقتناع "بيدج" و"برن" بأن الصفحات التي تتضمن روابط تشير لصفحات أخرى ذات صلة هي الصفحات الأكثر ارتباطًا بعملية البحث. قام كلاهما باختبار فرضيتهما كجزء من الدراسة التي يقومان بها، ومن ثم وضعا أساس محرك البحث الخاص بهما. ولقد استخدم محرك البحث آنذاك موقع الويب الخاص في جامعة "ستانفورد" مستخدمين النطاق google.stanford.ed... 0.0
    ما هو الطب الجزيئي؟ مولدوفا تقع بين خطي العرض 45° و49 درجة شمالا، ومعظمها بين meridians 26° و30 درجة شرقا (منطقة صغيرة تقع إلى الشرق من 30 °).إجمالي مساحة الأراضي كم 33,8512 ويكمن الجزء الأكبر من البلاد بين النهرين، نهر دنيستر وبروت. الحدود الغربية من مولدوفا يتشكل من نهر بروت، الذي يربط نهر الدانوب المتدفقة إلى البحر الأسود. مولدوفا يمتد على نهر الدانوب بحوالي 480 متر (1,575)، وهو المنفذ الوحيد المولدوفية في نهر الدانوب. في الشرق، وهو نهر دنيستر النهر الرئيسي، تتدفق عبر البلد من الشمال إلى الجنوب، تلقي مياه Răut، Bâc، إيشيل، بوتنا. ويتدفق إيالبوج إلى أحد نهر الدانوب ليمانس،. البلد غير ساحلي، حتى ولو أنها قريبة جداً من البحر الأسود. بينما معظم أنحاء البلد من التلال، المرتفاعات تبدأ من 430 متر وتتجاوز (1,411) – أعلى نقطة هي تلة Bălăneşti. هيلز في مولدوفا هي جزء من هضبة المولدوفية، التي تنبع من جبال الكارباتجيولوجيا. تشمل أقسامها في مولدوفا دنيستر هيلز (التلال الشمالية المولدوفية وريدج دنيستر) والمولدافية عادي (وادي بروت الأوسط والسهوب Bălţi) والهضبة الوسطى المولدافية (التلال سولاك-Soloneţ، Corneşti هيلز (ك... 0.0
  • Loss: ContrastiveLoss with these parameters:
    {
        "distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
        "margin": 0.5,
        "size_average": true
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • fp16: True
  • multi_dataset_batch_sampler: round_robin

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: 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: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1
  • num_train_epochs: 3
  • 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: 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: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • hub_revision: None
  • 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
  • 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
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

Epoch Step Training Loss
0.3390 500 0.0052
0.6780 1000 0.0032
1.0169 1500 0.0029
1.3559 2000 0.0015
1.6949 2500 0.0015
2.0339 3000 0.0014
2.3729 3500 0.0008
2.7119 4000 0.0007

Framework Versions

  • Python: 3.11.13
  • Sentence Transformers: 4.1.0
  • Transformers: 4.54.0
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.9.0
  • Datasets: 4.0.0
  • Tokenizers: 0.21.2

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

ContrastiveLoss

@inproceedings{hadsell2006dimensionality,
    author={Hadsell, R. and Chopra, S. and LeCun, Y.},
    booktitle={2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06)},
    title={Dimensionality Reduction by Learning an Invariant Mapping},
    year={2006},
    volume={2},
    number={},
    pages={1735-1742},
    doi={10.1109/CVPR.2006.100}
}
Downloads last month
7
Safetensors
Model size
149M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for yoriis/NAMAA-retriever-contrastive-1

Finetuned
(6)
this model
Finetunes
3 models