kallamni-1.2b-v1

كالّمني 1.2B v1 هو نموذج محادثة باللغة العربية بعدد 1.2 مليار معامل، مُدرّب خصيصاً على اللهجة الإماراتية المحكية. النموذج مصمَّم ليُنتج ردوداً طبيعية، سلسة، ومرتبطة ثقافياً بالحياة اليومية، بعيداً عن العربية الفصحى الرسمية.
ملخص النموذج
- نوع النموذج: لغة سببية (Causal LM) مُهيأ للتعليمات (Instruction-tuned).
- اللغات: اللهجة الإماراتية المحكية.
- التدريب: 3 دورات (Epochs) باستخدام محولات LoRA.
- الأُطر: Unsloth + TRL.
- البيانات: 12,324 زوج سؤال-جواب باللهجة الإماراتية، مولّدة باستخدام GPT-5 و GPT-4o.
البيانات
الحجم: 12,324 مثال.
المصدر: أزواج سؤال-جواب اصطناعية مولدة عبر GPT-5 + GPT-4o.
المجالات المغطاة:
- المحادثات اليومية (تسوق، طقس، تحايا، عائلة، مواصلات).
- الفعاليات الاجتماعية والثقافية (الأعياد، الأعراس، المجالس).
- الروتين اليومي والأنشطة المنزلية.
الصيغة: أمثلة على شكل محادثة مع وسوم
<|im_start|>user
/<|im_start|>assistant
، مثل:
<|startoftext|><|im_start|>user
شو تسوي إذا انقطع الإنترنت في البيت؟<|im_end|>
<|im_start|>assistant
أول شي أتصل بالشركة، وإذا ما ردوا أستخدم داتا التلفون لين يرجع النت.<|im_end|>
⚙️ التدريب
الأُطر المستخدمة:
- Unsloth → تحسين كفاءة التدريب والذاكرة، أسرع بحوالي 2×.
- TRL (SFTTrainer) → تدريب مُراقَب مع مواءمة التعليمات.
النموذج الأساسي: نموذج خفيف (1.2B) سببي.
عدد الدورات: 3 مرور كامل على البيانات.
استراتيجية التدريب:
- LoRA على طبقات الانتباه + الـ MLP.
- استخدام قالب محادثة ثابت عبر TRL.
الاستخدام
يمكنك تحميل وتشغيل النموذج باستخدام مكتبة transformers
:
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
import torch
# === 1. تحميل النموذج والمفردات ===
model_id = "yasserrmd/kallamni-1.2b-v1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype=torch.bfloat16, # أو torch.float16 إذا مدعوم
)
# === 2. التعليمات الأساسية (بالعربية) ===
system_instruction = {
"role": "system",
"content": "انت مساعد إماراتي. لازم تجاوب باللهجة الإماراتية المحكية فقط، وما تستخدم العربية الفصحى أبداً."
}
# === 3. أمثلة Few-shot ===
few_shots = [
{"role": "user", "content": "شحالَك اليوم؟"},
{"role": "assistant", "content": "الحمدلله زين، وانت كيفك؟"},
{"role": "user", "content": "وين ناوي تسير عقب الدوام؟"},
{"role": "assistant", "content": "يمكن أمر على المول وأتعشى ويا الربع."},
]
# === 4. إدخال المستخدم ===
user_input = {"role": "user", "content": "وين أحلى مكان تاخذ منه قهوة الصبح؟"}
# === 5. دمج جميع الرسائل ===
messages = [system_instruction] + few_shots + [user_input]
# === 6. تحويل إلى مدخلات النموذج ===
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
# === 7. بث الاستجابة ===
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
_ = model.generate(
inputs,
max_new_tokens=100,
temperature=0.7,
top_p=0.9,
repetition_penalty=1.05,
streamer=streamer,
)
الأداء
دقة اللهجة: حوالي 85٪ اتساق إماراتي.
ملاءمة الإجابة: ~90٪ جيدة أو شبه جيدة.
نقاط الضعف: أحياناً جمل شبه رسمية أو حشو عام.
نقاط القوة:
- استخدام تعابير إماراتية أصيلة.
- إجابات طبيعية بطول مناسب (8–15 كلمة).
- تغطية متوازنة لمواضيع العائلة، العمل، السفر، والمجتمع.
الاستخدامات المقصودة
- شات بوتات ومساعدات صوتية للهجة الإماراتية.
- أدوات تعليمية لتعلم المحادثة باللهجة.
- لبنة بيانات لأبحاث نماذج اللغة الخليجية.
القيود
- قد يخلط أحياناً مع الفصحى أو العربية العامة.
- غير مناسب للإجابات العلمية أو القانونية أو الطبية.
- غير مهيأ للسياقات المهنية أو المتخصصة.
الشكر والتقدير
- فريق Unsloth على أدوات التدريب الفعّالة.
- TRL من Hugging Face لدعم التدريب الموجه بالتعليمات.
- توليد البيانات الاصطناعية عبر GPT-5 و GPT-4o.
- إلهام من إصدارات Liquid AI مفتوحة الأوزان.
kallamni-1.2b-v1

Kallamni 1.2B v1 is a 1.2B parameter Arabic conversational model fine-tuned specifically for spoken Emirati Arabic (اللهجة الإماراتية المحكية). It is designed to generate natural, fluent, and culturally relevant responses for daily-life conversations, rather than formal Modern Standard Arabic (MSA).
Model Summary
- Model type: Causal LM, instruction-tuned for chat.
- Languages: Emirati Arabic dialect (spoken style).
- Fine-tuning: 3 epochs with LoRA adapters.
- Frameworks: Unsloth + TRL.
- Dataset: 12,324 synthetic Emirati Arabic Q&A pairs generated using GPT-5 and GPT-4o.
Dataset
Size: 12,324 examples.
Source: Synthetic Q&A pairs created via GPT-5 + GPT-4o, Emirati dialect.
Domains covered:
- Daily life conversations (shopping, weather, greetings, family, transport).
- Social and cultural events (Eid, weddings, gatherings).
- Household and personal routines.
Format: Chat-style examples with
<|im_start|>user
/<|im_start|>assistant
tokens, e.g.:
<|startoftext|><|im_start|>user
شو تسوي إذا انقطع الإنترنت في البيت؟<|im_end|>
<|im_start|>assistant
أول شي أتصل بالشركة، وإذا ما ردوا أستخدم داتا التلفون لين يرجع النت.<|im_end|>
⚙️ Training
Frameworks:
- Unsloth → optimized finetuning, memory efficiency, ~2× faster training.
- TRL (SFTTrainer) → supervised fine-tuning with instruction alignment.
Base model: Lightweight 1.2B causal LM.
Epochs: 3 full passes over the dataset.
Fine-tuning strategy:
- LoRA adapters on attention + MLP layers.
- Chat template applied consistently with TRL.
Usage
You can load and run the model with transformers
:
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
import torch
# === 1. Load model + tokenizer ===
model_id = "yasserrmd/kallamni-1.2b-v1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype=torch.bfloat16, # or torch.float16 if GPU supports
)
# === 2. Define system instruction (Arabic) ===
system_instruction = {
"role": "system",
"content": "انت مساعد إماراتي. لازم تجاوب باللهجة الإماراتية المحكية فقط، وما تستخدم العربية الفصحى أبداً."
}
# === 3. Few-shot examples ===
few_shots = [
{"role": "user", "content": "شحالَك اليوم؟"},
{"role": "assistant", "content": "الحمدلله زين، وانت كيفك؟"},
{"role": "user", "content": "وين ناوي تسير عقب الدوام؟"},
{"role": "assistant", "content": "يمكن أمر على المول وأتعشى ويا الربع."},
]
# === 4. User input ===
user_input = {"role": "user", "content": "وين أحلى مكان تاخذ منه قهوة الصبح؟"}
# === 5. Combine all messages ===
messages = [system_instruction] + few_shots + [user_input]
# === 6. Tokenize with chat template ===
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
# === 7. Stream output ===
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
_ = model.generate(
inputs,
max_new_tokens=100,
temperature=0.7,
top_p=0.9,
repetition_penalty=1.05,
streamer=streamer,
)
Performance
Dialect accuracy: ~85% Emirati consistency.
Answer relevance: ~90% good/semi-good.
Weak cases: occasional semi-formal phrasing or generic filler.
Strengths:
- Culturally aligned Emirati expressions.
- Natural conversational length (8–15 words minimum).
- Balanced coverage of family, work, travel, and social contexts.
Intended Use
- Chatbots & voice assistants for Emirati Arabic.
- Language learning tools for practicing dialect.
- Dataset building block for Gulf Arabic LLM research.
Limitations
- May mix in some MSA or generic Arabic in rare cases.
- Not suitable for factual QA outside daily conversations.
- Not designed for professional/legal/medical contexts.
Acknowledgements
- Unsloth team for efficient fine-tuning tooling.
- TRL from Hugging Face for alignment training.
- Synthetic dataset generation powered by GPT-5 and GPT-4o.
- Liquid AI for innovative open-weight model releases that inspired experimentation.
- Downloads last month
- 50