TinyQwen3-Engram-HC-Darija 🇲🇦
A 122.6M parameter causal language model pretrained on Moroccan Darija (Moroccan Arabic), built with:
- Qwen3-style architecture (GQA, QK-Norm, RoPE, SwiGLU)
- Engram — n-gram hash-based memory injection (GPU-native)
- Hyper-Connection (HC) — multi-channel residual stream (hc_mult=4)
- FlashAttention via PyTorch SDPA
Quick Start
import os, sys
from huggingface_hub import hf_hub_download
model_path = hf_hub_download("Lyte/TinyQwen3-Engram-HC-Darija", "modeling.py")
sys.path.insert(0, os.path.dirname(model_path))
from modeling import load_model, generate
model, tokenizer = load_model("Lyte/TinyQwen3-Engram-HC-Darija")
print(generate(model, tokenizer, "المغرب بلاد"))
print(generate(model, tokenizer, "كيفاش نقدر"))
print(generate(model, tokenizer, "الدار البيضاء هي"))
Generation Parameters
generate(model, tokenizer, prompt,
temperature=0.5,
top_k=40,
top_p=0.9,
min_p=0.02,
repetition_penalty=1.3,
frequency_penalty=0.4,
presence_penalty=0.4,
max_new=150,
)
Engram Ablation
model.set_skip_engram(False)
print(generate(model, tokenizer, "المغرب بلاد"))
model.set_skip_engram(True)
print(generate(model, tokenizer, "المغرب بلاد"))
Example Outputs
With Engram ✅
| Temperature |
Prompt |
Output |
| 0.1 |
المغرب بلاد |
المغرب بلاده، ونظام الحكم الذاتي في الصحراء المغربية. |
| 0.1 |
كيفاش نقدر |
كيفاش نقدر نقولو معاك |
| 0.1 |
الدار البيضاء هي |
الدار البيضاء هي من بين الأسباب التي تجعلك في حاجة إلى مساعدة المغاربة على البقاء. |
| 0.1 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال المدن، وكتجمع فرنسا والجزائر. |
| 0.3 |
المغرب بلاد |
المغرب بلاده، وانطلاقا من مواقفها السياسية والاقتصادية في المغرب. |
| 0.3 |
كيفاش نقدر |
كيفاش نقدر نقولو معاك فهادشي ما كنديرش ليا.. |
| 0.3 |
الدار البيضاء هي |
الدار البيضاء هي مراكش، وسوس والرباط. |
| 0.3 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال الأحداث، وكتكون مغامراتها مع بعضياتهم. |
| 0.5 |
المغرب بلاد |
المغرب بلاده، وفقا لما أعلنته وزارة الخارجية المغربية. |
| 0.5 |
كيفاش نقدر |
كيفاش نقدر نقولو معاك؟ |
| 0.5 |
الدار البيضاء هي |
الدار البيضاء هي مراكش، ونادي الوداد الرياضي. |
| 0.5 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال التصاور والكيمياء، وباش يولي لينا فين غادي يكونو معايا. |
| 0.7 |
المغرب بلاد |
المغرب بلاده. |
| 0.7 |
كيفاش نقدر |
كيفاش نقدر نقولو مكملينش انا مريض بزاف وانا شكون قال ليها واخا ماشي دابا. |
| 0.7 |
الدار البيضاء هي |
الدار البيضاء هي ملك لموسى، الذي يشغل منصب وزير التربية الوطنية والتكوين المهني. |
| 0.7 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال التصاور والكيمياء، ولكن مادام أن هاذ المقالات غير تقدر تكون مشهورة بالحساب اللي كانت كتقول بلي صاحبة الجملة لي عارفة أنها فاقدة للوعي وكتستعمل معاه باش يمشيو للمكتب ديالو. |
| 0.9 |
المغرب بلاد |
المغرب بلاده. |
| 0.9 |
كيفاش نقدر |
كيفاش نقدر ماندير شي حاجة من بعد خليتيها ليه بزاف |
| 0.9 |
الدار البيضاء هي |
الدار البيضاء هي ملك لموكلي. |
| 0.9 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال التصاور والكاريكاتير، و مادابش هضرات بالفرنسية "الخواتمة" اللي فهمناه هو أنهم يحاصرو الامازيغية فالخارج. |
| 1.0 |
المغرب بلاد |
المغرب بلاده. |
| 1.0 |
كيفاش نقدر |
كيفاش نقدر ماندير شي حاجة من بعد ولا انساها حتى بزاف |
| 1.0 |
الدار البيضاء هي |
الدار البيضاء هي ملك لموكلي. |
| 1.0 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال التصاور والكاريكاتير، و مادابش هضرات بالفرنسية "الخواتمة" ولكن فالأمور انفجرت بين تاجر معروف في بعض الحالاته: |
| 1.2 |
المغرب بلاد |
المغرب بلاده (صون-متوسط – 1420 م |
| 1.2 |
كيفاش نقدر |
كيفاش نقدر ماندير شي حاجة من بعد ولا انساها حتى بزاف |
| 1.2 |
الدار البيضاء هي |
الدار البيضاء هي مدن ومؤسسات سوقية، اقتصاديا بصفتها الدولة الكورية التي تمتد على حوالي 1268 مليون درهم سنويا من أصل ستة آلاف مليار سنتيم. |
| 1.2 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال التصاور والكاريكاتير، و مادابش فيها غير شوية. |
Without Engram (backbone only)
| Temperature |
Prompt |
Output |
| 0.1 |
المغرب بلاد |
المغرب بلادنا، ونحن نحن في المغرب. |
| 0.1 |
كيفاش نقدر |
كيفاش نقدر نقولو معاودينش من هادشي ونرجع لدارنا |
| 0.1 |
الدار البيضاء هي |
الدار البيضاء هي من أقدم المواقع الإباحية في العالم. |
| 0.1 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديالو و مكولينش فهادشي لي كان كيديرها فالدار .. |
| 0.3 |
المغرب بلاد |
المغرب بلاد ملكي، ونظام التحكم في الطرق والقرارات المفتوكة. |
| 0.3 |
كيفاش نقدر |
كيفاش نقدر نقولو معاودينش انا ماشي من هاد المرة ونرجع لداري |
| 0.3 |
الدار البيضاء هي |
الدار البيضاء هي ملك لمن ينحدر من عباه ويسرق في جسدها، فتنهد أحلامه المثيرة التي تغمرها بجوار غريبة. |
| 0.3 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديالو و مابقاش فهاد اللعسة لي كان فيها علاشة، شدات فيه تيليفطها على لسانها و خرجات من الباب دخلات للدار و طلعاتها بقات ساكتة .. |
| 0.5 |
المغرب بلاد |
المغرب بلاد مطروسة في المخزن، ونحن نقول أننا لا يقبلون على أرض المغرب بثمنا فهذا الشعب الذي لم يعد من الصالق اليساري ولا لسما أو دينيا. |
| 0.5 |
كيفاش نقدر |
كيفاش نقدر نقولو مكملينش انا مزال كنخليه يلا كان خاصني بغيت وكنعرف شنو دابا تاني فاش كنتسنى |
| 0.5 |
الدار البيضاء هي |
الدار البيضاء هي ملك لمن يحترس اما تريش بزاف وتشوف فيه كيفاش ما زادو حتى فاين ليه شي حاجة خرجات من الباب وخرجات كتبكي على صدرو وقالت: |
| 0.5 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديالو و مابقاش فهاد اللعمة لي كانت كاتحس بالحقد والخوف من المرض، حتى هي توصل لواحدة صاحبة دالك و علاها غير ساهية على الطرف الثاني باش يصبر عليها هادي. |
| 0.7 |
المغرب بلاد |
المغرب بلاد مطروسة في المخزن، ونحن نقول أننا لا يقبلون على أرض المغرب بثمنا فحسب.. |
| 0.7 |
كيفاش نقدر |
كيفاش نقدر معاودة شوية؟ |
| 0.7 |
الدار البيضاء هي |
الدار البيضاء هي ملك لتدليك المخدرات و الأغاني. |
| 0.7 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال مثبعة ، وهادشي لي كان تيدير بزاف وحدة، واخا هوما ماكاينش حتى لقاو صاحبة من الامس ولا خلاه فبيت السريحة فالحديقة. |
| 0.9 |
المغرب بلاد |
المغرب بلاد مطروسة في المخزن، و تهابر الفارق.. |
| 0.9 |
كيفاش نقدر |
كيفاش نقدر ماندير شي حاجة من بعدة على وفاء |
| 0.9 |
الدار البيضاء هي |
الدار البيضاء هي مثليا ، ويقدم على اقامة الأفلام والألوان ويعزف عليها في بركة السخاخ والحلوى. |
| 0.9 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال مثبعة ، وهيا خراي تمشات لعنقها وحطو ليه على الطبلة حتى فطورو حوايجها .. داك التيم جبدو من بلاصتها طالعين باغاد مامنعسش هبط فيها وقال : شنو قالت ؟ |
| 1.0 |
المغرب بلاد |
المغرب بلاد مطروسة ، ويعرف على الشعب ورجله بصفته التاريخية وأخرى أبرزها، يشهد العالم حاضرا لاحتواء هذه الصحرات الامازي. |
| 1.0 |
كيفاش نقدر |
كيفاش نقدر ماندير شي حاجة من بعدة على وفاء لي كتبغي |
| 1.0 |
الدار البيضاء هي |
الدار البيضاء هي مثليا ، ويقدم على اقامة الأفلام والألوان. |
| 1.0 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال مثبعة ، وهيا خراي تمشات لعنقها بالجهة، واخا يلا ما فهموش انظرو وكتهضرو |
| 1.2 |
المغرب بلاد |
المغرب بلاد مطروسة ، ويفرض على الشعب أن تؤرق بطن المغاربة وأخرى أشبه ما كان يترتب عليها "إلا لمن لا صاح لها ولا عيب ودون إصلاح. فكيف لذلك لم يكن شجح من كل الذين كانوا تحت هجمهم؟ أم أنه اهتموا حتى استقبلوها …وكم رآئين في هذه الأيام بالتفصاق والإمعان، لكن الشاهدة والخفاوة السياسية العذية جعلتهم الأسرة والأجداد قوية ؟ هذا الهدف الذي سيظهر عليه كلام المجتمع الوطني والمواقف التي يتوقفونها ضد الاستبداد والتهام بين الشباب والفئة السبع والشباب .. |
| 1.2 |
كيفاش نقدر |
كيفاش نقدر ماندير شي حاجة من بعدة انسا هاداك كي جيت .. |
| 1.2 |
الدار البيضاء هي |
الدار البيضاء هي مثليا ، ويقدم على اقامة الأفلام والألوان. |
| 1.2 |
فالمغرب كاين بزاف ديال |
فالمغرب كاين بزاف ديال مثبعة ، وهيا خراي تمشات بزاجة وحنيين .. مشاو يطلعو فطبل ليلتو ولا بد ليها جهها بين ايديها وقال بصوت مامبالغيش ماخاصهم حتى واحد |
Observations
- Engram improves coherence: with engram, outputs are more structured (news-style, proper sentences). Without engram, the model tends toward conversational/informal Darija.
- Recommended temperature: 0.3–0.5 for coherent factual text, 0.7–0.9 for creative/conversational Darija.
- Both modes produce genuine Darija: "نكونو معاك ونرجعو للدار", "كيهضموها", "مابغيتش ندخلو لداركم" — all authentic Moroccan dialect.
Model Details
| Parameter |
Value |
| Total params |
122.6M |
| Engram params |
26.1M |
| Non-embedding (unique) |
45.0M |
| Architecture |
TinyQwen3 + Engram + HC |
| HC multiplier |
4 |
| Embedding dim |
512 |
| Attention heads |
8 (4 KV groups, GQA) |
| Head dim |
64 |
| FFN hidden |
1536 (SwiGLU) |
| Layers |
6 |
| Context length |
512 |
| Vocab size |
151,669 (Qwen3 tokenizer) |
| Engram layers |
Injected before blocks 1 and 4 |
| Engram vocab |
2×10,000 (bigram + trigram) |
| Dtype |
bfloat16 |
Training Details
| Parameter |
Value |
| Dataset |
Lyte/AryPretrainingDeduped-Splits |
| Language |
Moroccan Darija (ary) + Arabic (ar) |
| Tokens trained |
~2.95B |
| Optimizer updates |
20,000 |
| Batch size |
96 (×3 grad accum = 288 effective) |
| Learning rate |
3e-4 (cosine decay to 1e-5) |
| Warmup |
500 updates |
| Optimizer |
AdamW (fused, β=(0.9, 0.95)) |
| Hardware |
NVIDIA H200 141GB |
| Throughput |
~214K tok/s |
| Training time |
~3.5 hours |
| Final loss |
2.6537 |
Loss Curve
12.0 ┤█
9.0 ┤ █
6.0 ┤ ██
4.0 ┤ ████
3.0 ┤ ████████
2.5 ┤ ████████████ (final: 2.65)
└──────────────────────────────
0 4k 8k 12k 16k 20k
Architecture Notes
- Engram injects n-gram aware embeddings via hashed lookup tables before transformer blocks 1 and 4. All hashing runs on GPU with no CPU↔GPU synchronization.
- Hyper-Connection maintains a
[B, L, 4, D] residual stream. Each transformer block contracts to [B, L, D] for attention/FFN, then expands the delta back. Gates initialized with ReZero (β=-4, sigmoid≈0.018).
- GQA uses native SDPA broadcasting (no
repeat_interleave).
Tokenizer
Uses Qwen/Qwen3-0.6B tokenizer (151,669 tokens). Loaded from Qwen directly at runtime — no local tokenizer files bundled.
Limitations
- Small model (122M) — generates plausible but factually unreliable text
- Short context (512 tokens)
- Trained on ~2 epochs of data (dataset boundary artifact around update 12K)
- No instruction tuning — raw causal LM only
Citation
@misc{tinyqwen3-engram-hc-darija,
title={TinyQwen3-Engram-HC-Darija},
author={Lyte},
year={2026},
url={https://huggingface.co/Lyte/TinyQwen3-Engram-HC-Darija}
}