File size: 11,610 Bytes
4122b65
 
fa6d59a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4122b65
fa6d59a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
---
license: apache-2.0
language:
- ar
- en
base_model: Qwen/Qwen3.5-2B
base_model_relation: adapter
library_name: peft
pipeline_tag: text-generation
tags:
- egyptian-arabic
- arabic
- lora
- sft
- unsloth
- tool-calling
- masri
- sovythos
- syths
---

<div align="center">

<img src="assets/syths_hero.png" alt="SYTHS-1.0" width="100%"/>

# SYTHS-1.0

**A Sovythos family model · An open Egyptian-Arabic language model, honest by design.**
**من عيلة Sovythos · صناعة محمود ياسر**
**موديل مصري مفتوح المصدر، صريح، ومش بيألّف.**

`Status: awaiting training results` · `Base: Qwen/Qwen3.5-2B` · `Method: LoRA SFT` · `Trainer: Mahmoud Yasser`

</div>

> **Status notice.** This is the official model card template. Training and evaluation had **not** been run when this file was prepared; fill every PENDING value from real runs only (see `assets/results.json`). Every benchmark value below is **PENDING**. No number in this document is estimated, projected or copied from another source. This file will be replaced by the final card once training and evaluation complete.

---

## The Sovythos family · عيلة Sovythos

**Sovythos** is an open-source family of language models created by **Mahmoud Yasser** (محمود ياسر), an Egyptian developer. Each model in the family has its own name and its own training method.

| Model | Type | Status |
|---|---|---|
| **SYTHS-1.0** (this model) | LoRA supervised fine-tune of `Qwen/Qwen3.5-2B` on 3,800 handwritten Egyptian-Arabic examples | Awaiting training and evaluation |
| [`Sovythos-66M-Base`](https://huggingface.co/my0919175/Sovythos-66M-Base) | Decoder-only Transformer trained from scratch (Sovereign AI Project) | Published |

> **Important:** SYTHS-1.0 is **not** trained from scratch. It builds on the official Qwen3.5-2B and adds an Egyptian-Arabic persona, honesty behavior and tool-calling through fine-tuning. The "from scratch" description applies only to the earlier `Sovythos-66M-Base` model.

## Frequently asked questions

**What is Sovythos?** An open-source family of language models by Mahmoud Yasser, focused on Egyptian Arabic.

**What is SYTHS-1.0?** The first model of the Sovythos family built on a modern instruction-tuned base: a LoRA fine-tune of Qwen3.5-2B, trained on handwritten data only.

**Who created Sovythos?** Mahmoud Yasser (محمود ياسر), an Egyptian developer.

**Does SYTHS-1.0 use external datasets?** No. All 3,800 training examples were written by hand. No generator and no external datasets were used.

**Is SYTHS-1.0 better than Qwen3.5-2B?** Not yet measured. Benchmark values in this card are PENDING until training and evaluation finish; no number here is estimated.

## About the creator · عن المؤسس

**Mahmoud Yasser** (محمود ياسر) is an Egyptian developer and the founder of Sovythos. He wrote the entire SYTHS-1.0 training set by hand, designed the training and evaluation pipeline, and builds the SYTHS platform, a Sovythos-family product that gives Arabic speakers a coding and chat assistant.

- Hugging Face: [`my0919175`](https://huggingface.co/my0919175)
- Projects: Sovythos family (`Sovythos-66M-Base`, `SYTHS-1.0`), SYTHS platform

## 1. Overview

**SYTHS-1.0** (`SYTHS` is the model; **Sovythos** is the family/umbrella it belongs to) is an open-source language model, made by Mahmoud Yasser, that speaks Egyptian Arabic (with English and Franco-Arabic support). It is a parameter-efficient (LoRA) supervised fine-tune of the official [`Qwen/Qwen3.5-2B`](https://huggingface.co/Qwen/Qwen3.5-2B). Design goals:

- Natural Egyptian-dialect conversation.
- Calibrated honesty: it does not invent facts, phone numbers, prices or sources, and it does not claim live data, internet access or memory across chats. For volatile facts it points to the official source ("راجع المصدر الرسمي").
- Coding tutoring.
- Reliable tool calling, treating tool, file and web text as data rather than instructions.
- Polite, safe refusals; confirmation before destructive or sending actions.

## 2. Model details

| Item | Value |
|---|---|
| Model name | SYTHS-1.0 |
| Family | Sovythos |
| Hugging Face repo | `Sovythos/SYTHS-1.0` |
| Base model | `Qwen/Qwen3.5-2B` (official Qwen release, post-trained) |
| Base license | Apache-2.0 (per the base model card) |
| Fine-tuning method | LoRA SFT, single stage, [Unsloth](https://github.com/unslothai/unsloth) |
| Founder / trainer | Mahmoud Yasser (محمود ياسر) |
| Languages | Egyptian Arabic (primary), English, Franco-Arabic |
| Thinking mode | Off (`enable_thinking=False`) in training and tests |
| SYTHS-1.0 license | Apache-2.0 (set to match the base model; author may change before release) |
| Release status | Awaiting training and evaluation |

## 3. Training data

The dataset is **entirely handwritten**: no generator, no external datasets, no scraped or third-party sources.

File: `sovythos_handmade.jsonl`

| Statistic | Count |
|---|---|
| Total examples | 3,800 |
| Tool-use conversations | 317 |
| With a system prompt | 476 |
| Multi-turn (≥ 2 user turns) | 335 |
| Arabic-majority replies | 2,845 |
| Duplicates (validated) | 0 |
| Schema errors (validated) | 0 |

Schema: `{"messages": [...], "tools": [...]}` with roles `system / user / assistant / tool`. Each conversation ends with a plain assistant message; every tool call has a matching tool result and a declared tool with required arguments present.

## 4. Training procedure

| Hyperparameter | Value |
|---|---|
| Base | `Qwen/Qwen3.5-2B` (16-bit load) |
| LoRA | r = 64, targets q/k/v/o/gate/up/down proj |
| Epochs | 3 |
| Learning rate | 1e-4, cosine schedule |
| Optimizer | adamw_8bit |
| Batch | 1 × grad-accum 16 |
| Max sequence length | 2048 (longest example ≈ 1,623 tokens) |
| Validation split | 3% |
| Loss | Assistant responses only (`train_on_responses_only`) |
| Seed | 3407 |

`train.py` aborts if response-only masking is not working (trainable-token fraction must be between 2% and 98%). Chat-template and masking markers are **not yet verified on real hardware**; `test.py render` and `train.py --smoke` exist to verify them before the full run.

## 5. Evaluation protocol

SYTHS-1.0 is compared **only against its own official base model** (`Qwen3.5-2B`) under identical conditions: same prompts, same chat template, greedy decoding, thinking off. Scores are 0–100, higher is better.

### 5.1 Official base-model results (as published)

Copied verbatim from the official [`Qwen/Qwen3.5-2B`](https://huggingface.co/Qwen/Qwen3.5-2B) model card, **Instruct (non-thinking) mode**, which is the mode SYTHS-1.0 is trained and tested in. These are Qwen's own reported numbers, not re-run by us. SYTHS-1.0 will be evaluated on the same public benchmarks (e.g. via `lm-evaluation-harness`) and reported side by side once training is done.

<div align="center">
<img src="assets/syths_official.png" alt="Qwen3.5-2B official benchmarks" width="100%"/>
</div>

| Benchmark | Qwen3.5-2B (official) | SYTHS-1.0 |
|---|---|---|
| MMLU-Pro | 55.3 | PENDING |
| MMLU-Redux | 69.2 | PENDING |
| C-Eval | 65.2 | PENDING |
| SuperGPQA | 30.4 | PENDING |
| IFEval | 61.2 | PENDING |
| MMMLU | 56.9 | PENDING |

Note: Qwen's published numbers use their own evaluation setup; our re-run may differ slightly. A fine-tune on 3,800 examples is not expected to raise general-knowledge scores, and the goal of this check is to confirm it does **not regress** them.

### 5.2 Behavior benchmarks (SYTHS-1.0-specific)

<div align="center">
<img src="assets/syths_benchmarks.png" alt="Behavior benchmarks — pending" width="100%"/>
</div>

| Capability (القدرة) | SYTHS-1.0 | Qwen3.5-2B (base) |
|---|---|---|
| Identity consistency (ثبات الهوية) | PENDING | PENDING |
| Hallucination avoidance (تجنّب الهلوسة) | PENDING | PENDING |
| Egyptian Arabic fluency (سلاسة اللهجة المصرية) | PENDING | PENDING |
| Code tutoring (تعليم البرمجة) | PENDING | PENDING |
| Tool calling (استدعاء الأدوات) | PENDING | PENDING |
| Safe & polite refusal (الرفض المهذّب والآمن) | PENDING | PENDING |

Caveat: the current `test.py chat` suite has 11 heuristic cases. It is a smoke test, not a publication-grade benchmark. Before publishing numbers, the evaluation set should be extended (target ≥ 50 prompts per capability) and the fluency category should be human-rated.

## 6. Intended use and limitations

**Intended use:** Egyptian-Arabic assistance, coding explanations, and tool-calling research on a small open model.

**Limitations:**
- A 2B-class model can still make factual and reasoning errors. Verify important outputs.
- It has no live data, no internet access and no memory across chats.
- Medical, legal and financial answers are general information, not professional advice.
- Trained on 3,800 examples; coverage of niche domains is limited.
- Not evaluated yet (see §5).

## 6.1 Usage

```python
from unsloth import FastLanguageModel
model, tok = FastLanguageModel.from_pretrained("Qwen/Qwen3.5-2B", load_in_16bit=True)
model.load_adapter("Sovythos/SYTHS-1.0")  # or a local ./adapter folder
FastLanguageModel.for_inference(model)
msgs = [{"role": "user", "content": "اشرحلي الـ list comprehension في بايثون"}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, enable_thinking=False, return_tensors="pt").to(model.device)
print(tok.decode(model.generate(ids, max_new_tokens=300)[0][ids.shape[1]:], skip_special_tokens=True))
```

## 7. Reproduce

```bash
pip install unsloth "transformers>=5"
python training/test.py data                                   # validate dataset schema
python training/test.py render --model Qwen/Qwen3.5-2B         # verify template + masking markers
python training/train.py --smoke                               # 20-step dry run, no save
python training/train.py                                       # full run -> outputs/sovythos/final
python training/test.py chat --adapter outputs/sovythos/final  # behavior suite
```

Once trained: run the suite on the base model and on the adapter, fill `assets/results.json`, then run `python assets/render_cards.py` to regenerate the benchmark image.

## 8. Credits

Built on **Qwen3.5** by the Qwen Team (Alibaba Cloud). Trained with Unsloth. SYTHS-1.0 is a model of the Sovythos family, made by Mahmoud Yasser. It is an independent project, not affiliated with or endorsed by the Qwen Team.

---

<div dir="rtl">

## ملخص بالعربي

**SYTHS-1.0** موديل مصري مفتوح المصدر من عيلة **Sovythos** وصناعة محمود ياسر، متدرّب بـ LoRA على موديل `Qwen/Qwen3.5-2B` الرسمي، على **3,800 مثال مكتوب يدويًا بالكامل** (من غير أي داتا خارجية ولا مولّد). هدفه: لهجة مصرية طبيعية، صراحة وعدم تأليف، شرح برمجة، واستدعاء أدوات بشكل سليم.

**الحالة: نسخة مؤقتة قبل التدريب.** كل نتائج المقارنة مع الموديل الأساسي الرسمي لسه **PENDING**، ومفيش أي رقم متقدّر أو متنسخ من مصدر تاني. هتتحدّث بعد التدريب والتقييم.

</div>


> **ملاحظة عن الاسم:** اسم الموديل العام **SYTHS-1.0**. داتا التدريب بتعرّف الموديل باسم عيلته **Sovythos** (وده مقصود)، فممكن يقول إنه "Sovythos" لما يتسأل عن هويته.