ALJIACHI commited on
Commit
0040ac3
·
1 Parent(s): 29da64a

Add model files and documentation

Browse files
1_Pooling/config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "word_embedding_dimension": 768,
3
+ "pooling_mode_cls_token": false,
4
+ "pooling_mode_mean_tokens": true,
5
+ "pooling_mode_max_tokens": false,
6
+ "pooling_mode_mean_sqrt_len_tokens": false,
7
+ "pooling_mode_weightedmean_tokens": false,
8
+ "pooling_mode_lasttoken": false,
9
+ "include_prompt": true
10
+ }
README.md CHANGED
@@ -1,3 +1,189 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - ar
4
+ - en
5
+ license: mit
6
+ tags:
7
+ - sentence-transformers
8
+ - sentence-similarity
9
+ - feature-extraction
10
+ widget:
11
+ - source_sentence: ما هي فوائد ممارسة الرياضة بانتظام للصحة العامة؟
12
+ sentences:
13
+ - تشير الدراسات الحديثة إلى أن تناول القهوة باعتدال قد يقلل من خطر الإصابة بأمراض القلب.
14
+ - ممارسة الرياضة بانتظام تقوي عضلة القلب وتحسن الدورة الدموية وتساعد في الحفاظ على وزن صحي، كما أنها تطلق هرمونات تحسن المزاج وتقلل من التوتر والقلق.
15
+ - أظهرت إحصائيات وزارة التربية والتعليم تحسناً في نسب النجاح بالمرحلة الثانوية هذا العام.
16
+ - source_sentence: ما هي أهم المعالم السياحية في مدينة القاهرة؟
17
+ sentences:
18
+ - شهدت أسعار النفط ارتفاعاً ملحوظاً في الأسواق العالمية خلال الأسبوع الماضي.
19
+ - تعتبر القاهرة من أقدم المدن العربية وتضم العديد من المعالم التاريخية المهمة مثل الأهرامات وأبو الهول ومتحف الحضارة المصرية والقلعة وخان الخليلي والأزهر الشريف.
20
+ - أكدت الهيئة العامة للأرصاد الجوية أن درجات الحرارة ستشهد انخفاضاً تدريجياً بداية من الأسبوع المقبل.
21
+ - source_sentence: ما هي أسباب التلوث البيئي وطرق مكافحته؟
22
+ sentences:
23
+ - ينتج التلوث البيئي عن النشاط الصناعي والانبعاثات الناتجة عن وسائل النقل وحرق الوقود الأحفوري، ويمكن مكافحته من خلال استخدام الطاقة المتجددة وتدوير النفايات وتشديد القوانين البيئية.
24
+ - أعلنت وزارة الصحة عن حملة توعية جديدة للوقاية من الأمراض المعدية مع بداية فصل الشتاء.
25
+ - تستعد الفرق الرياضية المشاركة في البطولة العربية للمباريات النهائية التي ستقام الشهر المقبل.
26
+ - source_sentence: كيف تؤثر وسائل التواصل الاجتماعي على العلاقات الأسرية؟
27
+ sentences:
28
+ - شهدت أسواق العملات الرقمية تقلبات حادة خلال الأيام الماضية مما أثار قلق المستثمرين.
29
+ - أعلنت شركة أبل عن إطلاق هاتفها الذكي الجديد بمواصفات تقنية متطورة.
30
+ - أدت وسائل التواصل الاجتماعي إلى تقليل التفاعل المباشر بين أفراد الأسرة الواحدة، وفي بعض الحالات تسببت في قطع الحوار وضعف الروابط الأسرية، لكنها في المقابل ساعدت العائلات المتباعدة جغرافياً على البقاء على اتصال.
31
+ - source_sentence: ما هي أحدث التقنيات المستخدمة في مجال الذكاء الاصطناعي؟
32
+ sentences:
33
+ - تشهد تقنيات الذكاء الاصطناعي تطوراً متسارعاً، وتشمل أحدث التقنيات المستخدمة نماذج اللغة الكبيرة وأنظمة الرؤية الحاسوبية والتعلم المعزز، بالإضافة إلى تقنيات توليد المحتوى والترجمة الآلية العصبية.
34
+ - أعلنت وزارة النقل عن مشروع جديد لتطوير شبكة الطرق السريعة لربط المدن الرئيسية.
35
+ - حذرت هيئة الأرصاد الجوية من موجة حر شديدة ستضرب المنطقة خلال الأيام القادمة.
36
+ pipeline_tag: sentence-similarity
37
+ library_name: sentence-transformers
38
+ metrics:
39
+ - pearson_cosine
40
+ - spearman_cosine
41
+ model-index:
42
+ - name: BTE-Base-Ar
43
+ results:
44
+ - task:
45
+ type: semantic-similarity
46
+ name: Semantic Similarity
47
+ dataset:
48
+ name: Unknown
49
+ type: unknown
50
+ metrics:
51
+ - type: pearson_cosine
52
+ value: 0.8597648589357656
53
+ name: Pearson Cosine
54
+ - type: spearman_cosine
55
+ value: 0.8538045888344338
56
+ name: Spearman Cosine
57
+ ---
58
+
59
+ # Overview
60
+
61
+ BTE-Base-Ar is a leading open-source model based on the Transformer architecture, sIt 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. With only 149 million parameters, it offers a perfect balance between performance and efficiency, outperforming larger models while using significantly fewer resources.
62
+
63
+
64
+ ## Model Details
65
+
66
+ ### Model Description
67
+ - **Model Type:** Sentence Transformer
68
+ <!-- - **Base model:** [Unknown](https://huggingface.co/unknown) -->
69
+ - **Maximum Sequence Length:** 8192 tokens
70
+ - **Output Dimensionality:** 768 dimensions
71
+ - **Similarity Function:** Cosine Similarity
72
+ <!-- - **Training Dataset:** Unknown -->
73
+ - **Language:** ar
74
+ - **License:** mit
75
+
76
+ ## Key Features
77
+
78
+ - **Lightweight & Efficient**: 149M parameters vs competitors with 278-568M parameters
79
+ - **Long Text Processing**: Handles up to 8192 tokens with sliding window technique
80
+ - **High-Speed Inference**: 3x faster than comparable models
81
+ - **Arabic Language Optimization**: Specifically fine-tuned for Arabic language nuances
82
+ - **Resource Efficient**: 75% less memory consumption than competitors
83
+
84
+ ### Model Sources
85
+
86
+ - **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
87
+ - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
88
+ - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
89
+
90
+ ### Full Model Architecture
91
+
92
+ ```
93
+ SentenceTransformer(
94
+ (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: ModernBertModel
95
+ (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})
96
+ )
97
+ ```
98
+
99
+ ## Training Methodology
100
+
101
+ BTE-Base-Ar was trained on a diverse corpus of **741,159,981 tokens** from:
102
+
103
+ - Authentic Arabic and English open-source datasets
104
+ - Manually crafted and processed text
105
+ - Purpose-generated synthetic data
106
+
107
+ This comprehensive training approach enables deep understanding of both Arabic & English linguistic contexts.
108
+
109
+ ## Usage
110
+
111
+ ### Direct Usage (Sentence Transformers)
112
+
113
+ First install the Sentence Transformers library:
114
+
115
+ ```bash
116
+ pip install -U sentence-transformers
117
+ ```
118
+
119
+ Then you can load this model and run inference.
120
+ ```python
121
+ from sentence_transformers import SentenceTransformer
122
+
123
+ # Download from the 🤗 Hub
124
+ model = SentenceTransformer("ALJIACHI/bte-base-ar")
125
+ # Run inference
126
+ sentences = [
127
+ 'وبيّن: بمقتضى عقيدتنا قُل لَّن يُصِيبَنَا إِلَّا مَا كَتَبَ اللَّهُ لَنَا ، أي أنّ الإنسان المؤمن دائماً يكون في حالة طمأنينة، وهذه العلاقة ما بين العبد وربّه هي علاقة عبدٍ مع سيّده، وكما ورد في بعض الأدعية خيرُك إلينا نازل وشرُّنا إليك صاعد ، نحن نتعامل مع الله سبحانه وتعالى وهو محضُ الخير ومحضُ الرحمة، وكلّ ما يصدر من الله تبارك وتعالى على العبد أن يكون في منتهى العبوديّة والتذلّل اليه جلّ شأنُه .',
128
+ 'أعلنت وزارة الصحة عن حملة تطعيم وطنية ضد الأمراض المعدية، تهدف إلى حماية الأطفال من العدوى.',
129
+ ]
130
+ embeddings = model.encode(sentences)
131
+ print(embeddings.shape)
132
+ # [3, 768]
133
+
134
+ # Get the similarity scores for the embeddings
135
+ similarities = model.similarity(embeddings, embeddings)
136
+ print(similarities.shape)
137
+ # [3, 3]
138
+ ```
139
+
140
+
141
+ ## Evaluation
142
+
143
+ ### Metrics
144
+
145
+ #### Semantic Similarity
146
+
147
+ * Evaluated with [<code>EmbeddingSimilarityEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator)
148
+
149
+ | Metric | Value |
150
+ |:--------------------|:-----------|
151
+ | pearson_cosine | 0.8598 |
152
+ | **spearman_cosine** | **0.8538** |
153
+
154
+
155
+ ### Framework Versions
156
+ - Python: 3.10.14
157
+ - Sentence Transformers: 4.0.1
158
+ - Transformers: 4.50.3
159
+ - PyTorch: 2.3.0+cu121
160
+ - Accelerate: 1.5.2
161
+ - Datasets: 3.5.0
162
+ - Tokenizers: 0.21.0
163
+
164
+
165
+ ## Citation
166
+
167
+ If you use BTE-Base-Ar in your research, please cite:
168
+
169
+ ```bibtex
170
+ @software{BTE_Base_Ar_2025,
171
+ author = {Ali Aljiachi},
172
+ title = {BTE-Base-Ar: A Revolutionary Arabic Text Embeddings Model},
173
+ year = {2025},
174
+ publisher = {Hugging Face},
175
+ url = {https://huggingface.co/Aljiachi/bte-base-ar}
176
+ }
177
+ ```
178
+
179
+ ```bibtex
180
+ @misc{modernbert,
181
+ title={Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference},
182
+ author={Benjamin Warner and Antoine Chaffin and Benjamin Clavié and Orion Weller and Oskar Hallström and Said Taghadouini and Alexis Gallagher and Raja Biswas and Faisal Ladhak and Tom Aarsen and Nathan Cooper and Griffin Adams and Jeremy Howard and Iacopo Poli},
183
+ year={2024},
184
+ eprint={2412.13663},
185
+ archivePrefix={arXiv},
186
+ primaryClass={cs.CL},
187
+ url={https://arxiv.org/abs/2412.13663},
188
+ }
189
+ ```
config.json ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens_ids": [],
3
+ "architectures": [
4
+ "ModernBertModel"
5
+ ],
6
+ "attention_bias": false,
7
+ "attention_dropout": 0.0,
8
+ "bos_token_id": null,
9
+ "classifier_activation": "gelu",
10
+ "classifier_bias": false,
11
+ "classifier_dropout": 0.0,
12
+ "classifier_pooling": "mean",
13
+ "cls_token_id": 3,
14
+ "decoder_bias": true,
15
+ "deterministic_flash_attn": false,
16
+ "embedding_dropout": 0.0,
17
+ "eos_token_id": null,
18
+ "global_attn_every_n_layers": 3,
19
+ "global_rope_theta": 160000.0,
20
+ "gradient_checkpointing": false,
21
+ "hidden_activation": "gelu",
22
+ "hidden_size": 768,
23
+ "initializer_cutoff_factor": 2.0,
24
+ "initializer_range": 0.02,
25
+ "intermediate_size": 1152,
26
+ "layer_norm_eps": 1e-05,
27
+ "local_attention": 128,
28
+ "local_rope_theta": 10000.0,
29
+ "mask_token_id": 6,
30
+ "max_position_embeddings": 8192,
31
+ "mlp_bias": false,
32
+ "mlp_dropout": 0.0,
33
+ "model_type": "modernbert",
34
+ "norm_bias": false,
35
+ "norm_eps": 1e-05,
36
+ "num_attention_heads": 12,
37
+ "num_hidden_layers": 22,
38
+ "pad_token_id": 5,
39
+ "position_embedding_type": "absolute",
40
+ "reference_compile": false,
41
+ "repad_logits_with_grad": false,
42
+ "sep_token_id": 4,
43
+ "sparse_pred_ignore_index": -100,
44
+ "sparse_prediction": false,
45
+ "tokenizer_class": "PreTrainedTokenizerFast",
46
+ "torch_dtype": "float32",
47
+ "transformers_version": "4.50.3",
48
+ "unk_token_id": 2,
49
+ "vocab_size": 50280
50
+ }
config_sentence_transformers.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "__version__": {
3
+ "sentence_transformers": "4.0.1",
4
+ "transformers": "4.50.3",
5
+ "pytorch": "2.3.0+cu121"
6
+ },
7
+ "prompts": {},
8
+ "default_prompt_name": null,
9
+ "similarity_fn_name": "cosine"
10
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:24cafd1e99b5c0488a421adcc7606e2b420cb084295385db67f2677e2f57b669
3
+ size 595799800
modules.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "idx": 0,
4
+ "name": "0",
5
+ "path": "",
6
+ "type": "sentence_transformers.models.Transformer"
7
+ },
8
+ {
9
+ "idx": 1,
10
+ "name": "1",
11
+ "path": "1_Pooling",
12
+ "type": "sentence_transformers.models.Pooling"
13
+ }
14
+ ]
sentence_bert_config.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "max_seq_length": 8192,
3
+ "do_lower_case": false
4
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": {
3
+ "content": "[CLS]",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "mask_token": {
10
+ "content": "[MASK]",
11
+ "lstrip": true,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "[PAD]",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "sep_token": {
24
+ "content": "[SEP]",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ },
30
+ "unk_token": {
31
+ "content": "[UNK]",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false
36
+ }
37
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "<|padding|>",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false,
9
+ "special": true
10
+ },
11
+ "1": {
12
+ "content": "<|endoftext|>",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "2": {
20
+ "content": "[UNK]",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": true
26
+ },
27
+ "3": {
28
+ "content": "[CLS]",
29
+ "lstrip": false,
30
+ "normalized": false,
31
+ "rstrip": false,
32
+ "single_word": false,
33
+ "special": true
34
+ },
35
+ "4": {
36
+ "content": "[SEP]",
37
+ "lstrip": false,
38
+ "normalized": false,
39
+ "rstrip": false,
40
+ "single_word": false,
41
+ "special": true
42
+ },
43
+ "5": {
44
+ "content": "[PAD]",
45
+ "lstrip": false,
46
+ "normalized": false,
47
+ "rstrip": false,
48
+ "single_word": false,
49
+ "special": true
50
+ },
51
+ "6": {
52
+ "content": "[MASK]",
53
+ "lstrip": true,
54
+ "normalized": false,
55
+ "rstrip": false,
56
+ "single_word": false,
57
+ "special": true
58
+ }
59
+ },
60
+ "clean_up_tokenization_spaces": true,
61
+ "cls_token": "[CLS]",
62
+ "extra_special_tokens": {},
63
+ "mask_token": "[MASK]",
64
+ "max_length": 512,
65
+ "model_input_names": [
66
+ "input_ids",
67
+ "attention_mask"
68
+ ],
69
+ "model_max_length": 8192,
70
+ "pad_to_multiple_of": null,
71
+ "pad_token": "[PAD]",
72
+ "pad_token_type_id": 0,
73
+ "padding_side": "right",
74
+ "sep_token": "[SEP]",
75
+ "stride": 0,
76
+ "tokenizer_class": "PreTrainedTokenizer",
77
+ "truncation_side": "right",
78
+ "truncation_strategy": "longest_first",
79
+ "unk_token": "[UNK]"
80
+ }