SentenceTransformer based on answerdotai/ModernBERT-base

This is a sentence-transformers model finetuned from answerdotai/ModernBERT-base on the wikipedia 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: answerdotai/ModernBERT-base
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Languages: ab, ace, ady, af, alt, am, ami, an, ang, anp, ar, arc, ary, arz, as, ast, atj, av, avk, awa, ay, az, azb, ba, ban, bar, bbc, bcl, be, bg, bh, bi, bjn, blk, bm, bn, bo, bpy, br, bs, bug, bxr, ca, cbk, cdo, ce, ceb, ch, chr, chy, ckb, co, cr, crh, cs, csb, cu, cv, cy, da, dag, de, dga, din, diq, dsb, dty, dv, dz, ee, el, eml, en, eo, es, et, eu, ext, fa, fat, ff, fi, fj, fo, fon, fr, frp, frr, fur, fy, ga, gag, gan, gcr, gd, gl, glk, gn, gom, gor, got, gpe, gsw, gu, guc, gur, guw, gv, ha, hak, haw, hbs, he, hi, hif, hr, hsb, ht, hu, hy, hyw, ia, id, ie, ig, ik, ilo, inh, io, is, it, iu, ja, jam, jbo, jv, ka, kaa, kab, kbd, kbp, kcg, kg, ki, kk, kl, km, kn, ko, koi, krc, ks, ksh, ku, kv, kw, ky, la, lad, lb, lbe, lez, lfn, lg, li, lij, lld, lmo, ln, lo, lt, ltg, lv, lzh, mad, mai, map, mdf, mg, mhr, mi, min, mk, ml, mn, mni, mnw, mr, mrj, ms, mt, mwl, my, myv, mzn, nah, nan, nap, nds, ne, new, nia, nl, nn, no, nov, nqo, nrf, nso, nv, ny, oc, olo, om, or, os, pa, pag, pam, pap, pcd, pcm, pdc, pfl, pi, pih, pl, pms, pnb, pnt, ps, pt, pwn, qu, rm, rmy, rn, ro, ru, rue, rup, rw, sa, sah, sat, sc, scn, sco, sd, se, sg, sgs, shi, shn, si, sk, skr, sl, sm, smn, sn, so, sq, sr, srn, ss, st, stq, su, sv, sw, szl, szy, ta, tay, tcy, te, tet, tg, th, ti, tk, tl, tly, tn, to, tpi, tr, trv, ts, tt, tum, tw, ty, tyv, udm, ug, uk, ur, uz, ve, vec, vep, vi, vls, vo, vro, wa, war, wo, wuu, xal, xh, xmf, yi, yo, yue, za, zea, zgh, zh, zu

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, '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-basearabic-epoch-2lr-0.0005batch-32")
# Run inference
sentences = [
    '2512',
    'https://ar.wikipedia.org/wiki/1%20%D9%81%D8%A8%D8%B1%D8%A7%D9%8A%D8%B1',
    '1 فبراير',
]
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

wikipedia

  • Dataset: wikipedia at b04c8d1
  • Size: 1,219,201 training samples
  • Columns: id, url, title, and text
  • Approximate statistics based on the first 1000 samples:
    id url title text
    type string string string string
    details
    • min: 3 tokens
    • mean: 3.91 tokens
    • max: 5 tokens
    • min: 16 tokens
    • mean: 53.92 tokens
    • max: 180 tokens
    • min: 3 tokens
    • mean: 4.36 tokens
    • max: 10 tokens
    • min: 3 tokens
    • mean: 2819.98 tokens
    • max: 8192 tokens
  • Samples:
    id url title text
    7 https://ar.wikipedia.org/wiki/%D9%85%D8%A7%D8%A1 ماء الماء مادةٌ شفافةٌ عديمة اللون والرائحة، وهو المكوّن الأساسي للجداول والبحيرات والبحار والمحيطات وكذلك للسوائل في جميع الكائنات الحيّة، وهو أكثر المركّبات الكيميائيّة انتشاراً على سطح الأرض. يتألّف جزيء الماء من ذرّة أكسجين مركزية ترتبط بها ذرّتا هيدروجين على طرفيها برابطة تساهميّة بحيث تكون صيغته الكيميائية H2O. عند الظروف القياسية من الضغط ودرجة الحرارة يكون الماء سائلاً؛ أمّا الحالة الصلبة فتتشكّل عند نقطة التجمّد، وتدعى بالجليد؛ أمّا الحالة الغازية فتتشكّل عند نقطة الغليان، وتسمّى بخار الماء.

    إنّ الماء هو أساس وجود الحياة على كوكب الأرض، وهو يغطّي 71% من سطحها، وتمثّل مياه البحار والمحيطات أكبر نسبة للماء على الأرض، حيث تبلغ حوالي 96.5%. وتتوزّع النسب الباقية بين المياه الجوفيّة وبين جليد المناطق القطبيّة (1.7% لكليهما)، مع وجود نسبة صغيرة على شكل بخار ماء معلّق في الهواء على هيئة سحاب (غيوم)، وأحياناً أخرى على هيئة ضباب أو ندى، بالإضافة إلى الزخات المطريّة أو الثلجيّة. تبلغ نسبة الماء العذب حوالي 2.5% فقط من الماء الموجود على الأرض، وأغلب هذه الكمّيّة (حوالي 99%) موجودة في الكتل ...
    38 https://ar.wikipedia.org/wiki/%D8%B1%D9%8A%D8%A7%D8%B6%D9%8A%D8%A7%D8%AA رياضيات الرِّيَاضِيَّات هي مجموعة من المعارف المجردة الناتجة عن الاستنتاجات المنطقية المطبقة على مختلف الكائنات الرياضية مثل المجموعات، والأعداد، والأشكال والبنيات والتحويلات. وتهتم الرياضيات أيضًا بدراسة مواضيع مثل الكمية والبنية والفضاء والتغير. ولا يوجد حتى الآن تعريف عام متفق عليه للمصطلح.

    يسعى علماء الرياضيات إلى استخدام أنماط رياضية لصياغة فرضيات جديدة؛ من خلال استعمال إثباتات رياضية بهدف الوصول للحقيقة وذرء الفرضيات السابقة أو الخاطئة. فمن خلال استخدام التجريد والمنطق، طُوِّرت الرياضيات من العد والحساب والقياس إلى الدراسة المنهجية للأشكال وحركات الأشياء المادية. لقد كانت الرياضيات العملية نشاطًا إنسانيًا يعود إلى تاريخ وجود السجلات المكتوبة. يمكن أن يستغرق البحث المطلوب لحل المسائل الرياضية سنوات أو حتى قرون من البحث المستمر.

    ظهرت الحجج الصارمة أولًا في الرياضيات اليونانية، وعلى الأخص في أصول إقليدس. منذ العمل الرائد لجوزيبه بيانو (1858-1932)، وديفيد هيلبرت (1862-1943)، وغيرهم في النظم البديهية في أواخر القرن التاسع عشر، أصبح من المعتاد النظر إلى الأبحاث الرياضية كإثبات للحقيقة عن طري...
    62 https://ar.wikipedia.org/wiki/%D8%A5%D8%B3%D8%AA%D9%88%D9%86%D9%8A%D8%A7 إستونيا إستونيا ، رسميًا جمهورية إستونيا ؛ هي دولة تقع في منطقة بحر البلطيق بشمال أوروبا. يحدها من الشمال خليج فنلندا، ومن الغرب بحر البلطيق، ومن الجنوب لاتفيا (343 كم)، وإلى الشرق من بحيرة بيبوس والاتحاد الروسي (338.6 كم). تغطي أراضي إستونيا ما مساحته 45227 كيلومتر مربع (17462 ميل مربع)، ويعدّ مناخها الموسمي معتدلًا. الإستونية هي اللغة الرسمية الوحيدة في الدولة. تٌعتبر إستونيا جمهورية ديمقراطية برلمانية، مقسمة إلى 15 مقاطعة. العاصمة وأكبر مدنها هي تالين. ويبلغ عدد سكانها 1,319,133 مليون نسمة، كما تعدّ واحدة من الأعضاء الأقل نموا من حيث عدد السكان في الاتحاد الأوروبي، ومنطقة اليورو، ومنظمة حلف شمال الأطلسي. ولديها أعلى ناتج محلي إجمالي للفرد الواحد بين جمهوريات الاتحاد السوفيتي السابقة. تم وصف جمهورية إستونيا بأنها «اقتصاد ذو دخل مرتفع» من قبل البنك الدولي وبأنها «اقتصاد متطور» من قبل صندوق النقد الدولي، وقد أصبحت في وقت لاحق عضوًا في منظمة التعاون الاقتصادي والتنمية. تصنف الأمم المتحدة إستونيا كدولة متقدمة، كما يعدّ مؤشرالتنمية البشرية لها عاليًا جدًا. وكذلك أنها تتمتع بمستوى عال بالنسبة لحري...
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • learning_rate: 0.0005
  • num_train_epochs: 2
  • warmup_ratio: 0.03
  • bf16: True

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: 0.0005
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 2
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.03
  • 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
0.0262 1000 3.3592
0.0525 2000 3.0539
0.0787 3000 2.925
0.1050 4000 2.7997
0.1312 5000 2.7064
0.1575 6000 2.6531
0.1837 7000 2.5952
0.2100 8000 2.5463
0.2362 9000 2.4931
0.2625 10000 2.4623
0.2887 11000 2.4248
0.3150 12000 2.409
0.3412 13000 2.3561
0.3674 14000 2.3368
0.3937 15000 2.302
0.4199 16000 2.2901
0.4462 17000 2.2659
0.4724 18000 2.2474
0.4987 19000 2.2203
0.5249 20000 2.2162
0.5512 21000 2.1994
0.5774 22000 2.19
0.6037 23000 2.1764
0.6299 24000 2.1651
0.6562 25000 2.1307
0.6824 26000 2.1401
0.7086 27000 2.1174
0.7349 28000 2.0952
0.7611 29000 2.1015
0.7874 30000 2.081
0.8136 31000 2.072
0.8399 32000 2.0645
0.8661 33000 2.0367
0.8924 34000 2.0576
0.9186 35000 2.037
0.9449 36000 2.0341
0.9711 37000 2.0297
0.9973 38000 2.0144
1.0236 39000 1.935
1.0498 40000 1.9255
1.0761 41000 1.9199
1.1023 42000 1.8983
1.1286 43000 1.8942
1.1548 44000 1.8985
1.1811 45000 1.8865
1.2073 46000 1.8832
1.2336 47000 1.8913
1.2598 48000 1.8919
1.2861 49000 1.8641
1.3123 50000 1.8488
1.3385 51000 1.8636
1.3648 52000 1.8551
1.3910 53000 1.8593
1.4173 54000 1.8495
1.4435 55000 1.8705
1.4698 56000 1.8481
1.4960 57000 1.8416
1.5223 58000 1.8371
1.5485 59000 1.8448
1.5748 60000 1.8478
1.6010 61000 1.8396
1.6273 62000 1.8426
1.6535 63000 1.8407
1.6797 64000 1.8309
1.7060 65000 1.834
1.7322 66000 1.8367
1.7585 67000 1.8471
1.7847 68000 1.8418
1.8110 69000 1.8352
1.8372 70000 1.8441
1.8635 71000 1.8214
1.8897 72000 1.8416
1.9160 73000 1.833
1.9422 74000 1.839
1.9685 75000 1.8469
1.9947 76000 1.8415

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}
}
Downloads last month
0
Safetensors
Model size
149M params
Tensor type
BF16
·
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 BounharAbdelaziz/ModernBERT-basearabic-epoch-2lr-0.0005batch-32

Finetuned
(47)
this model

Dataset used to train BounharAbdelaziz/ModernBERT-basearabic-epoch-2lr-0.0005batch-32