Amada

▶ PLAYTAPE 0504:00:00

Benchmark

every number, the good ones and the bad ones.

Amada 1.0 → 3.1 · 6 decision models comparedLast updated 7 November 2026Current release: Amada 3.18 min read

In short

  • Amada 3.1 answers yes/no questions right 96 % of the time and picks the right option 92 % of the time on our English tests, 98 % in 11 other languages.
  • Its probabilities can be trusted: calibration error is under 0.02 for yes/no and choice (0.17 in 3.0).
  • On non-English MASSIVE it beats Laya, GLiNER2.5 and Von; only Jev (closed) and Kev do better.
  • It is weak on TREC (0.39), Banking77 (0.60), ordinal scores (76 %) and very long texts. All four are named below, with the numbers.
  • Amada has never been trained on TREC, Banking77, SST-2, AG News or the test sets used here. Every public score on this page is zero-shot.
0.961yes / no accuracyEnglish · 3.1
0.98411 languagesall question types · 3.1
0.004yes / no ECElower is better · 3.1
117 msper text, CPU4 threads, ONNX · 3.1
01

How we measure

Amada does not write text. It reads a text and a question, and returns probabilities: yes / no / "the text does not say" (noul), one option among a list (choice), or a level on a scale (score). So two things are measured:

  • Accuracy: how often the most likely answer is the right one.
  • Calibration (ECE): when Amada says 80 %, is it right 80 % of the time? Expected calibration error over 10 bins. 0 is perfect.

The test sets

NameWhat it isSizeSeen in training?
Short tests, EnglishReal reviews, support messages, notes and dictations, with questions written and answered by GPT‑6 Luna2,000 textsNo (held out since v1)
Short tests, 11 languagesPersonal notes in Arabic, Chinese, Dutch, French, German, Italian, Japanese, Polish, Portuguese, Spanish, Turkish1,320 textsNo
Public datasetsSST‑2, AG News, Banking77, emotion, tweet_topic, prompt injection, When2Call13,413 textsNo, never
system-one-benchmarkPublic comparison of decision models: SST‑2, TREC, Banking77, MASSIVE in 8 languages2,100 textsNo, never
Messy writingThe same short tests rewritten with typos, SMS spelling and lost accents, plus 20 hand-written trap messages3,340 textsNo
Honest noteThe short tests use answers from a strong AI (GPT‑6 Luna), not from human annotators. They measure how close Amada is to that teacher. The public datasets use human labels.
02

Version by version

Same tests for every version, run on the same computer. 3.0.1 is 3.0 with new temperatures only, so its accuracy is identical; 3.1 is a short fine-tune of 3.0.

VersionBase modelYes / noChoiceScoreEnglish, all11 languagesMax length
1.0ModernBERT-large0.8960.8320.7620.8420.418512
2.0mmBERT-base0.9650.9240.7610.9040.987512
3.0mmBERT-base0.9590.9160.7700.9010.9858,192
3.0.1= 3.0, recalibrated0.9590.9160.7700.9010.9858,192
3.1 currentmmBERT-base0.9610.9150.7600.8990.9848,192

All question types, accuracy

English short tests
1.0
0.842 2.0
0.904 3.0 / 3.0.1
0.901 3.1
0.899
11 languages
1.0
0.418 2.0
0.987 3.0 / 3.0.1
0.985 3.1
0.984

On these short tests, nothing has really moved since 2.0: differences of 0.1 to 0.5 points are within noise. Versions 3.0 and 3.1 were made for other things: long texts, long option lists, trap texts and near-identical labels. Those gains show in the public datasets (section 04), not here.

03

Calibration

This is where Amada changed the most. A model that says "95 %" and is wrong one time in four is dangerous to automate with. Since 3.0.1, temperatures depend on the length of the text and on the number of options.

ECE (lower is better)1.02.03.03.0.13.1
Yes / no, English0.0450.0530.0570.0100.004
Choice, English0.1060.1280.1690.0220.016
Score, English0.1280.1130.1290.0210.032
Yes / no, 11 languages0.1700.0570.0600.0010.002
Choice, 11 languages0.0420.1220.1800.0200.016

Choice ECE, English

1.0
0.106 2.0
0.128 3.0
0.169 3.0.1
0.022 3.1
0.016

Scale: full bar = 0.20.

Trade-off3.1 is a little worse than 3.0.1 on scores (0.032 vs 0.021) and on hard synthetic lists of 6 to 20 options (0.049 vs 0.044). Better choice calibration everywhere else was worth it.
04

Public datasets vs Jev

Seven public datasets with human labels, full test splits, zero-shot: Amada only gets the question and the names of the options. The Jev column is the score TypeSafe published for its closed model Jev 1.14; we did not run Jev ourselves.

DatasetTaskTexts2.03.0 / 3.0.13.1Jev 1.14 closed
SST‑2Movie review sentiment, 2 labels8720.9060.8930.8990.954
AG NewsNews topic, 4 labels2,0000.7140.7900.8000.843
Banking77Bank support intent, 77 labels3,0800.3370.6050.6110.800
emotionEmotion of a tweet, 6 labels2,0000.3690.4470.4710.587
tweet_topicTopic of a tweet1,6930.7070.7220.7400.793
Prompt injectionIs this text an attack on an AI?1160.7590.8100.8450.965
When2CallShould an AI agent call a tool?3,6520.3350.2870.324—

Amada 3.1 as a share of Jev's score

SST‑2
94 % AG News
95 % tweet_topic
93 % Prompt injection
88 % emotion
80 % Banking77
76 %

From 2.0 to 3.1, Banking77 went from 0.337 to 0.611 and emotion from 0.369 to 0.471, thanks to long option lists (3.0) and near-neighbour labels (3.1). Jev is still ahead on every dataset. Amada runs on a laptop CPU; Jev is a hosted service.

05

Against other decision models

The system-one-benchmark (MIT) gives the same 300 examples per dataset and the same questions to every decision model. We ran Amada 3.1 on exactly the same rows and scored it with the same code. Numbers for the other models come from that repository.

ModelWeightsSST‑2TRECBanking77MASSIVE enMASSIVE, 7 other langs
Jev 1.13closed, API0.9630.9270.8130.9130.872
Kev‑0.8B †open, Apache‑2.00.9200.953 †0.823 †0.7600.656
Amada 3.1this project0.9000.3900.6030.7070.575
Laya (multilingual)open, Apache‑2.00.8570.8600.3670.6530.544
Laya (English)open, Apache‑2.00.9200.7730.3630.6870.307
GLiNER2.5‑Decidenot stated0.8570.4170.5670.7730.488
Von 1.2not stated0.9400.6630.7930.7270.168

† Kev's model card lists Banking77 and TREC among its training data: its scores on those two are not zero-shot. Laya, GLiNER2.5 and Von do not publish their training data; nothing in their numbers suggests they saw these tests. 300 examples per dataset: differences under ~5 points are within the margin of error.

Calibration (ECE)SST‑2TRECBanking77
Jev 1.130.0200.0200.083
Kev‑0.8B †0.0320.0300.128
Amada 3.10.0810.2860.181
Laya (English)0.0150.0490.506
GLiNER2.5‑Decide0.0590.1460.246
Von 1.20.0750.2100.170
What this saysOutside English, Amada is the second open model after Kev, and the only model in this table whose training data is fully known and contains none of these tests. On TREC it is close to the bottom: it answers about the topic of a question ("What is the capital of Mongolia?" → definition) instead of the kind of answer it expects (a place). That is a skill it was never taught.
06

Languages

Amada 3.1 on the short tests, all question types, per language. Training covered these 12 languages; Korean and Hindi (MASSIVE, section 05) were never in training and still reach 0.50 and 0.53.

Accuracy per language · clean text vs messy text

Dutch
1.000 Italian
0.992 Spanish
0.990 Arabic
0.988 Turkish
0.988 French
0.988 Chinese
0.987 German
0.986 Polish
0.980 Portuguese
0.979 Japanese
0.950
07

Messy writing

Real messages are not clean: "jpeu pa venir demin jsui malade". We rewrote the same tests with keyboard typos (AZERTY, QWERTZ, QWERTY), swapped letters, lost accents, SMS spelling and homophones, without ever touching numbers or negations. Same questions, same answers.

Amada 3.1CleanMessyLost
English, all types0.8990.887−1.2 pts
11 languages, all types0.9840.963−2.2 pts
German0.9860.932−5.4 pts
Dutch1.0000.962−3.8 pts
Yes / no ECE, 11 languages0.0020.028too sure of itself
MASSIVE, 60 voice intents, 12 languages0.6320.590−4.2 pts

On 20 hand-written trap messages, Amada 3.1 gets 17 right, 3 of them with little confidence. It misses, for example, "mé parents von au ciné ce soir mai moi jreste a la maison" → "Is the person going to the cinema?" (it says yes, 68 %), and the famous "Léa mange 4 gateau au fraise" → "léa mange t'elle des gateau ?" (yes, but only 70 %). This is the main target of Amada 4.

08

Where Amada is weak

Weak spotScoreWhyPlan for 4.0
Kind of answer a question expects (TREC)0.390Answers the topic, not the answer type~6,000 new questions labelled by the kind of answer they ask for, 12 languages (never TREC itself)
Near-identical intents (Banking77)0.611"Card not arrived" vs "card delayed" vs "card lost"~200 support label sets built from near-identical intents, banking left out on purpose
Ordinal scores0.760Old score data was labelled after the fact, 38 % on the lowest levelTexts written for one precise level of a scale, or exactly between two levels
Very long texts (QuALITY, 4 options)0.44The answer is in one passage of a 5,000-word storyNew questions on ~1,500 more long public texts
Emotion of a tweet0.471Six emotions, often mixed in one short tweet—
When to call a tool (When2Call)0.324Agent-specific task, almost absent from training—
09

Speed

Average time per text on a Windows laptop CPU, 4 threads, ONNX Runtime, on the short tests (several questions per text).

Milliseconds per text (lower is better)

1.0
381 2.0
150 3.0
155 3.0.1
136 3.1
117

Scale: full bar = 400 ms. Time grows with the number of options: one SST‑2 sentence takes 42 ms, a Banking77 message with all 77 intents 723 ms.

Not comparableThe other models in section 05 were timed on an Apple M5 Pro GPU, and Jev over the internet. Their speed numbers are not shown next to ours on purpose.
10

What comes next

Amada 4 is being prepared: messy writing (MASSIVE 1.1 and 88milSMS, both CC BY 4.0, plus half of the old data rewritten with typos), and the four weak spots of section 08. Starting point: the 3.1 weights.

Heads-upAmada 4 learns from MASSIVE's training split. Its MASSIVE scores will therefore no longer be zero-shot, and this page will say so next to them. TREC, Banking77 and every other test here stay out of training.
11

Reproduce it

NumbersScriptWhere it ran
Short tests, calibration, speedkaggle_bakeoff/eval_v1_onnx.py --v31Windows laptop, CPU
Public datasetskaggle_jevbench_v31/jevbench_amada.pyKaggle, T4 GPU
Decision modelsbench_rivals/amada_sob.pyWindows laptop, CPU
Messy writingdata/build_noisy_test.py then eval_v1_onnx.py --v31 --noisyWindows laptop, CPU

Questions or a number that looks wrong: liamdb.work@gmail.com.

← back to the dream