BounharAbdelaziz's picture
Add new SentenceTransformer model
9920f26 verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:2818353
  - loss:CachedMultipleNegativesRankingLoss
base_model: answerdotai/ModernBERT-base
widget:
  - source_sentence: واش كا يحبس هاد الطوبيس في شارع ستونر؟
    sentences:
      - '{''ar'': ''هل هذه الحافلة تتوقف في شارع أستونر ؟''}'
      - tachicart/mo_darija_merged
      - tachicart/mo_darija_merged
  - source_sentence: العمال تما يقدرو يبدلو ليك الدولار بالفيتشات ديال الكازينو. مشينا؟
    sentences:
      - tachicart/mo_darija_merged
      - tachicart/mo_darija_merged
      - >-
        {'ar': 'يستطيع الصرافون أن يغيروا دولاراتك من أجل بقشيش الكازينو . هل
        نذهب ؟'}
  - source_sentence: واخا توريني شي كبوط مضاد للماء؟
    sentences:
      - tachicart/mo_darija_merged
      - '{''ar'': ''هل لك أن ترنى معطفاً ضد الماء ؟''}'
      - tachicart/mo_darija_merged
  - source_sentence: فين كاين البلاطو رقم خمسة؟
    sentences:
      - tachicart/mo_darija_merged
      - tachicart/mo_darija_merged
      - '{''ar'': ''أين الرصيف رقم خمسة ؟''}'
  - source_sentence: شحال للمطار؟
    sentences:
      - tachicart/mo_darija_merged
      - tachicart/mo_darija_merged
      - '{''ar'': ''كم سأدفع للوصول إلى المطار ؟''}'
datasets:
  - atlasia/AL-Atlas-Moroccan-Darija-Pretraining-Dataset
pipeline_tag: sentence-similarity
library_name: sentence-transformers

SentenceTransformer based on answerdotai/ModernBERT-base

This is a sentence-transformers model finetuned from answerdotai/ModernBERT-base on the al-atlas-moroccan-darija-pretraining-dataset 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': 8196, '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("BounharAbdelaziz/ModernBERT-base-0.005")
# Run inference
sentences = [
    'شحال للمطار؟',
    'tachicart/mo_darija_merged',
    "{'ar': 'كم سأدفع للوصول إلى المطار ؟'}",
]
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

al-atlas-moroccan-darija-pretraining-dataset

  • Dataset: al-atlas-moroccan-darija-pretraining-dataset at 6668961
  • Size: 2,818,353 training samples
  • Columns: text, dataset_source, and metadata
  • Approximate statistics based on the first 1000 samples:
    text dataset_source metadata
    type string string string
    details
    • min: 3 tokens
    • mean: 334.62 tokens
    • max: 5020 tokens
    • min: 13 tokens
    • mean: 13.0 tokens
    • max: 13 tokens
    • min: 14 tokens
    • mean: 19.87 tokens
    • max: 26 tokens
  • Samples:
    text dataset_source metadata
    سامي خضيرة :

    الكابيتان فوقتنا كان هو كاسياس ولكن كنا كنحسو باللي راموس هو القائد الفعلي كان فيه الروح و الغرينتا ديال الاسبان .

    ماتنساش كان معانا تا رونالدو كيهضر مع كولشي ويحفزنا ، و عادي تسمعو وسط الفيستير كيقول " خضيرة زير راسك وكون عدواني " ، " مسعود عطينا شوية من سحرك الكروي فالتيران " ونتا أدي ماريا حاول تشد الكرة وقصد المرمى " كان هادشي كيخلينا نعطيو كل ما فجهدنا

    و بطبيعة الحال كان مورينيو الخطير فهاد الضومين ، و كانت المشكلة الكبيرة ديما هي كيفاش نوقفو ميسي ماشي غير حنا ولكن كاع الفراقي فداك الوقت .
    atlasia/facebook_darija_dataset {'pageName': "Football B'darija - فوتبول بالداريجة"}
    الأحداث كاتتطور بسرعة رهيبة ف بريتوريا !!

    ميغيل كاردوزو المدرب السابق للترجي الرياضي التونسي وصل البارح بشكل مفاجئ لجنوب افريقيا.. وصباح اليوم الصحافة المحلية كاتأكد انو ماميلودي سانداونز غاتقيل المدرب ديالها اليوم و غاتعين كاردوزو ك بديل !
    atlasia/facebook_darija_dataset {'pageName': "Football B'darija - فوتبول بالداريجة"}
    الريال و تحدي جديد هاد الليلة باش يرجعو للمنافسة ف التشامبيانزليغ قدام خصم أقل ما يتقال عليه انو عتيد هو اتلانتا بيرغامو وليدات العبقري جيانبييرو غاسبيريني..

    الريال مؤخرا ورغم الشكوك اللي دايرة على الفريق والمشاكل الدفاعية و الإصابات اللي زادت ف الهشاشة ديال الدفاع ديالو الا انو رجع بقوة للمنافسة فالليغا واستغل الفترة د الفراغ اللي تا تعيشها البارسا حاليا باش يرجع على بعد نقطتين من الصدارة و عندو ماتش مؤجل مرشح بقوة يفوز فيه على فالنسيا ويطلع للقمة ..

    الريال تانضن لا ربح اليوم غايمحي بشكل شبه كلي الغمامة اللي كاتطوف فوق منو من بدا الموسم و غايقوي ثقة الجمهور فيه و يرجع الثقة للمجموعة و غايرسم راسو ك رقم قوي ف المنافسة المفضلة ليه واحنا ديجا عارفين ان الريال diesel فرقة كاتديماري بشوية بشوية وفالفترات الحاسمة ف الموسم كاتورك على السانكيام فيتيس.
    atlasia/facebook_darija_dataset {'pageName': "Football B'darija - فوتبول بالداريجة"}
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

al-atlas-moroccan-darija-pretraining-dataset

  • Dataset: al-atlas-moroccan-darija-pretraining-dataset at 6668961
  • Size: 1,875 evaluation samples
  • Columns: text, dataset_source, and metadata
  • Approximate statistics based on the first 1000 samples:
    text dataset_source metadata
    type string string string
    details
    • min: 5 tokens
    • mean: 27.22 tokens
    • max: 170 tokens
    • min: 14 tokens
    • mean: 14.0 tokens
    • max: 14 tokens
    • min: 11 tokens
    • mean: 33.41 tokens
    • max: 177 tokens
  • Samples:
    text dataset_source metadata
    كاين في اللاخر ديال هاد القاعة. انجيب ليك شويا دابا. و إلا حتاجيتي شي حاجا اخرى، قولها ليا. tachicart/mo_darija_merged {'ar': 'إنها في أخر القاعة . سوف آتي لك ببعض منها الآن . إذا أردت أي شيئاً آخر فقط أعلمني .'}
    واش كا دير التعديلات؟ tachicart/mo_darija_merged {'ar': 'هل تقومون بعمل تعديلات ؟'}
    بغينا ناخدو طابلة حدا الشرجم. tachicart/mo_darija_merged {'ar': 'نريد مائدة بجانب النافذة .'}
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 128
  • per_device_eval_batch_size: 128
  • learning_rate: 0.005
  • num_train_epochs: 1
  • warmup_ratio: 0.05
  • bf16: 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: 128
  • per_device_eval_batch_size: 128
  • 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: 0.005
  • 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.05
  • 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: True
  • 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: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss
0.2271 5000 4.4677 4.8309
0.4542 10000 4.4206 4.8347
0.6812 15000 4.3974 4.8401
0.9083 20000 4.3905 4.8354

Framework Versions

  • Python: 3.12.3
  • Sentence Transformers: 3.3.1
  • Transformers: 4.48.0.dev0
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.1.1
  • Datasets: 3.1.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",
}

CachedMultipleNegativesRankingLoss

@misc{gao2021scaling,
    title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
    author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
    year={2021},
    eprint={2101.06983},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}