Request access to Dwago

Dwago is released under the Dwago Evaluation License. Approved users may download the weights to evaluate, test and benchmark the model, or for non-commercial academic research. Any commercial or production use requires a separate paid license from Mohammedi Yunus; contact via the Hugging Face profile muhammediyunes. Requests are reviewed manually.

Log in or Sign Up to review the conditions and access this model content.

Dwago v6.2: a 30M-parameter decision model trained from scratch

Created by Mohammedi Yunus. Open weights under the Dwago Evaluation License: evaluation and non-commercial research only; commercial use requires a paid license (see License and commercial use).

Dwago answers questions about a piece of content (the state: plain text or an object with named fields) and returns calibrated probabilities. It supports three question types: choice (pick one of N described options), yes/no, and score (an ordinal rating). Every weight was trained from random initialisation in this project: its own tokenizer, an encoder pretrained on 8.58 billion tokens of decontaminated English Wikipedia and FineWeb-Edu, and multi-task supervised fine-tuning. No pretrained weights, external embeddings or pretrained tokenizers were used, and no other model's predictions were used as training targets (the only soft targets came from ensembles of Dwago's own from-scratch models).

Highlights

  • Beats Jev on 8 of 17 Jev-published benchmarks with the release model Dwago v6.2 (9 of 17 with the code-review tool layer). Largest leads: Emotion (sysone) 89.00 vs 55.00, Emotion (dair-ai) 88.65 vs 58.65, Security: vulnerable-code labels 87.25 vs 71.50, Financial news topics 81.78 vs 66.99, DailyDialog emotion 79.29 vs 70.99.
  • Beats Laya on 10 of 17 of the same benchmarks (2 ties), while being about 13ร— smaller and about 15ร— faster (1.77 ms vs 25.80 ms median per request on an RTX 3070).
  • On Dwago's sealed final test suite, macro accuracy (DBpedia, SNLI, Banking77, BoolQ) is 84.54 vs Laya 66.12 (shipped) and 69.19 (adapted to these tasks).
  • Code review: quality reaches 100.00 vs Jev 99.48 with Dwago's built-in code-review tool layer (static checks; disclosed as post-hoc, see โ€ ).
  • Runs on a CPU: 4.77 ms median per request with the ONNX int8 export.

Where Dwago beats Jev

Size and speed

Benchmark results against Jev and Laya

Same inputs as Jev's public results; each benchmark's own (publisher) metric; every system evaluated once from a frozen checkpoint. Bold = above Jev.

Benchmark Jev 1.13.0 Dwago v6.2 Dwago v6.3 + tools* Laya (shipped)
DailyDialog emotion 70.99 79.29 75.74 61.37
Emotion (dair-ai) 58.65 88.65 87.50 58.80
Financial news topics 66.99 81.78 81.32 34.08
Tweet topics 79.33 79.21 80.80 63.20
News topics (AG News) 91.00 92.00 93.00 94.00
Banking77 (12-way) 90.63 94.79 97.92 80.21
Emotion (sysone) 55.00 89.00 89.00 55.00
Guardrails 96.67 83.33 81.67 88.33
MNLI 86.67 78.33 70.00 98.33
Moderation 98.89 83.33 82.22 83.33
Multilingual intent 100.00 40.00 32.00 36.00
Support triage 88.75 66.25 61.25 79.38
Code review: correctness 98.00 51.04 76.82 โ€  51.04
Code review: quality 99.48 67.45 100.00 โ€  54.43
Security: vulnerable-code labels 71.50 87.25 70.50 50.25
Security: pair ranking 89.00 95.00 89.50 47.50
JevBench (public) 86.58 44.16 43.29 54.55
Benchmarks above Jev โ€” 8 of 17 9 of 17 3 of 17

* Dwago v6.3 + tools: the v6.3 network plus its built-in code-review tool layer (static analysis and sandboxed execution of the code under review). โ€  Post-hoc: the tool layer's rule reader was fixed after the clean one-time evaluation of v6.3 (correctness 50.00, quality 83.33); every round is kept in the records. No benchmark item was ever used for training or tuning.

All benchmarks

Where Dwago is behind: multilingual intent (a 30M model across 51 languages), MNLI, support triage, moderation and guardrails, the general JevBench, and code-review correctness (which needs real program understanding). These are reported, not hidden.

Full report, Dwago's sealed final test suite, size and speed, and method: benchmark/README.md. Machine-readable results: benchmark/results/.

How Dwago was built

From an evaluation suite fixed before training, through tokenizer training, 8.58B-token pretraining on one RTX 3070 and free Kaggle GPUs, multi-task fine-tuning and self-distillation, to one-time evaluations recorded in hash-chained ledgers: benchmark/HOW_DWAGO_WAS_BUILT.md. The project was engineered with an AI coding agent (Claude Code) under the author's direction; the model's weights were all learned from random initialisation by these pipelines.

Quick start

from dwago_model import Dwago                      # dwago_model.py ships with the weights
model = Dwago.from_pretrained('.')                 # CUDA if available, else CPU (PyTorch)
model.predict({'message': 'Ich mรถchte heute Abend eine Pizza bestellen.'}, {
    'intent':  {'type': 'choice', 'instructions': 'What does the customer want?',
                'criteria': {'takeaway_order': 'order takeaway food', 'transport_taxi': 'book a taxi', 'other': 'anything else'}},
    'urgent':  {'type': 'noul', 'instructions': 'Is there time pressure in `message`?'},
})
  • Requirements: torch, tokenizers, safetensors, numpy.
  • CPU deployment: Dwago.from_pretrained('.', device='cpu', backend='onnx') uses the bundled ONNX export, which also needs onnxruntime.
    • The export quantizes the encoder's weight matrices to int8 and keeps attention and the decision head in fp32.
    • It was adopted only after a rule fixed in advance: argmax agreement โ‰ฅ 99% and accuracy drop โ‰ค 0.2 points on development data. It reached 99.26% agreement over 26,097 decisions and +0.09 points.

Model

Architecture 10-layer pre-LN Transformer encoder, width 384, 6 heads, learned positions (512); schema-conditioned decision head
Parameters 30,337,921
Input [CLS] question [SEP] state [SEP] (question โ‰ค 128 tokens, at most 512 positions in total). Each option description (โ‰ค 62 tokens) is encoded separately and cached.
Tokenizer 24,576-token lower-cased BPE with word-start markers (trained on English; other scripts are covered character by character)
Layout markers Line breaks and indentation, which the tokenizer would otherwise drop, are encoded as ยถ and ยฆ (config layout: true), so code and multi-line fields keep their structure.
Calibration One temperature (1.567) fitted on development data. ECE 0.056 โ†’ 0.0104 on dev_select and 0.054 โ†’ 0.0085 on dev_report.
Precision Weights fp32. GPU inference bf16 (CUDA graphs in the research engine); CPU inference fp32 or ONNX int8w.

Training data

Pretraining:

  • English Wikipedia 2023-11-01 and FineWeb-Edu sample-10BT.
  • Decontaminated against every evaluation text before the tokenizer was trained: 13-gram overlap, exact short sentences, and evaluation article titles.
  • Two of the v6 teacher's members additionally saw 0.4B tokens of Python code (CodeSearchNet, codeparrot-clean validation, APPS; mixed licenses as stated by the sources).

Supervised (training splits only).

  • The v5 pool: DBpedia-14, SNLI, MultiNLI, SQuAD 2.0 answerability, Banking77, BoolQ, AG News and STS-B, plus schema augmentations of these rows.
  • v6 tasks: the task types below, plus request-format variants and execution-labelled code review built from MBPP and HumanEval.
  • v6.2 additions:
    • multilingual intent, scenario, topic, banking and NLI data (MASSIVE in 51 languages, SIB-200, MINDS-14, XNLI);
    • code-review and code-execution data generated by this project, labelled by running the code and by syntax-tree checks.
  • Screening: every training row was checked against every evaluation input (exact text and 5-gram containment โ‰ฅ 0.9). Non-Latin text uses a Unicode-aware normaliser and character 5-grams. Matches were removed.
Task Source License (as stated by the source) Training rows
abuse_severity google/civil_comments CC0 1.0 52,605
anli facebook/anli CC BY-NC 4.0 60,000
arc allenai/ai2_arc CC BY-SA 4.0 2,747
code_exec generated by this project (assertion outcomes, executed) this project 13,357
code_review2 generated by this project (function families, executed) this project 50,000
code_review3 generated by this project (function families, executed) this project 96,000
code_vulnerable CyberNative/Code_Vulnerability_Security_DPO Apache-2.0 7,230
copa super_glue/copa BSD-2 319
csqa tau/commonsense_qa MIT 9,115
daily_dialog DailyDialog (roskoN mirror) CC BY-NC-SA 4.0 28,586
emotion dair-ai/emotion other (research/education) 17,273
fin_topic zeroshot/twitter-financial-news-topic MIT 15,603
fmt_field format variant of abuse_severity CC0 1.0 56,899
fmt_nli format variant of snli release 59,200
glue_cola nyu-mll/glue GLUE (per-task terms) 7,894
glue_mrpc nyu-mll/glue GLUE (per-task terms) 2,850
glue_qnli nyu-mll/glue GLUE (per-task terms) 59,384
glue_qqp nyu-mll/glue GLUE (per-task terms) 59,378
glue_rte nyu-mll/glue GLUE (per-task terms) 1,990
harm_severity PKU-Alignment/PKU-SafeRLHF CC BY-NC 4.0 37,974
hellaswag Rowan/hellaswag MIT 39,176
identity_attack google/civil_comments CC0 1.0 25,297
insult google/civil_comments CC0 1.0 57,615
jailbreak jackhhao/jailbreak-classification Apache-2.0 792
massive_intent MASSIVE (mteb mirror) CC BY 4.0 59,980
ml_bank MINDS-14 CC BY 4.0 8,145
ml_intent MASSIVE CC BY 4.0 201,710
ml_nli XNLI CC BY-NC 4.0 74,990
ml_scenario MASSIVE CC BY 4.0 40,746
ml_topic SIB-200 CC BY-SA 4.0 61,500
multirc super_glue/multirc other 4,045
openbookqa allenai/openbookqa unknown 4,206
prompt_injection deepset/prompt-injections Apache-2.0 7,932
sciq allenai/sciq CC BY-NC 3.0 11,073
sensitive_data ai4privacy/pii-masking-200k other 57,632
spam ucirvine/sms_spam unknown 4,512
sst2 stanfordnlp/sst2 unknown 57,348
sst5 SetFit/sst5 (SST-5) unknown 8,945
support_intent bitext customer support CDLA-Sharing-1.0 22,280
threat google/civil_comments CC0 1.0 7,633
ticket_urgent Tobi-Bueck/customer-support-tickets CC BY-NC 4.0 11,132
toxic google/civil_comments CC0 1.0 57,582
tweet_topic cardiffnlp/tweet_topic_single other 4,287
wants_cancel bitext customer support CDLA-Sharing-1.0 22,280
wants_refund bitext customer support CDLA-Sharing-1.0 22,280
wic super_glue/wic CC BY-NC 4.0 4,827
winogrande allenai/winogrande CC BY 8,615

Data licenses. The training data includes sources under non-commercial, share-alike, research-only or unstated terms (for example CC BY-NC 4.0: ANLI, XNLI, PKU-SafeRLHF, WiC, ticket data; CC BY-NC-SA 4.0: DailyDialog; research/education-only: dair-ai/emotion). No dataset is redistributed here.

Evaluation

Detailed comparison with Jev 1.13.0 (confidence intervals, Holm test)

These are per-item comparisons on the exact public inputs, against Jev's recorded outputs from third-party studies (not new API calls).

Protocol (pre-registered in results/PREREGISTRATION-v6.md):

  • Paired whole-group bootstrap (10,000 replicates) with one Holm family across all 17 comparisons.
  • A win needs Holm-supported superiority and an estimated difference of at least 2 points.
  • Each frozen system was evaluated once. No benchmark item was used for training, tuning or selection.

Dwago v6.2 has 5 wins.

Benchmark Jev 1.13.0 Dwago v6.2 ฮ” 95% CI Holm Dwago v6
sysone emotion 55.00 89.00 +34.00 [+24.0, +44.0] win 92.00
Emotion (dair-ai test, 2,000) 58.65 88.65 +30.00 [+27.7, +32.2] win 88.45
Vulnerable code: label agreement 71.50 87.25 +15.75 [+11.0, +20.5] win 86.25
Financial news topics (4,117) 66.99 81.78 +14.79 [+13.1, +16.5] win 82.49
DailyDialog emotion (test, 7,740) 70.99 79.29 +8.29 [+7.1, +9.6] win 79.25
Vulnerable code: pair ranking 89.00 95.00 +6.00 [+0.5, +11.5] ahead (n.s.) 96.00
sysone Banking77 (12 intents) 90.63 94.79 +4.17 [-2.1, +10.4] ahead (n.s.) 96.88
sysone AG News 91.00 92.00 +1.00 [-5.0, +7.0] ahead (n.s.) 91.00
Tweet topics (test_2021, 1,693) 79.33 79.21 -0.12 [-2.6, +2.4] loss 81.10
sysone MNLI 86.67 78.33 -8.33 [-21.7, +5.0] loss 70.00
sysone guardrails 96.67 83.33 -13.33 [-26.7, -3.3] loss 85.00
sysone moderation 98.89 83.33 -15.56 [-24.4, -7.8] loss 86.67
sysone support triage 88.75 66.25 -22.50 [-30.6, -14.4] loss 69.38
Code review: quality rules 99.48 67.45 -32.03 [-40.4, -23.5] loss 64.06
JevBench (public 231) 86.58 44.16 -42.42 [-53.3, -34.2] loss 45.45
Code review: correctness rules 98.00 51.04 -46.96 [-51.5, -42.5] loss 50.00
sysone multilingual intent 100.00 40.00 -60.00 [-80.0, -40.0] loss 12.00

All attempts are reported. The code-review benchmark was evaluated for three frozen systems: v6, v6.1 (a code-review round) and v6.2 (code-review correctness + multilingual). Correctness: 50.00 / 47.66 / 51.04; quality: 64.06 / 55.73 / 67.45. Multilingual intent: 12.00 / 20.00 / 40.00. Wins: 5 / 5 / 5. v6.2 was chosen on development data only (multilingual MASSIVE validation 35.5 โ†’ 63.0; held-out code-correctness rules 44.7 โ†’ 63.1) and replaced v6 as the release candidate by a rule fixed beforehand (at least as many wins). Choosing among frozen systems by benchmark results is disclosed as such.

Important caveats:

  • Dwago is task-supervised: it was trained on the training splits of these task types, while Jev is a general model.
  • The vulnerable-code benchmark was built from the same source dataset (CyberNative) as one of Dwago's training sets. Near-duplicates were removed, but the distributions are close.
  • Code review is at chance on the benchmark's correctness rules, although every development measure improved. Real code reasoning is beyond this model.
  • Several sysone suites are small (30โ€“100 decisions), so their intervals are wide.

On the frozen v5 final suite (descriptive)

This is the held-out suite used once per system. It was run for v6.2 after its release decision was fixed, and it shows the cost of breadth on the core tasks.

System DBpedia SNLI MNLI-m MNLI-mm Banking77 BoolQ AG News Reserved schemas STS-B ฯ Primary macro
Dwago v6.2 98.88 83.41 73.36 73.99 89.45 66.42 91.53 88.04 0.752 81.72
Dwago v6 98.96 83.61 74.04 74.54 90.55 65.63 91.95 86.46 0.751 82.19
Dwago v5 99.09 84.21 74.37 75.59 91.46 66.61 51.47 79.35 -0.034 82.80
Dwago v1 96.98 65.55 43.67 43.35 85.55 60.64 30.21 59.86 0.447 61.57

Never-revealed primary macro: v6.2 vs v1 +20.16 pp (95% CI [+19.41, +20.92]); v6.2 vs v6 -0.47 pp ([-0.77, -0.16]). 52 results files verified against the ledger.

Latency

Batch size 1; raw JSON in, serialized JSON out; 2,500 timed requests per system on v1's request mix. This is local inference time and is not comparable to the response times of hosted APIs.

System Hardware p50 ms p95 ms Requests/s
Dwago v6.2 RTX 3070 (CUDA graphs) 1.77 2.59 533
Dwago v6 RTX 3070 (CUDA graphs) 1.76 2.47 540
Dwago v1 RTX 3070 (CUDA graphs) 4.15 7.69 212
Dwago v6.2 (ONNX int8w) i5-14400F, 6 P-cores 4.77 12.19 164
Dwago v1 i5-14400F, 6 P-cores 4.00 5.81 232

Intended use and limitations

  • Intended for research and prototyping of fast, local, structured decisions (routing, triage, tagging, moderation, intent and entailment-style checks) with human review.
  • Not validated for consequential decisions (medical, legal, financial, employment) or safety-critical use. It is not a security scanner or a code reviewer.
  • Weak spots:
    • knowledge-heavy multiple choice;
    • code review;
    • non-Latin scripts, which are weaker than Latin-script languages (MASSIVE validation: Latin scripts 70.3%, other scripts 54.1%);
    • long documents, truncated at 512 tokens.
  • Accuracy on the core v5 tasks is slightly below v5, the cost of covering many tasks in 30M parameters.
  • Calibration can degrade under distribution shift.

Reproducibility

results/ holds the pre-registrations (with every addendum), the frozen selection records, the append-only evaluation ledgers with the SHA-256 of every results file, all Jev comparisons, the development scores, the latency records and the data records. The training code is not published with this release; the pipeline is described step by step in the build write-up.

License and commercial use

  • Released under the Dwago Evaluation License (LICENSE). Copyright (c) 2026 Mohammedi Yunus. Open weights, not open source.
  • Allowed after access approval: evaluating, testing and benchmarking the model; non-commercial academic research, with credit to "Dwago by Mohammedi Yunus".
  • Not allowed without a separate written license: any commercial or production use, redistribution of the weights or of modified versions, and using Dwago or its outputs to train other models.
  • Commercial licenses (fees, royalties or revenue sharing) are available from Mohammedi Yunus: contact via the Hugging Face profile muhammediyunes.
  • Some training datasets carry their own non-commercial or research-only terms (see Training data); this license grants no rights in them.

Citation

@misc{yunus2026dwago,
  author = {Mohammedi Yunus},
  title = {Dwago: a compact structured-decision model trained from scratch},
  year = {2026}, howpublished = {\url{https://huggingface.co/muhammediyunes/dwago}}
}
Downloads last month
-
Safetensors
Model size
30.3M params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support