Skip to content

Releases

Amada 4.0

Choose a tag to compare

@DevLiamDb DevLiamDb released this 10 Nov 16:04

Messy real-life writing, "the text does not say" and ordered scales. Starts from the 3.1 weights: two short
fine-tunes (1 epoch each, T4 GPU), then recalibrated. Shown as "Amada 4" on the website.

  • Added: MASSIVE 1.1 (Amazon, CC BY 4.0, 60 voice-assistant intents, 12 languages) and 88milSMS (Université
    Paul-Valéry Montpellier, CC BY 4.0, real French text messages, questions written by GPT-6 Luna, half in French).
  • Added: half of the replayed data rewritten with keyboard typos, swapped letters, lost accents, SMS spelling and
    homophones, with the same answers (numbers and negations are never touched).
  • Added: answer-type questions (the TREC skill), near-identical support intents (the Banking77 skill, banking left
    out on purpose), scores written for one precise level, more long texts. TREC and Banking77 themselves stay out of training.
  • Note: after 4.0, MASSIVE scores are no longer zero-shot.
  • Added (second fine-tune): 3,731 short everyday texts in 12 languages written by GPT-6 Luna, each with yes / no
    questions whose answer is in the text or is not ("the text does not say"); 55 % of them rewritten with typos.
  • Added: an ordinal loss on score questions, so being one level off costs less than being two levels off.
  • Changed: temperatures refitted. Questions whose answer is "the text does not say" no longer pull the yes / no
    temperature (their yes / no target is 0.5).
  • Results, same inputs and code for 3.1 and 4.0 (10 November 2026):
    • "The text does not say" (yes / no / not stated, 939 held-out questions): 0.917 -> 0.963; messy writing 0.889 -> 0.954.
      These texts also helped fit the calibration: a diagnostic, not an independent test.
    • Messy writing, held-out half of the short tests: yes / no 0.953 -> 0.960 in English, 0.937 -> 0.967 in 11 languages.
    • Short tests, held-out half, English: yes / no 0.964 -> 0.966, choice 0.924 -> 0.913, score 0.752 -> 0.744
      (within one level: 0.955 -> 0.956). ECE yes / no 0.009, choice 0.016.
    • system-one-benchmark: TREC 0.390 -> 0.523, SST-2 0.900 -> 0.913, MASSIVE English 0.707 -> 0.780.
    • 11 languages (the non-English training languages): MASSIVE intents 0.428 -> 0.834 (no longer zero-shot), yes / no 0.839 -> 0.841, Belebele 0.568 -> 0.554.
    • Public datasets, zero-shot: SST-2 0.897, AG News 0.803, Banking77 0.586, emotion 0.447, tweet_topic 0.718,
      prompt injection 0.845, When2Call 0.344.
    • Speed (12 November 2026, laptop CPU, median): 41 ms for one line of text, 54 ms for a short yes / no note,
      161 ms for a reading passage, 390 ms for 60 intents. The same as 3.1.
  • Known issues: Banking77 (0.611 -> 0.586), emotion (0.471 -> 0.447) and tweet_topic (0.740 -> 0.718) are lower than
    in 3.1. Exact score level -0.8 point in English. Very long texts not improved.
  • Note: the fresh 3.1 run gives 0.650 on system-one-benchmark Banking77 instead of the 0.603 published on 8 November
    (same 300 rows, identical on CPU and GPU); the cause of the old number was not found.
  • Added (2026-11-12): amada-4.0-int4.zip, the same model with 4-bit weights (196 MB instead of 1.25 GB, needs
    onnxruntime 1.20 or newer). Same 43,799 benchmark items as 4.0, compared answer by answer: SST-2 0.890, AG News 0.793
    (-1.0), Banking77 0.574 (-1.2), emotion 0.464 (+1.7), tweet_topic 0.711, prompt injection 0.810, When2Call 0.340;
    11 languages: yes / no 0.837, Belebele 0.559, MASSIVE 0.829. Short tests: English 0.892 vs 0.896, score 0.742 vs 0.759,
    11 languages 0.983 vs 0.985; held-out ECE yes / no 0.008, choice 0.014, score 0.031. About 340 MB of RAM after loading
    instead of 1.4 GB, about the same speed. Activations stay in FP32.

Install: unzip into a Release/ folder next to play.py, then python play.py --version 4.0 (or --version 4.0-int4 for the smaller file). Keep tokenizer/ next to amada_model.onnx.

License: MIT (commercial use and modified versions allowed, keep the notice). Base model and dataset notices: NOTICE.md.

Amada 3.1

Choose a tag to compare

@DevLiamDb DevLiamDb released this 08 Nov 05:03

Short fine-tune of 3.0 to tell near-neighbour labels apart, then recalibrated.

  • Added: option lists whose distractors are the gold label's nearest labels (embedding similarity) instead of random ones.
  • Added: CLINC150, real user requests (150 intents + out-of-scope). Banking77 is still never used for training.
  • Changed: 1 epoch (3,440 steps, about 3 h on a T4 GPU), 35k replay of v3 data against forgetting.
  • Changed: temperatures refitted on v3.1 validation + half of the bake-off sets; the other half stays unseen for the report.
  • Results, public datasets (3.0 -> 3.1): Banking77 0.605 -> 0.611, AG News 0.790 -> 0.800, emotion 0.447 -> 0.471,
    tweet_topic 0.722 -> 0.740, prompt injection 0.810 -> 0.845, SST-2 0.893 -> 0.899, When2Call 0.287 -> 0.324.
  • Results, short tests: yes/no 0.961, choice 0.915, score 0.760 (-1 point), 11 languages 0.984.
    ECE yes/no 0.004, choice 0.016 (3.0.1: 0.022), score 0.032 (3.0.1: 0.021). CPU about 117 ms per text.
  • Decision models (system-one-benchmark): SST-2 0.900, TREC 0.390, Banking77 0.603, MASSIVE 0.707 English / 0.575
    other languages. Jev 1.13 and Kev-0.8B are ahead; Laya, GLiNER2.5-Decide and Von are behind outside English.
  • Known issues: the near-neighbour lists barely helped Banking77 (goal 0.75 missed). TREC is weak. Messy writing
    costs 1.2 points in English and 2.2 points in other languages.

Smaller download (added 2026-11-08): amada-3.1-int4.zip (188 MB) is the same model with 4-bit weights. Same tests, same laptop: accuracy 0.897 vs 0.899 in English, 0.983 vs 0.984 in 11 languages, choice ECE 0.017 vs 0.016, peak RAM 1.15 GB vs 3.2 GB. Needs onnxruntime 1.20 or newer. Run: python play.py --version 3.1-int4.


Install: unzip into a Release/ folder next to play.py, then python play.py --version 3.1. Keep tokenizer/ next to amada_model.onnx.

License: CC BY-NC-ND 4.0 (non-commercial, no sharing of modified versions). Base model notices: NOTICE.md.

Amada 3.0.1

Choose a tag to compare

@DevLiamDb DevLiamDb released this 08 Nov 05:01

Recalibration of 3.0. Same weights, no retraining, identical accuracy. Only the temperatures change.

  • Fixed: the 3.0 calibration was fitted on soft targets. Every temperature was above 1 and the model was
    under-confident: choice ECE went up even on its own validation set (0.032 -> 0.076).
  • Added: temperatures that depend on text length L, plus list size K for choice:
    log T = a + l·log(L/512) [+ k·log K + m·log K·log(L/512)].
  • Results (bake-off, English): ECE choice 0.169 -> 0.022, score 0.129 -> 0.021, yes/no 0.057 -> 0.010.
    11 languages: choice 0.180 -> 0.020.
  • Known issue: synthetic "many" lists with 6-20 options are calibrated worse than in 3.0 (ECE 0.050 -> 0.081).

Install: unzip into a Release/ folder next to play.py, then python play.py --version 3.0.1. Keep tokenizer/ next to amada_model.onnx.

License: CC BY-NC-ND 4.0 (non-commercial, no sharing of modified versions). Base model notices: NOTICE.md.

Amada 3.0

Choose a tag to compare

@DevLiamDb DevLiamDb released this 08 Nov 04:59

Long texts, many options, trap texts. Starts from the 2.0 weights.

  • Added: 8192-token context. Long examples that do not fit are skipped, not cut.
  • Added: 42,870 many-option examples (3 to 386 options, 384 label sets, 8 languages), 4,875 trap texts
    (12 languages), long labelled texts (QuALITY, ContractNLI, Qasper, 5,864 long texts written by GPT-6 Luna).
  • Changed: token-budget batches (16,384), gradient checkpointing, lower learning rates, 2 epochs (about 9 h on a T4 GPU).
  • Results: v3 validation 0.846 overall. Banking77 0.337 -> 0.605, AG News 0.714 -> 0.790.
  • Known issues: calibration bug (fixed in 3.0.1). QuALITY 0.44, Qasper 0.57. The second epoch only overfitted.

Install: unzip into a Release/ folder next to play.py, then python play.py --version 3.0. Keep tokenizer/ next to amada_model.onnx.

License: CC BY-NC-ND 4.0 (non-commercial, no sharing of modified versions). Base model notices: NOTICE.md.

Amada 2.0

Choose a tag to compare

@DevLiamDb DevLiamDb released this 08 Nov 04:57

New base model (mmBERT-base, chosen after a base-model bake-off), multilingual.

  • Added: p_unknown ("information not provided"), 11 languages, French and English dictations.
  • Data: 368,863 examples (GPT-6 Luna 200k, Cosmos translated about 81k, Cosmos original languages about 70k,
    dictations about 29k).
  • Results vs 1.0: 11 languages 41.8 % -> 98.7 %, yes/no 89.6 % -> 96.5 %, choice 83.2 % -> 92.4 %, CPU 381 -> 150 ms.
  • Known issues: 512 tokens max, weak on generic many-label classification (Banking77 0.337).

Install: unzip into a Release/ folder next to play.py, then python play.py --version 2.0. Keep tokenizer/ next to amada_model.onnx.

License: CC BY-NC-ND 4.0 (non-commercial, no sharing of modified versions). Base model notices: NOTICE.md.

Amada 1.0

Choose a tag to compare

@DevLiamDb DevLiamDb released this 08 Nov 04:55

First version: ModernBERT-large (395M parameters), 48k examples written by GPT-6 Luna, English only, 381 ms on CPU.

  • [Q] marker for each question, [OPT]/[LVL] + first token for each option.
  • BCE + Brier loss, temperature calibration, ONNX export for CPU.

Install: unzip into a Release/ folder next to play.py, then python play.py --version 1.0. Keep tokenizer/ next to amada_model.onnx.

License: CC BY-NC-ND 4.0 (non-commercial, no sharing of modified versions). Base model notices: NOTICE.md.