| --- |
| language: ar |
| tags: |
| - text-generation |
| - custom-architecture |
| - turing-rdlm |
| - pytorch |
| license: mit |
| --- |
| |
| # نموذج جي _O2 (G2_O Model) - Turing Reaction-Diffusion Language Model |
|
|
| هذا النموذج يعتمد على معمارية مخصصة ومبتكرة تُعرف بـ **Turing RDLM** بحجم يقارب **1000 مليون معلمة (1000 Parameters)**. تم تصميمه لمعالجة وتوليد النصوص العربية بناءً على ديناميكا تورينغ للتفاعل والانتشار (Reaction-Diffusion). |
|
|
| ## تفاصيل المعمارية |
| * **الأبعاد (D_MODEL):** 6144 |
| * **جاذبات هوبفيلد (N_ATTRACTORS):** 24576 |
| * **الانتشار السببي (Causal Diffusion):** يتدفق من الماضي إلى الحاضر فقط. |
| * **المُجزِّئ المستخدم (Tokenizer):** مبني على `asafaya/bert-base-arabic` بحجم مفردات 32,000. |
|
|
| ## كيفية الاستخدام |
|
|
| نظراً لأن هذا النموذج يعتمد على معمارية مخصصة (Custom Architecture)، لا يمكن تحميله عبر فئة `AutoModel` القياسية. يجب عليك استخدام الأوزان المحفوظة بصيغة `.pt` جنباً إلى جنب مع كود المعمارية `turing_model.py` المرفق في هذا المستودع. |
|
|
| ### خطوات التشغيل: |
| 1. قم بتحميل ملف `turing_model_final.pt` وملف `turing_model.py` من هذا المستودع. |
| 2. تأكد من وضع ملف `turing_model.py` في نفس المجلد الذي تعمل عليه لكي تتمكن من استيراده. |
| 3. استخدم الكود التالي للتحميل: |
|
|
| python |
| import torch |
| from transformers import AutoTokenizer |
| from turing_model import TuringLM |
| |
| # 1. إعداد الجهاز |
| device = torch.device("cuda" if torch.cuda.is_available() else "cpu") |
|
|
| # 2. تحميل المُجزئ |
| tokenizer = AutoTokenizer.from_pretrained("gijl/g2-model") |
| |
| # 3. بناء هيكل النموذج |
| model = TuringLM( |
| vocab_size=32000, |
| d_model=6144, |
| d_u=3072, |
| d_v=3072, |
| d_hidden=6144, |
| n_attractors=24576, |
| pad_id=0 |
| ).to(device) |
| |
| # 4. تحميل الأوزان |
| checkpoint = torch.load("turing_model_final.pt", map_location=device) |
| model.load_state_dict(checkpoint["model"], strict=False) |
| model.eval() |
| |
| print("✅ النموذج جاهز للاستخدام!") |