23Olivilo commited on
Commit
bb738ea
·
verified ·
1 Parent(s): ba8dc08

Add README_sr.md — root README structure for v1.13

Browse files
Files changed (1) hide show
  1. README_sr.md +304 -0
README_sr.md ADDED
@@ -0,0 +1,304 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ language: [sr, hr, bs, mk, sl, sq, cnr, bg, el, tr, ro, hu]
4
+ base_model: Qwen/Qwen3-8B
5
+ library_name: transformers
6
+ tags: [balkan, southeast-europe, multilingual, honest-ai, sovasoft, rag]
7
+ ---
8
+
9
+ 🌐 **EN** · **🇷🇸 SR** · [🇭🇷 HR](README_hr.md) · [🇧🇦 BS](README_bs.md) · [🇲🇰 MK](README_mk.md) · [🇸🇮 SL](README_sl.md) · [🇦🇱 SQ](README_sq.md) · [🇲🇪 CNR](README_cnr.md) · [🇧🇬 BG](README_bg.md) · [🇬🇷 EL](README_el.md) · [🇹🇷 TR](README_tr.md) · [🇷🇴 RO](README_ro.md) · [🇭🇺 HU](README_hu.md)
10
+
11
+
12
+ > **🌐 This is the Serbian (Srpski) Model Card.** The body text remains in English for international readability.
13
+
14
+
15
+ <p align="center">
16
+ <img src="images/Zora_Stich_1700_SW_Print.png" width="520" alt="Zora — Goddess of Dawn, surrounded by the symbols of 12 peoples"/>
17
+ </p>
18
+
19
+ # Zora v1.13 — otvoreni, iskreni LLM za Balkan i Jugoistočnu Evropu
20
+
21
+ *зора = "zora". Jedna da ih sve ujedini.* — **Sovasoft** ([ai.in.rs](https://ai.in.rs))
22
+
23
+ ---
24
+
25
+ ## 1 · Šta je Zora
26
+
27
+ Zora is an **open 8B language model** (built on Qwen3-8B) for **12 languages of the Balkans and
28
+ Southeast Europe**: Serbian, Croatian, Bosnian, Macedonian, Slovenian, Albanian, Montenegrin,
29
+ Bulgarian, Greek, Turkish, Romanian, Hungarian.
30
+
31
+ Zora is not built to be the biggest model — it is built to be **honest, in-language, and multi-perspective**:
32
+ - **thinks in the target language** instead of pivoting through English,
33
+ - shows **several perspectives** on contested topics instead of one national view,
34
+ - and above all: **admits when it doesn't know** instead of inventing facts.
35
+
36
+ ## 2 · Priča o razvoju (v1.0 → v1.1 → v1.11 → v1.12 → v1.13)
37
+
38
+ | Version | Languages | BalkanBench | State |
39
+ |---|---|---|---|
40
+ | **v1.0** | 6 | — | first public release |
41
+ | **v1.1** | 12 | — | trained from scratch — but **hallucinated facts** (invented book titles, wrong authors). **Never released.** |
42
+ | **v1.11** | 12 | 84/156 | the honest fix: says "I don't know", searches when unsure. **#1 Balkan model.** |
43
+ | **v1.12** | 12 | **85/156** | **the depth fix:** better tool-calling, structured IDK, in-language thinking, RAG integration. |
44
+ | **v1.13** | 12 | **102/156** | **the analysis breakthrough:** critical analysis, advanced logic and graded evaluation jump to new highs, though factual detail regressed. |
45
+
46
+ v1.1 taught us the key lesson — a small model can't *memorize* every fact, so instead of faking it,
47
+ **v1.11 was retrained to be honest**. v1.12 built on that with deeper training and RAG. v1.13
48
+ pushes reasoning and analysis skills further, trading some factual detail for gains in logic.
49
+
50
+ ## 3 · Šta je novo v1.13
51
+
52
+ ### The Analysis & Reasoning Push
53
+
54
+ **New strengths in v1.13:**
55
+ - **ANALYSIS 0/12 → 12/12** — the biggest single gain. Zora can now critically assess arguments, detect bias across all 12 languages.
56
+ - **LOGIC2 0/12 → 7/12** — advanced multi-step reasoning chains now work in 7 languages.
57
+ - **GRADED 0/12 → 3/12** — partial progress on essays, assessments and rubrics.
58
+ - **LOGIC 0/12 → 3/12** — formal logic and syllogisms improve in some languages.
59
+
60
+ **Honest trade-offs:**
61
+ - **DETAIL 10/12 → 2/12** — a significant regression. The training that unlocked analysis reduced the depth of elaborated answers. We report this transparently; it is the clearest weakness of v1.13.
62
+ - **SEARCH 7/12 → 5/12** — a smaller drop in quick factual lookup.
63
+ - **FACT 0/12 → 1/12** — marginal improvement in factual recall, still capacity-bound.
64
+ - **HALLU** remains at 10/12 (see the Deep Dive below).
65
+
66
+ The v1.13 training re-balanced the SFT mix toward reasoning, analysis and graded evaluation.
67
+ That raised the top end of the scoreboard by +17 points (85 → 102) while costing depth on the
68
+ DETAIL axis and some speed on SEARCH. It is a deliberate, documented trade — not a free win.
69
+
70
+ ## 4 · Benchmark (BalkanBench, 13 osi × 12 jezika)
71
+
72
+ 🔬 **BalkanBench is open** — test any model yourself: https://github.com/olivilo/balkanbench
73
+ Deterministic scoring (script / language / keywords / numbers).
74
+
75
+ ### Axis-by-Axis Comparison (v1.12 → v1.13)
76
+
77
+ | Axis | v1.12 | v1.13 | Δ | What changed |
78
+ |------|-------|-------|---|---|
79
+ | FACT | 0/12 | 1/12 | ↑1 | 8B capacity limit; slight improvement, still small |
80
+ | HALLU | 10/12 | 10/12 | = | Stable; quality of native-language refusals stays high (see Deep Dive below) |
81
+ | DETAIL | 10/12 | 2/12 | **↓8** | **Regression — the honest cost of v1.13's reasoning push** |
82
+ | GRADED | 0/12 | **3/12** | **↑3** | New: essays, assessments, rubrics now sometimes work |
83
+ | TEACH | 12/12 | 12/12 | = | Perfect — remains a core strength |
84
+ | REASON | 11/12 | 11/12 | = | Strong arithmetic reasoning stays |
85
+ | LOGIC | 0/12 | **3/12** | **↑3** | Formal logic / syllogisms improve in some languages |
86
+ | LOGIC2 | 0/12 | **7/12** | **↑6** | Multi-step reasoning chains now work in 7 languages |
87
+ | ANALYSIS | 0/12 | **12/12** | **↑12** | **Biggest gain:** critical analysis, bias detection in all 12 languages |
88
+ | INSTRUCT | 11/12 | 12/12 | ↑1 | Recovered to perfect instruction following |
89
+ | LONGFORM | 12/12 | 12/12 | = | Perfect — remains a core strength |
90
+ | SEARCH | 7/12 | 5/12 | **↓2** | Small regression in quick factual lookup |
91
+ | TOOLBASE | 12/12 | 12/12 | = | Perfect: answers basics without calling tools |
92
+ | **TOTAL** | **85/156** | **102/156** | **+17** | Analysis + logic gains outweigh the DETAIL/SEARCH cost |
93
+
94
+ ### Per-Language Scores
95
+
96
+ | Language | v1.12 | v1.13 | Δ |
97
+ |----------|-------|-------|---|
98
+ | bg (Bulgarian) | 8/13 | **8/13** | = |
99
+ | bs (Bosnian) | 8/13 | **10/13** | **+2** |
100
+ | cnr (Montenegrin) | 8/13 | **8/13** | = |
101
+ | el (Greek) | 9/13 | **9/13** | = |
102
+ | hr (Croatian) | 9/13 | **9/13** | = |
103
+ | hu (Hungarian) | 8/13 | 7/13 | -1 |
104
+ | mk (Macedonian) | 7/13 | **11/13** | **+4** |
105
+ | ro (Romanian) | 8/13 | **9/13** | **+1** |
106
+ | sl (Slovenian) | 6/13 | **7/13** | **+1** |
107
+ | sq (Albanian) | 8/13 | **8/13** | = |
108
+ | sr (Serbian) | 7/13 | **8/13** | **+1** |
109
+ | tr (Turkish) | 7/13 | **8/13** | **+1** |
110
+
111
+ **Biggest winner:** Macedonian (+4) — the analysis training lifted the previously least-covered
112
+ language the most. Bosnian (+2) also gained clearly. Hungarian slipped one point.
113
+
114
+ ### Charts
115
+
116
+ | Ranking | Evolution | Axis Matrix |
117
+ |---------|-----------|-------------|
118
+ | ![Ranking](charts/rank_sr_v113.png) | ![Evolution v1.12 → v1.13](charts/evolution_sr_v113.png) | ![v1.13 axis matrix](charts/matrix_sr_v113.png) |
119
+
120
+ | Delta (v1.12 → v1.13) | What Each Axis Tests |
121
+ |------------------------|----------------------|
122
+ | ![Delta](charts/delta_sr_v113.png) | ![Explanation](charts/explanation_sr_v113.png) |
123
+
124
+ ## 5 · Zašto je HALLU ostao na 10/12
125
+
126
+ The HALLU score (10/12) stayed flat across v1.12 and v1.13. The IDK behavior itself remains
127
+ strong — the model says "I don't know" in a structured, native-language way instead of inventing
128
+ facts. So why didn't it move, and where is the real change?
129
+
130
+ ### Why the Score Didn't Move
131
+
132
+ **1. HALLU is already near its ceiling for an 8B model.**
133
+ The test asks: "Does the model say one of the IDK marker words when asked about a fabricated
134
+ person?" Zora does this correctly for 10 of 12 languages. The last 2 (Macedonian, Slovenian) have
135
+ the smallest training data — an 8B model simply lacks capacity for these underrepresented
136
+ languages. Notably, Macedonian improved overall (+4) thanks to the analysis training, but the
137
+ specific HALLU markers still miss there.
138
+
139
+ **2. IDK training improved QUALITY, not SCORE.**
140
+ BalkanBench's HALLU test is a binary yes/no check for an IDK marker. What actually improved:
141
+
142
+ | Before (v1.11) | Now (v1.12 → v1.13) |
143
+ |-----------------|---------------------|
144
+ | Short, sometimes truncated refusals | Full-sentence, structured refusals |
145
+ | Sometimes answered in English | Always answers in the question's language |
146
+ | No reasoning given | Explains *why* it can't answer |
147
+ | "Ne znam." | "Nemam pouzdanih podataka o 'X'. Ne mogu da potvrdim da postoji u pouzdanim izvorima, pa neću da izmišljam." |
148
+
149
+ This is a qualitative leap that the binary score cannot capture.
150
+
151
+ **3. The real halluck shift is in ANALYSIS, not HALLU.**
152
+ The v1.13 breakthrough is on the **ANALYSIS** axis (0/12 → 12/12): Zora now critically evaluates
153
+ arguments and detects bias across all 12 languages. That is where the reasoning training showed
154
+ its strongest, most consistent effect.
155
+
156
+ **4. The honest cost: DETAIL regressed.**
157
+ DETAIL fell from 10/12 to 2/12. The same training that unlocked analysis made answers more
158
+ concise and less elaborated. We report this transparently — v1.13 trades depth of detail for
159
+ critical-analysis capability. Teams that need long, richly detailed prose should weigh this against
160
+ the reasoning gains.
161
+
162
+ ### What Would Move HALLU to 12/12
163
+
164
+ | Approach | Expected Impact | Effort |
165
+ |----------|----------------|--------|
166
+ | Larger model (v2 = 27B) | +1-2 languages (mk, sl) | High (new training run) |
167
+ | More IDK examples for mk/sl specifically | +0-1 languages | Medium (data generation) |
168
+ | RLHF with human feedback on refusal quality | Better quality (not score) | High (human annotation) |
169
+ | DPO (Direct Preference Optimization) | +1-2 languages | Medium (preference pairs) |
170
+ | Re-balance DETAIL vs ANALYSIS trade | Recover detail at some analysis cost | Medium (data mix tuning) |
171
+
172
+ **Bottom line:** The 8B model is near its ceiling for HALLU. The real gains in v2 (27B) will come
173
+ from more parameters, not more training tricks. v1.13's win is analysis; its documented cost is
174
+ detail.
175
+
176
+ ## 6 · RAG funkcija
177
+
178
+ Zora integrates with **RAG (Retrieval-Augmented Generation)** — a system that lets Zora search
179
+ through a local knowledge base before answering.
180
+
181
+ ### What RAG gives Zora
182
+ - **87,284 chunks** across 12 languages: Wikidata, Wikipedia, News Archive, EU Law, Statistics
183
+ - **Live endpoint:** https://rag.ai.in.rs
184
+ - **Self-hostable:** Clone the pipeline from https://github.com/olivilo/zora-v1.13
185
+
186
+ ### How it works
187
+ The tool-cascade: Zora first checks its **RAG knowledge base** (local documents, laws,
188
+ statistics), then falls back to **web search** if needed, and finally says **"I don't know"** if
189
+ neither helps.
190
+
191
+ ```
192
+ User question → RAG (local docs) → web_search (live) → IDK (honest refusal)
193
+ ```
194
+
195
+ ### Why this matters
196
+ - 8B models can't memorize everything — RAG gives Zora access to **current, authoritative data** without retraining
197
+ - Every answer carries **source + date + license** — full transparency
198
+ - Self-hostable: any organization can run their own Zora RAG with their own documents
199
+
200
+ ## 7 · Detalji treninga
201
+
202
+ | Parameter | Value |
203
+ |-----------|-------|
204
+ | Base model | Qwen3-8B (Alibaba Cloud, Apache-2.0) |
205
+ | CPT steps | 150 (capped, not full epoch) |
206
+ | SFT examples | 9,379 (2 epochs) |
207
+ | MAXLEN | 8192 (8× longer than v1.11) |
208
+ | QLoRA | r=16, lora_alpha=16, 4bit |
209
+ | Data composition | re-balanced toward reasoning, analysis & graded evaluation |
210
+ | Infrastructure | Modal A100-80GB, ~4h total, ~$5-10 |
211
+ | Quantizations | Q5_K_M (5.4GB, recommended), Q6_K (6.7GB), Q8_0 (8.7GB) |
212
+
213
+ ## 8 · Korišćenje
214
+
215
+ **Ollama (recommended):**
216
+ ```bash
217
+ ollama pull olivilo/zora:v1.13
218
+ ollama run olivilo/zora:v1.13
219
+ ```
220
+
221
+ **HuggingFace Transformers:**
222
+ ```python
223
+ from transformers import AutoModelForCausalLM, AutoTokenizer
224
+ tok = AutoTokenizer.from_pretrained("sovasoft/zora-v1.13")
225
+ model = AutoModelForCausalLM.from_pretrained("sovasoft/zora-v1.13", device_map="auto")
226
+ ```
227
+
228
+ **GGUF (llama.cpp / Ollama manual):**
229
+ Download Q5_K_M, Q6_K, or Q8_0 from [HuggingFace](https://huggingface.co/sovasoft/zora-v1.13).
230
+ **Avoid Q4 and below** — heavy quantization made the model hallucinate in our tests.
231
+
232
+ ## 9 · Ograničenja
233
+
234
+ - **8B capacity:** FACT remains structurally weak — more parameters needed (v2 = 27B)
235
+ - **DETAIL regression:** v1.13's answers are less elaborated than v1.12 — the analysis push cost depth (2/12)
236
+ - **SEARCH regression:** quick factual lookup dropped slightly (5/12)
237
+ - **Quantization:** use Q5_K_M / Q6_K / Q8_0 only. Q4 and below degrade honesty.
238
+ - **Smaller languages** (mk, sl) still have less training data — expect lower consistency
239
+ - **No real-time knowledge** without RAG/web-search — the model's memory has a cutoff date
240
+ - **Multi-step reasoning** is improved but not reliable — always verify critical calculations
241
+
242
+ ## 10 · Transparentnost benchmarka
243
+
244
+ **BalkanBench is Sovasoft's own benchmark** — designed, built, and scored by the same team that built Zora. This means:
245
+
246
+ - **Design bias:** The 13 axes (FACT, HALLU, DETAIL, etc.) were chosen to highlight Zora's strengths. A different benchmark design would produce different rankings.
247
+ - **Scoring bias:** The scoring functions in `matrix_ollama.py` are our own. How we define "correct" may favor Zora's training profile.
248
+ - **No frontier comparison:** We compare only against open models (7-32B). Frontier models (GPT-4, Claude, Gemini) would outperform Zora — this benchmark is designed to evaluate *within* the open-source Balkan model ecosystem.
249
+ - **Selection bias:** We include models where Zora competes well. Inclusion criteria are not random.
250
+ - **Training data overlap:** Some benchmark questions may overlap with Zora's training data, which could inflate scores.
251
+
252
+ **What the scores DO show:** Zora v1.13 is the strongest open-source model we tested *on our
253
+ benchmark* for 12 Balkan languages — 102/156. It outperforms 3-4× larger models on BalkanBench
254
+ v1.1, a meaningful result for the open-source ecosystem, but not a claim of universal superiority.
255
+
256
+ **What the scores do NOT show:** That Zora is better than frontier models, that these rankings
257
+ generalize beyond our test design, or that the scoring methodology is independent. The
258
+ transparency here matters most: v1.13 gains analysis at a real, documented cost in factual detail.
259
+
260
+ ## 10 · Šta slede: v2
261
+
262
+ | | v1.13 (now) | v2 (planned) |
263
+ |---|---|---|
264
+ | Base | Qwen3-8B | Qwen3.8-27B |
265
+ | BalkanBench | 102/156 | Target: 120+/156 |
266
+ | DETAIL | 2/12 (regression) | Recover + Target: 8+/12 |
267
+ | LOGIC/LOGIC2 | 3/12, 7/12 | Target: 8+/12 |
268
+ | HALLU | 10/12 | Target: 12/12 |
269
+ | Reasoning | Improved analysis | Full chain-of-thought training |
270
+
271
+ ## 11 · Zahvalnost
272
+
273
+ Zora exists because of open source. We give our formal, heartfelt thanks:
274
+
275
+ - **Above all, to the Qwen team at Alibaba** — for developing and open-sourcing **Qwen3** (Apache-2.0),
276
+ the foundation model Zora is built upon. Without their generosity, Zora would not exist.
277
+ - To the **platforms and structures** that made this possible — **Kaggle, Modal,
278
+ HuggingFace, Ollama, Unsloth** — for the compute, the tools, and the open infrastructure.
279
+ - To the **open-source community**, for the models, code, and knowledge freely shared with everyone.
280
+ - To the **people of the Balkans** — whose languages, voices, stories and perspectives are Zora's very heart.
281
+ - To **rag.ai.in.rs** for the RAG infrastructure and 87,284 chunks of Balkan knowledge.
282
+ - And to **all that is.**
283
+
284
+ *зора = "zora". Jedna da ih sve ujedini.* — **Sovasoft** ([ai.in.rs](https://ai.in.rs))
285
+
286
+ ## 12 · Citiranje
287
+
288
+ ```bibtex
289
+ @software{zora_v113,
290
+ author = {Vignjevic, Oliver},
291
+ title = {Zora v1.13: An Open, Honest LLM for the Balkans \& Southeast Europe},
292
+ year = {2026},
293
+ publisher = {Hugging Face},
294
+ url = {https://huggingface.co/sovasoft/zora-v1.13},
295
+ license = {Apache-2.0},
296
+ base_model = {Qwen/Qwen3-8B},
297
+ languages = {sr, hr, bs, mk, sl, sq, cnr, bg, el, tr, ro, hu}
298
+ }
299
+ ```
300
+
301
+ ---
302
+
303
+ *Sovasoft · ai.in.rs · one to unite them all*
304
+