初始化项目,由ModelHub XC社区提供模型

Model: atlasia/Al-Atlas-0.5B
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-05-24 16:06:58 +08:00
commit 31abac48e6
11 changed files with 151820 additions and 0 deletions

35
.gitattributes vendored Normal file
View File

@@ -0,0 +1,35 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text

93
README.md Normal file
View File

@@ -0,0 +1,93 @@
---
library_name: transformers
datasets:
- atlasia/Atlaset
language:
- ar
- ary
base_model:
- Qwen/Qwen2.5-0.5B
pipeline_tag: text-generation
---
# Al-Atlas: Large Language Model for Moroccan Arabic
## Overview
Al-Atlas is a 0.5B parameter language model specifically trained on Moroccan Darija, making it the first dedicated foundation model for Morocco's primary spoken dialect. The model was finetuned from [Qwen-2.5](https://huggingface.co/Qwen/Qwen2.5-0.5B) and trained on a carefully curated dataset of 155M tokens, focusing exclusively on authentic Moroccan Darija content.
## Key Features
- **Dedicated Darija Model**: First language model trained specifically for Moroccan Arabic dialect
- **High-Quality Data**: Curated dataset of 155M tokens from authentic Moroccan sources
- **Cultural Understanding**: Captures nuanced cultural context and local expressions
## Dataset
Our training corpus consists of 155M tokens of pure Moroccan Darija content, sourced from:
- Social media conversations
- Transcribed spoken content
- Online forums and discussions
- Local news and media
- User-generated content
Each source was carefully vetted to ensure authentic representation of the dialect and remove any Modern Standard Arabic (MSA) or other Arabic dialect contamination.
## Model Details
- **Architecture**: Transformer-based language model
- **Parameters**: 0.5B
- **Context Window**: 2048 tokens
- **Training Data**: 155M tokens of pure Darija content
## Use Cases
- Chatbots for Moroccan users
- Content generation in Darija
- Text classification for Moroccan content
- Sentiment analysis for local markets
- Customer service automation
- Educational tools for Darija speakers
## Getting Started
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
# Load model and tokenizer
model = AutoModelForCausalLM.from_pretrained("atlasia/Al-Atlas-0.5B")
tokenizer = AutoTokenizer.from_pretrained("atlasia/Al-Atlas-0.5B")
# Example usage
text = "الذكاء الاصطناعي هو فرع من علوم الكمبيوتر اللي كيركز"
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(
**inputs,
max_new_tokens=1024,
pad_token_id=tokenizer.pad_token_id or tokenizer.eos_token_id,
repetition_penalty=1.5,
num_beams=8,
top_p= 0.9,
top_k= 150,
do_sample= True,
early_stopping = True,
)
response = tokenizer.decode(outputs[0])
# response:
الذكاء الاصطناعي هو فرع من علوم الكمبيوتر اللي كيركز گاع على تطوير الآلات اللي قادرة تدير مهام اللي عادة خاصها ذكاء بشري، بحال التعرف على الأنماط، حل المشاكل، اتخاذ القرارات، وفهم اللغة الطبيعية. الذكاء الاصطناعي عندو إمكانية باش يغير بزاف كيفاش كنعيشو، نخدمو، ونتفاعلو مع بعضياتنا.
واحد من أهم التطبيقات ديال الذكاء الاصطناعي هو فالصحة. الذكاء الاصطناعي يقدر يعاون الطبة باش يشخصو الأمراض بدقة أكبر، يأوتوماتيزيو المهام الروتينية، ويحسنو نتائج المرضى. مثلا، الخوارزميات ديال الذكاء الاصطناعي تقدر تحلل الصور الطبية باش تكتاشف العلامات الحيوية اللي ممكن ما تكونش واضحة للفحص البشري. زيادة على هادشي، الذكاء الاصطناعي يقدر يعاون الأطباء باش يصاوبو خطط علاج مخصصة حسب الاحتياجات الخاصة ديال كل مريض.
بالإضافة للصحة، الذكاء الاصطناعي عندو إمكانية باش يغير الطريقة اللي كنتفاعلو بيها مع التكنولوجيا. مثلا، الذكاء الاصطناعي يقدر يعاون الشركات باش يحسنو العمليات ديالهم، يأوتوماتيزيو المهام الروتينية، ويحسنو تجربة الزبون. زيادة على هادشي، الذكاء الاصطناعي يقدر يعاون الفلاحة باش يزيدو الإنتاجية، ينقصو التكاليف، ويحسنو جودة المحاصيل.
فالختام، الذكاء الاصطناعي عندو إمكانية باش يغير بزاف كيفاش كنعيشو، نخدمو، ونتفاعلو مع بعضياتنا. من خلال تطوير أنظمة ذكاء اصطناعي متقدمة، نقدرو نحسنو الكفاءة، نحسنو جودة الحياة، ونخلقو عالم أحسن للأجيال الجاية. مع استمرار تطور الذكاء الاصطناعي، من المرجح أنه غادي يلعب دور أكثر أهمية فتشكيل مستقبل البشرية. فالنهاية، الذكاء الاصطناعي عندو إمكانية باش يغير بزاف كيفاش كنعيشو، نخدمو، ونتفاعلو مع بعضياتنا. ولكن، خاصنا نكونو واعيين بالمخاطر والتحديات المرتبطة بالذكاء الاصطناعي باش نستافدو منو بأحسن طريقة. فالنهاية، الذكاء الاصطناعي عندو إمكانية باش يغير بزاف كيفاش كنعيشو، نخدمو، ونتفاعلو مع بعضياتنا. ولكن، خاصنا نكونو واعيين بالمخاطر والتحديات المرتبطة بالذكاء الاصطناعي باش نستافدو منو بأحسن طريقة. فالنهاية، الذكاء الاصطناعي عندو إمكانية باش يغير بزاف كيفاش كنعيشو، نخدمو، ونتفاعلو مع بعضياتنا. ولكن، خاصنا نكونو واعيين بالمخاطر والتحديات المرتبطة بالذكاء الاصطناعي باش نستافدو منو بأحسن طريقة. فالنهاية، الذكاء الاصطناعي عندو إمكانية باش يغير بزاف كيفاش كنعيشو، نخدمو، ونتفاعلو مع بعضياتنا. ولكن، خاصنا نكونو واعيين بالمخاطر والتحديات المرتبطة بالذكاء الاصطناعي باش نستافدو منو بأحسن طريقة. فالنهاية، الذكاء الاصطناعي عندو إمكانية باش يغير بزاف كيفاش كنعيشو، نخدمو، ونتفاعلو مع بعضياتنا. ولكن، خاصنا نكونو واعيين بالمخاطر والتحديات المرتبطة بالذكاء الاصطناعي باش نستافدو منو بأحسن طريقة. فالنهاية، الذكاء الاصطناعي عندو إمكانية باش يغير بزاف كيفاش كنعيشو، نخدمو، ونتفاعلو مع بعضياتنا
```
## Future Work
- Scaling to larger model sizes
- Creating evaluation benchmarks for Darija
- Expanding the training dataset
- Developing task-specific fine-tuned versions
- SFT training
```bibtex
@misc{atlasia2025al-atlas-0.5B,
title={Al-Atlas: A Causal Language Model for Moroccan Darija},
author={Abdelaziz Bounhar and Abdeljalil El Majjodi},
year={2025},
howpublished={\url{https://huggingface.co/atlasia/Al-Atlas-0.5B/}},
organization={AtlasIA}
}
```

24
added_tokens.json Normal file
View File

@@ -0,0 +1,24 @@
{
"</tool_call>": 151658,
"<tool_call>": 151657,
"<|box_end|>": 151649,
"<|box_start|>": 151648,
"<|endoftext|>": 151643,
"<|file_sep|>": 151664,
"<|fim_middle|>": 151660,
"<|fim_pad|>": 151662,
"<|fim_prefix|>": 151659,
"<|fim_suffix|>": 151661,
"<|im_end|>": 151645,
"<|im_start|>": 151644,
"<|image_pad|>": 151655,
"<|object_ref_end|>": 151647,
"<|object_ref_start|>": 151646,
"<|quad_end|>": 151651,
"<|quad_start|>": 151650,
"<|repo_name|>": 151663,
"<|video_pad|>": 151656,
"<|vision_end|>": 151653,
"<|vision_pad|>": 151654,
"<|vision_start|>": 151652
}

31
config.json Normal file
View File

@@ -0,0 +1,31 @@
{
"_name_or_path": "Qwen/Qwen2.5-0.5B",
"architectures": [
"Qwen2ForCausalLM"
],
"attention_dropout": 0.0,
"bos_token_id": 151643,
"eos_token_id": 151643,
"hidden_act": "silu",
"hidden_size": 896,
"initializer_range": 0.02,
"intermediate_size": 4864,
"max_position_embeddings": 32768,
"max_window_layers": 24,
"model_type": "qwen2",
"num_attention_heads": 14,
"num_hidden_layers": 24,
"num_key_value_heads": 2,
"rms_norm_eps": 1e-06,
"rope_scaling": null,
"rope_theta": 1000000.0,
"sliding_window": null,
"tie_word_embeddings": true,
"torch_dtype": "bfloat16",
"transformers_version": "4.47.1",
"use_cache": true,
"use_flash_attention_2": true,
"use_mrope": false,
"use_sliding_window": false,
"vocab_size": 151936
}

151388
merges.txt Normal file

File diff suppressed because it is too large Load Diff

3
model.safetensors Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:52cdbf74a4c7092946ddc7671761e82ee86f265cfe0f58755f3cb62e838bde75
size 988097824

31
special_tokens_map.json Normal file
View File

@@ -0,0 +1,31 @@
{
"additional_special_tokens": [
"<|im_start|>",
"<|im_end|>",
"<|object_ref_start|>",
"<|object_ref_end|>",
"<|box_start|>",
"<|box_end|>",
"<|quad_start|>",
"<|quad_end|>",
"<|vision_start|>",
"<|vision_end|>",
"<|vision_pad|>",
"<|image_pad|>",
"<|video_pad|>"
],
"eos_token": {
"content": "<|endoftext|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
},
"pad_token": {
"content": "<|endoftext|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
}
}

3
tokenizer.json Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9c5ae00e602b8860cbd784ba82a8aa14e8feecec692e7076590d014d7b7fdafa
size 11421896

208
tokenizer_config.json Normal file
View File

@@ -0,0 +1,208 @@
{
"add_bos_token": false,
"add_prefix_space": false,
"added_tokens_decoder": {
"151643": {
"content": "<|endoftext|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151644": {
"content": "<|im_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151645": {
"content": "<|im_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151646": {
"content": "<|object_ref_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151647": {
"content": "<|object_ref_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151648": {
"content": "<|box_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151649": {
"content": "<|box_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151650": {
"content": "<|quad_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151651": {
"content": "<|quad_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151652": {
"content": "<|vision_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151653": {
"content": "<|vision_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151654": {
"content": "<|vision_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151655": {
"content": "<|image_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151656": {
"content": "<|video_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151657": {
"content": "<tool_call>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151658": {
"content": "</tool_call>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151659": {
"content": "<|fim_prefix|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151660": {
"content": "<|fim_middle|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151661": {
"content": "<|fim_suffix|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151662": {
"content": "<|fim_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151663": {
"content": "<|repo_name|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151664": {
"content": "<|file_sep|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
}
},
"additional_special_tokens": [
"<|im_start|>",
"<|im_end|>",
"<|object_ref_start|>",
"<|object_ref_end|>",
"<|box_start|>",
"<|box_end|>",
"<|quad_start|>",
"<|quad_end|>",
"<|vision_start|>",
"<|vision_end|>",
"<|vision_pad|>",
"<|image_pad|>",
"<|video_pad|>"
],
"bos_token": null,
"chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0]['role'] == 'system' %}\n {{- messages[0]['content'] }}\n {%- else %}\n {{- 'You are a helpful assistant.' }}\n {%- endif %}\n {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0]['role'] == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0]['content'] + '<|im_end|>\\n' }}\n {%- else %}\n {{- '<|im_start|>system\\nYou are a helpful assistant.<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) or (message.role == \"assistant\" and not message.tool_calls) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role }}\n {%- if message.content %}\n {{- '\\n' + message.content }}\n {%- endif %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n",
"clean_up_tokenization_spaces": false,
"eos_token": "<|endoftext|>",
"errors": "replace",
"extra_special_tokens": {},
"model_max_length": 2048,
"pad_token": "<|endoftext|>",
"split_special_tokens": false,
"tokenizer_class": "Qwen2Tokenizer",
"unk_token": null
}

3
training_args.bin Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ca4313c3f06530c01f4a92915b4120fa21c88e460da8ed6d8a8a82020862747a
size 5432

1
vocab.json Normal file

File diff suppressed because one or more lines are too long