fine-tune 0 0 0

oddadmix/arabic-math-reasoning-synth

published by @oddadmix

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
216
Last 30 days
90
Likes
-
Size
50.8 MB
Created on HF
2026-08-25
Age
1 months ago

Description

Arabic Math Reasoning (synthetic) — مسائل رياضيات عربية مع خطوات الحل

120,462 Arabic grade-school math word problems, each with a step-by-step derivation and a

concluding sentence. Generated with gemma-3-12b-it and Qwen3.8-27B-Uncensored-NVFP4 and

arithmetically verified — every equation the reasoning states was re-evaluated, and rows whose

own arithmetic does not check out were dropped.

generator

rows

share

gemma-3-12b-it

80,480

66.8%

Qwen3.8-27B-Uncensored-NVFP4… See the full description on the dataset page: https://huggingface.co/datasets/oddadmix/arabic-math-reasoning-synth.

Tags

task_categories:text-generationlanguage:arlicense:apache-2.0size_categories:100K<n<1Mformat:parquetmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:usarabicmathreasoningchain-of-thoughtgsm8ksynthetic

README current version from Hugging Face


license: apache-2.0
language:

  • ar
    size_categories:
  • 100K<n<1M
    task_categories:
  • text-generation
    tags:
  • arabic
  • math
  • reasoning
  • chain-of-thought
  • gsm8k
  • synthetic
    configs:
  • config_name: default
    data_files:
    • split: train
      path: arabic_math_reasoning_synth.parquet

Arabic Math Reasoning (synthetic) — مسائل رياضيات عربية مع خطوات الحل

120,462 Arabic grade-school math word problems, each with a step-by-step derivation and a
concluding sentence. Generated with gemma-3-12b-it and Qwen3.8-27B-Uncensored-NVFP4 and
arithmetically verified — every equation the reasoning states was re-evaluated, and rows whose
own arithmetic does not check out were dropped.

generator rows share
gemma-3-12b-it 80,480 66.8%
Qwen3.8-27B-Uncensored-NVFP4 39,982 33.2%

بالعربية: 120,462 مسألة حسابية عربية مع خطوات حل مفصّلة وجملة إجابة نهائية. جميع المعادلات
داخل خطوات الحل تم التحقق منها حسابيًا، والصفوف التي تحتوي على خطأ حسابي مستبعدة.

Schema

field description
instruction the word problem, ending in a question
reasoning numbered derivation, each step containing an explicit equation
answer one concluding sentence (إذن، …) carrying the final number and its unit
axis_* the variation axes this item was drawn from (domain, operation, steps, numbers, region, twist)
task_id the generation task it came from
gen_model which model generated the row

It matches the {instruction, reasoning, answer} schema used by the Nawah-Reasoning training
scripts, so it drops straight into ChatML + <think> SFT.

How it was built

Prompts are drawn from a variation grid — 30 domains × 23 operation types ×
step counts × number styles × 12 country/currency pairs × 8 structural twists —
seeded deterministically from the task index. This is a deliberate reaction to the corpus this was
built to supplement: a machine-translated Arabic GSM8K whose 142,969 rows expand from only
2,814 underlying question templates. Here, 120,462 distinct templates survive
number-masked deduplication.

The operation axis is drawn from two disjoint pools. The first 100,323 rows use 15
general operations (totals, percentages, unit rates, remainders, …). A later pass added a
relational pool of 8 operations — ضعف / أضعاف, نصف, ثلث و ربع, absolute increase and
decrease, three-way chains, and the inverse direction — contributing 20,139 rows. These
express a quantity relative to another entity ("Ziad bought double that number"), which
forces a derivation step that a percentage problem does not. In the original corpus ضعف /
أضعاف
appeared in 1.34% of rows and أكثر بـ / أقل بـ in 0.26% — against 17.6% for percentages —
and that gap is the documented weak spot of models trained on it, so the pool was generated
deliberately rather than left to the grid.

Verification

Generated math is fluent and often wrong, so acceptance is mechanical rather than stylistic:

  1. every a op b = c in the reasoning is re-evaluated with real arithmetic — one bad equation
    rejects the row;
  2. the number in the answer sentence must equal the last computed result (a chain that is
    internally correct but ends on a different number is the failure that survives fluency checks);
  3. no Latin characters, length bounds, and the answer must open with a conclusion marker.

64.3% of parsed items passed. Rejections:

reason count share of rejects
answer_not_last_result 17,369 25.9%
bad_equation 12,726 19.0%
noop_step 9,127 13.6%
latin_residue 7,154 10.7%
no_equations 6,860 10.2%
reasoning_length 6,301 9.4%
no_conclusion_marker 3,004 4.5%
answer_length 2,530 3.8%

out_synth/rejects.jsonl in the source repo keeps every rejected item with its reason, so the
filter itself can be audited.

Limitations

This is synthetic data: the problems are machine-written and reflect that model's habits of
phrasing, its distribution of scenarios, and its idea of what a "typical" Arabic math problem
looks like. Verification proves each row's arithmetic is self-consistent — it does not prove
the problem is well-posed, that the setup is the only reasonable reading, or that the wording is
natural to any particular dialect region (the axis_region field sets currency and context, not
dialect; everything is MSA). Rows whose reasoning states no explicit equation are dropped, which
biases the corpus toward problems that decompose into clean arithmetic steps.

Trained model

This dataset is part of the training mix for
oddadmix/Nawah-Math-Reasoning — a 51.8M-parameter Arabic model that reasons step by step
inside <think>…</think> before answering. The full training code, including the pipeline that
built this dataset, ships in code/ in that repo, and
there is a live demo Space.

README history 20 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2026-08-28Add code/node2/: second node's synth_common.py + synth_generate.py variants (...dc22eba5.5 KB
    Loading...
  2. 2026-08-28link oddadmix/Nawah-Math-Reasoningfbaab2d5.5 KB
    Loading...
  3. 2026-08-27Upload synth_generate.py with huggingface_hub1e17f005 KB
    Loading...
  4. 2026-08-27Upload synth_common.py with huggingface_hubd2216df5 KB
    Loading...
  5. 2026-08-27Upload README.md with huggingface_huba089ca05 KB
    Loading...
  6. 2026-08-27Upload arabic_math_reasoning_synth.parquet with huggingface_hub876a8124.2 KB
    Loading...
  7. 2026-08-26Upload README.md with huggingface_hub6def8a84.2 KB
    Loading...
  8. 2026-08-26Upload arabic_math_reasoning_synth.parquet with huggingface_hub9bef2314.1 KB
    Loading...
  9. 2026-08-26Add node-2 raw shard: 15,936 tasks / 40,001 accepted rows (Qwen3.8-27B-Uncens...46bd1a54.1 KB
    Loading...
  10. 2026-08-26Upload build_synth_dataset.py with huggingface_hubd33ea884.1 KB
    Loading...
  11. 2026-08-26Upload synth_generate.py with huggingface_hubb412f254.1 KB
    Loading...
  12. 2026-08-26Upload README.md with huggingface_hub4ee51d24.1 KB
    Loading...
  13. 2026-08-26Upload arabic_math_reasoning_synth.parquet with huggingface_hubb059d774.1 KB
    Loading...
  14. 2026-08-25Upload README.md with huggingface_hub0c6bf654.1 KB
    Loading...
  15. 2026-08-25Upload arabic_math_reasoning_synth.parquet with huggingface_hub78e49cf4.1 KB
    Loading...
  16. 2026-08-25Upload build_synth_dataset.py with huggingface_hub155bbd24.1 KB
    Loading...
  17. 2026-08-25Upload synth_generate.py with huggingface_hub0fd3e2a4.1 KB
    Loading...
  18. 2026-08-25Upload synth_common.py with huggingface_hub589c6974.1 KB
    Loading...
  19. 2026-08-25Upload README.md with huggingface_hubb9004a04.1 KB
    Loading...
  20. 2026-08-25Upload arabic_math_reasoning_synth.parquet with huggingface_hub7408fcd0 B
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Community discussions 1 thread · 1 open · 1 comments

Threads posted by the community on Hugging Face: bug reports, questions about usage, pull requests on the README, license clarifications. Click any thread to expand and read the full conversation inline. Newest first.

  1. 2026-08-27[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · fine-tune

Read further

Metadata

License
apache-2.0

Repository

Download the dataset

0

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("oddadmix/arabic-math-reasoning-synth")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="oddadmix/arabic-math-reasoning-synth", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/oddadmix/arabic-math-reasoning-synth
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration