Fikr-7B-Reasoning / README.md
Hatim2221's picture
Update README.md
1e109a9 verified
|
Raw History Blame Contribute Delete
9.98 kB
---
language:
- ar
- en
license: apache-2.0
base_model: Qwen/Qwen2.5-7B-Instruct
tags:
- reasoning
- math
- arabic
- chain-of-thought
- unsloth
- qwen
pipeline_tag: text-generation
---
# Fikr-7B-Reasoning: Benchmark & Evaluation
<div align="center">
<img src="logo.png" alt="Fikr">
</div>
**Fikr-7B-Reasoning** is an Arabic reasoning model fine-tuned from `Qwen/Qwen2.5-7B-Instruct` using supervised fine-tuning (SFT) to enforce structured, multi-step Chain-of-Thought reasoning inside native `<think>...</think>` tokens.
---
## 📊 Benchmark Results
Both models were evaluated on the full test split (**1,319 questions**) of the **Arabic-GSM8K** benchmark using exact numerical match via greedy decoding (`temperature=0.0`) on an NVIDIA A100 GPU:
| Model | Architecture | Arabic Reasoning Format | Arabic-GSM8K Accuracy | Delta (Δ) |
| :--- | :--- | :--- | :---: | :---: |
| `Qwen/Qwen2.5-7B-Instruct` (Base) | 7B Dense | Standard CoT | **72.40%**[cite: 3] | Baseline |
| **`Fikr-7B-Reasoning` (Ours)** | **7B Dense** | **`<think>` Native CoT** | **71.95%**[cite: 4] | **-0.45%** |
### Key Takeaways
* **Accuracy Trade-off:** While the model strictly enforces the `<think>` tag reasoning structure, it experienced a minor **-0.45%** regression in raw exact-match accuracy compared to the strong Qwen 2.5 7B baseline[cite: 3, 4]. This is a common phenomenon in first-pass SFT reasoning models and typically requires a follow-up Reinforcement Learning (RL) phase (like DPO or PPO) to align the structured thoughts with correct final answers.
* **Clean Trace Separation:** The fine-tuned model strictly separates intermediate logical steps inside `<think>...</think>` from the final parsed response[cite: 4].
* **Arabic Mathematical Fluency:** The model demonstrates improved formatting stability across multi-step arithmetic, fraction reductions, and currency conversions in native Arabic phrasing.
---
## 🔍 Sample Comparison
> **Problem:**
> *ذهب كايلار إلى المتجر لشراء أكواب لشقة الجديدة. تكلفة الكوب الواحد 5 دولارات، لكن كل كوب ثاني يكلف فقط 60٪ من السعر. يريد كايلار شراء 16 كوبًا. كم يجب أن يدفع مقابلها؟*[cite: 3]
### Fikr-7B-Reasoning (Ours)
```text
<think>
1. سعر الكوب الأول هو 5 دولارات.
2. سعر الكوب الثاني هو 60٪ من 5 دولارات، أي 5 * 0.60 = 3 دولارات.
3. لحساب التكلفة لـ 16 كوبًا:
- الكؤوس الأولى (8 كؤوس): 8 * 5 = 40 دولارًا.
- الكؤوس المخفضة (8 كؤوس): 8 * 3 = 24 دولارًا.
- التكلفة الإجمالية: 40 + 24 = 64 دولارًا.
</think>
لذا، يجب على كايلار أن يدفع 64 دولارًا مقابل 16 كوبًا.
```
<hr>
### Prompt Format
To trigger full reasoning behavior, format inputs using the Qwen ChatML template with the system instruction:
```python
prompt = """<|im_start|>system
أنت مساعد رياضيات بارع. فكّر خطوة بخطوة داخل <think> قبل إعطاء الإجابة النهائية.<|im_end|>
<|im_start|>user
[سؤالك هنا]<|im_end|>
<|im_start|>assistant
<think>
"""
```
<hr>
<div dir="rtl">
<h1>أمثلة على الاستدلال والمنطق (Reasoning Showcases)</h1>
المثال الأول: مسألة حسابية متعددة الخطوات
السؤال:
اشترى أحمد 3 صناديق من التفاح، يحتوي كل صندوق على 24 تفاحة. إذا تبرع بنصف التفاح لمسجد الحي، وباع ثلث ما تبقى بسعر 1.5 ريال للتفاحة الواحدة، كم ريالاً جنى أحمد؟
استجابة النموذج:
```Plaintext
<think>
الخطوة 1: احسب العدد الإجمالي للتفاح: 3 * 24 = 72 تفاحة
الخطوة 2: احسب عدد التفاح المبرع: 72 / 2 = 36 تفاحة
الخطوة 3: احسب عدد التفاح المتبقية: 72 - 36 = 36 تفاحة
الخطوة 4: احسب عدد التفاح المباعة: 36 / 3 = 12 تفاحة
الخطوة 5: احسب المبلغ الذي تم جمعه: 12 * 1.5 = 18 ريالًا
</think>
18 ريالًا
```
<hr>
🧩 المثال الثاني: استنتاج وترتيب منطقي
السؤال:
في سباق جري، أنهى خالد السباق قبل سعد ولكن بعد فيصل. وأنهى ماجد السباق قبل فيصل. ما هو الترتيب التنازلي للمتسابقين من المركز الأول إلى الأخير؟
استجابة النموذج:
```Plaintext
<think>
الخطوة 1: خالد قبل سعد ولكنه بعد فيصل، إذن فيصل > خالد > سعد.
الخطوة 2: ماجد قبل فيصل، إذن ماجد > فيصل.
الخطوة 3: بالتالي، الترتيب التنازلي هو: ماجد > فيصل > خالد > سعد.
</think>
ماجد، فيصل، خالد، سعد
```
<hr>
⏳ المثال الثالث: الجبر ومسائل الأعمار
السؤال:
عمر سارة الآن ثلاثة أضعاف عمر أخيها الصغير. بعد 5 سنوات، سيكون مجموع عمريهما 38 سنة. كم عمر سارة الآن؟
استجابة النموذج:
```Plaintext
<think>
الخطوة 1: ليكن عمر أخي سارة الصغير هو x. إذن عمر سارة هي 3x.
الخطوة 2: بعد 5 سنوات، سيكون عمر أخي سارة الصغير x + 5، وسارة ستكون 3x + 5.
الخطوة 3: مجموع أعمارهما بعد 5 سنوات هو (x + 5) + (3x + 5) = 4x + 10.
الخطوة 4: نعلم أن 4x + 10 = 38. إذن 4x = 28، و x = 7.
الخطوة 5: عمر سارة الآن هو 3x = 3 * 7 = 21.
</think>
21
```
<hr>
💰 المثال الرابع: حساب الخصومات والضرائب
السؤال:
لابتوب سعره الأصلي 4000 ريال، عليه خصم 20%. ثم أضيف عليه ضريبة قيمة مضافة بنسبة 15% بعد الخصم. ما هو السعر النهائي للابتوب؟
```Plaintext
استجابة النموذج:
Plaintext
<think>
الخطوة 1: حساب قيمة الخصم: 4000 * 0.20 = 800
الخطوة 2: حساب السعر بعد الخصم: 4000 - 800 = 3200
الخطوة 3: حساب ضريبة القيمة المضافة: 3200 * 0.15 = 480
الخطوة 4: حساب السعر النهائي: 3200 + 480 = 3680
</think>
3680 ريال
```
### السؤال: كم يساوي 47 × 36؟
<details>
<summary>🧠 عرض التفكير (Show reasoning)</summary>
الخطوة 1: اضرب 47 × 6 = 282
الخطوة 2: اضرب 47 × 30 = 1410
الخطوة 3: أضف 282 + 1410 = 1692
</details>
**الإجابة النهائية:** 1692 ✅
---
### السؤال: عند أحمد 24 تفاحة، أعطى نصفها لصديقه ثم اشترى 10 تفاحات إضافية. كم تفاحة أصبح عنده؟
<details>
<summary>🧠 عرض التفكير (Show reasoning)</summary>
الخطوة 1: نصف 24 تفاحة هو 24 / 2 = 12 تفاحة.
الخطوة 2: أعطى 12 تفاحة لصديق، إذن لديه 24 − 12 = 12 تفاحة.
الخطوة 3: اشترى 10 تفاحات إضافية، إذن لديه 12 + 10 = 22 تفاحة.
</details>
**الإجابة النهائية:** 22 ✅
---
### السؤال: قطار يسير بسرعة 80 كم/سا، كم يستغرق ليقطع 240 كم؟
<details>
<summary>🧠 عرض التفكير (Show reasoning)</summary>
الخطوة 1: الوقت = المسافة / السرعة
الخطوة 2: الوقت = 240 كم ÷ 80 كم/سا
الخطوة 3: الوقت = 3 ساعات
</details>
**الإجابة النهائية:** 3 ساعات ✅
---
### السؤال: إذا كان طبيب يعطيك 3 حبوب وطلب منك أخذ حبة كل نصف ساعة، فكم من الوقت تستغرق حتى تنهي الحبوب؟
<details>
<summary>🧠 عرض التفكير (Show reasoning)</summary>
الخطوة 1: أخذ حبة كل نصف ساعة يعني أخذ 3 حبات في 3 × 0.5 ساعة.
الخطوة 2: الوقت الكلي = 3 × 0.5 ساعة = 1.5 ساعة
</details>
**الإجابة النهائية:** 1.5 ساعة ⚠️ *(سؤال شائع لاختبار التفكير المنطقي — الإجابة الصحيحة هي ساعة واحدة: الحبة الأولى فوراً، الثانية بعد نصف ساعة، والثالثة بعد ساعة كاملة، وليس 3 فترات متتالية)*
---
### السؤال: كم عدد الأشهر التي فيها 28 يوماً؟
<details>
<summary>🧠 عرض التفكير (Show reasoning)</summary>
الخطوة 1: كل شهر له على الأقل 28 يومًا (كانون الأول/ديسمبر).
الخطوة 2: جميع الشهور الستة الأولى لها 30 يومًا على الأقل.
</details>
**الإجابة النهائية:** 12 ✅ *(إجابة صحيحة، رغم أن سلسلة التفكير المعروضة غير مكتملة/غير دقيقة تمامًا)*
---
## ملاحظات الاختبار (Evaluation Notes)
- النموذج أظهر أداءً قوياً وثابتاً في مسائل الحساب المباشرة ومسائل الخطوة الواحدة.
- في أسئلة "الفخ" المصممة لاختبار الاستدلال المنطقي (وليس الحساب فقط)، أخطأ النموذج في سؤال الحبوب الثلاث، بينما أجاب بشكل صحيح على سؤال أشهر السنة رغم تفكير غير مكتمل.
- خطوات `<think>` تُظهر تفكيراً سردياً منظماً بالعربية قبل الوصول للإجابة النهائية، متوافقاً مع أسلوب التدريب (GRPO reasoning).
---
*تم توليد هذا الملف من جلسة اختبار تفاعلية عبر واجهة Gradio.*
</div>