Skip to content
Laya AI

Unofficial community documentation

Laya AI - Open Source System-1 Decision Model

Laya benchmark

Official self-test tables and one Hugging Face community remeasure. This site did not run either set and does not add scores of its own.

Laya vs Jev benchmark explained

The scores disagree because they are not the same experiment. Mixing them into one ranking is what makes Laya vs Jev threads look contradictory.

  • Official self-test versus a published Jev number. The README and BENCHMARKS.md measure Laya. Jev cells are third-party published figures. The authors say they had no TypeSafe API access, so sample size and prompts differ.
  • Fine-tuned specialist versus the base checkpoint. 0.766 on typed-decisions is laya-typed-decisions. The base checkpoints in that file are 0.361 and 0.342, under the 0.461 majority-class line.
  • Two files, two AG News cells. The README routed column is 0.950. The BENCHMARKS.md headline is 0.953, which matches the typed-decisions column in the dataset table. English MASSIVE intent is 0.783 in the summary and 0.820 in the 51-language grid.
  • Brier is 0.062 on the README and the Hugging Face model card, and 0.061 in BENCHMARKS.md. The table below keeps 0.061 and names the other figure in its caption.
  • Banking77 is not one protocol. The official comparison is Jev 0.870 on 72 labels against Laya 0.425 on 77 labels at the default token budget. A community fine-tune, Cahol/laya-banking77-v1, reports 85.55% on the 3,080-example 77-label test and 45.91% for the untuned base under that same protocol. That card says this is not a claim of beating Jev.
  • Community remeasure versus the model card. Luni/laya-jev-benchmark says a model-card comparison of 83.8% with 67.8% uses two different benchmarks. On that card's own typed-decisions rerun, untuned Laya is 0.360 and a fine-tune is 0.767, next to Jev's published 0.727. The Jev row is marked published there too. Phishing on a held-out set is 0.505 raw for Laya, 0.611 after Platt scaling on half the emails, and 0.626 for the published Jev figure. Luni notes the 0.611 uses a calibration half and the 0.626 does not.

How to read these numbers

Laya figures in BENCHMARKS.md and the README are the project's own measurements. The report says every checkpoint answered byte-identical questions in each run, with a fixed seed. Reproduce from notebooks/laya_benchmark_colab.ipynb on a T4, and from the JSON files named in that report: research/results/t4_colab_benchmark.json, cpu_51_language_sweep.json, and app_benchmark.json.

Jev figures in the same files are third-party published numbers. The Laya authors say they had no TypeSafe API access, so sample sizes and prompts differ. Treat the Jev column as indicative, which is the wording in BENCHMARKS.md.

Two upstream tables do not use the same English MASSIVE number: the 51-language grid lists English laya at 0.820, and the “English vs the rest” summary lists 0.783. The README routed AG News cell is 0.950, while the BENCHMARKS.md headline AG News cell is 0.953 (the typed-decisions checkpoint in the dataset table). Both are shown under the caption of the table they came from.

Where the report says it fits

The fine-tuned laya-typed-decisions checkpoint is the one that reaches 0.766 accuracy on 2,000 typed decisions. The base checkpoints sit at 0.361 and 0.342, under the 0.461 majority-class baseline in that file. The report's own limit statement is that Laya is a fast base to specialise, not a zero-shot decision engine.

Small label sets are the published strong side: AG News has four labels. Email spam and phishing, both marked in training, are 0.993 in the themes table. Single-question T4 latency for the multilingual checkpoint is 32.8 ms. The README comparison also lists self-hosted cost as $0 against Jev's published $0.042 / 1M tokens, and Apache 2.0 weights against a closed API.

For languages, use the router. The English checkpoint collapses off English and stays confident: Khmer is 0.000 accuracy at 0.952 confidence in the per-language table. Confidence gating cannot catch that, which is why routing happens before the forward pass.

Where the report says Jev leads

Banking77 is the clear loss in the public-dataset table: Jev 0.870 on 72 labels, Laya 0.425 on 77 labels at the default token budget, and 0.492 on the typed-decisions checkpoint. The README calls this an architectural head_max_len limit and says Jev is currently better for 50+ options in one prompt without tuning.

On typed-decisions, Jev's published soft accuracy is 0.580 against Laya's 0.471, and Jev's published raw ECE is 0.144 against 0.213 before temperature fitting. Laya's 0.081 ECE is after a temperature refit. Held-out toxicity moderation is 0.530. Ordinal score is the weakest primitive in the README (SST-5 0.372 on the English task list).

README table “Laya (with routing) vs Jev”. Laya figures are what Router().predict returns. Jev figures are third-party published and were not measured in the Laya repository.
Jev 1.13.0Laya (routed)
typed-decisions, 2,000 decisions0.7270.766+0.039
AG News, 4 labels0.9100.950+0.040
DAIR Emotion, 6 labels0.4800.595+0.115
Banking77 (72 vs 77 labels)0.8700.425Jev leads on >20 options
ECE (lower better)0.2460.0813× better (post-temperature)
p50 latency, 1 question236–276 ms32.8 ms7.8× faster
Languages usableno published benchmark45 of 51
Weightsclosed APIApache 2.0
Cost$0.042 / 1M tokens$0 self-hosted
Official self-test. README “Why Route” table: 17,416 questions, one T4, identical questions per model.
Benchmark / TaskEnglish (laya)MultilingualRouter (routed)
MASSIVE intent, English0.7830.6570.783
MASSIVE intent, 13 other languages0.3060.4510.451
XNLI, English0.8600.8430.860
XNLI, 14 other languages0.5210.7310.731
Languages usable (>3× random)23 / 5145 / 5145 / 51
Latency, 1 question (T4)39.5 ms32.8 ms32.8 ms
Latency, 10 questions batched158.6 ms72.3 ms72.3 ms
Third-party independent test. Luni/laya-jev-benchmark, typed-decisions, 400 cases. Laya was remeasured. The Jev row is marked published in that card.
ModelAccuracyECEms per case
Laya, no fine-tuning0.3600.17515.9
Laya fine-tuned on this task0.7670.21216.4
Jev 1.13.0 (published)0.7270.144710
Teacher self-agreement0.735
Third-party independent test. Hugging Face dataset Luni/laya-jev-benchmark, PhishNChips, 2,000 emails, RTX 5090. Laya rows were measured there. Rows marked published are quotes, not a Jev API rerun.
ModelAccuracyECEAUROCRecallp50
Laya, raw0.5050.4410.6780.0129 ms
Laya, Platt-calibrated0.6110.6799 ms
Jev (published)0.6260.1540.6890.432239 ms
Claude Haiku 4.5 (published)0.8130.0970.8370.764687 ms
Third-party independent test. Luni/laya-jev-benchmark latency on an RTX 5090, fp16, after warmup. Cold load in that card is 14.9 s.
Questions in one passp50per question
110.7 ms10.7 ms
1042.6 ms4.3 ms
50246 ms4.9 ms
100496 ms5.0 ms
Third-party fine-tune, not a Laya vs Jev run. Cahol/laya-banking77-v1 on the official 3,080-example BANKING77 test, all 77 labels. That card says the result does not show Laya is better than Jev.
ModelAccuracyMacro F1Top-3 accuracy
Laya English base, same 77-label protocol45.91%42.90%69.42%
Cahol fine-tune85.55%85.53%96.43%
BENCHMARKS.md headline. Laya column is the upstream headline figure. Jev column is labeled there as published, not measured in that repo.
LayaJev (published)
typed-decisions (2,000 decisions)0.7660.727
AG News (4 labels)0.9530.910
DAIR Emotion (6 labels)0.6000.480
ECE after temperature fitting0.0810.246
p50 latency, 1 question (T4)32.8 ms236-276 ms
BENCHMARKS.md — speed on a Tesla T4. Bold marks the faster cell in the source.
questions per calllayalaya-multilingual
139.5 ms32.8 ms
584.5 ms40.1 ms
10158.6 ms72.3 ms
50771.3 ms337.4 ms
BENCHMARKS.md — typed-decisions, 400 cases, 2,000 decisions. Brier for laya-typed-decisions is 0.061 in this file and 0.062 in the README and the Hugging Face model card. Both are shown as published; this site does not average them.
modelaccuracysoft accBrierECEscore MAE
laya-typed-decisions0.7660.4710.0610.2130.242
laya0.3610.3320.3160.1750.694
laya-multilingual0.3420.3260.4390.2850.687
Jev 1.13.0 (published)0.7270.5800.1480.1440.391
teacher ceiling0.735
majority class0.461
random guess0.318
BENCHMARKS.md — laya-typed-decisions accuracy by workflow.
workflowlaya-typed-decisions
agent trace observability0.730
customer service0.764
invoice processing0.804
security incidents0.766
BENCHMARKS.md — MASSIVE intent, 20 options, all 51 languages (random = 0.050). Lower ECE is better.
layalaya-multilingual
macro accuracy0.22690.3661
macro ECE (lower better)0.73310.3869
languages clearing 3× random23 / 5145 / 51
BENCHMARKS.md — English vs the rest. Bold marks the higher accuracy in the source table.
tasklayalaya-multilingual
MASSIVE intent — English0.7830.657
MASSIVE intent — other languages0.3060.451
MASSIVE scenario — English0.6030.560
MASSIVE scenario — other languages0.2810.439
XNLI — English0.8600.843
XNLI — other languages0.5210.731
BENCHMARKS.md per-language MASSIVE intent (51), sorted in the source by routing gain. The English row here is 0.820 / 0.680. A separate summary table in the same file lists English MASSIVE intent as 0.783 / 0.657. Both are shown as published.
langlayalaya-multilingualΔlaya ECEmultilingual ECE
th0.0800.480+0.4000.8810.336
ko0.1100.450+0.3400.8500.329
he0.0600.400+0.3400.9110.350
ur0.0700.400+0.3300.8830.311
hi0.1000.430+0.3300.8500.321
ar0.1100.400+0.2900.8000.341
pl0.2400.510+0.2700.7130.350
el0.1300.380+0.2500.8390.383
fa0.1400.390+0.2500.8200.399
ru0.3100.540+0.2300.6680.316
tr0.1400.370+0.2300.7880.417
lv0.1000.320+0.2200.8470.480
bn0.0800.290+0.2100.8650.408
nb0.3300.530+0.2000.6480.327
vi0.0600.260+0.2000.8910.521
az0.1000.300+0.2000.8250.368
hu0.0900.290+0.2000.8570.422
is0.1100.300+0.1900.8350.469
sv0.3800.570+0.1900.5960.276
km0.0000.180+0.1800.9520.412
ml0.0700.240+0.1700.8570.414
it0.3400.500+0.1600.6470.302
fi0.1300.290+0.1600.8490.436
ms0.2700.430+0.1600.6880.392
da0.3500.500+0.1500.6260.263
id0.3600.510+0.1500.6130.305
te0.0900.220+0.1300.8580.370
sl0.2000.330+0.1300.7560.433
jv0.1600.270+0.1100.8030.506
ta0.1200.230+0.1100.8220.397
ja0.5300.640+0.1100.4600.228
hy0.0500.150+0.1000.8350.506
zh-TW0.4600.540+0.0800.5200.327
de0.4200.500+0.0800.5580.301
tl0.2900.360+0.0700.6760.374
nl0.3900.450+0.0600.5910.378
af0.2900.350+0.0600.6870.484
my0.0600.120+0.0600.8610.455
sq0.2100.260+0.0500.7550.476
sw0.1300.180+0.0500.8280.549
cy0.1200.160+0.0400.8410.591
kn0.1100.150+0.0400.8420.437
es0.5100.530+0.0200.4800.275
ka0.0900.110+0.0200.8450.528
ro0.3300.350+0.0200.6580.404
zh-CN0.6200.630+0.0100.3760.212
am0.1200.110-0.0100.8250.463
pt0.4700.450-0.0200.5120.342
mn0.1300.100-0.0300.8370.558
fr0.5900.540-0.0500.3880.277
en0.8200.680-0.1400.1790.209
BENCHMARKS.md application themes. 400 cases, three checkpoints. “held out” means the source was not in Laya's training mix.
themelayalaya-multilinguallaya-typed-decisionsdata
Email spam0.9930.9930.958in training
Phishing0.9800.9930.940in training
LLM guardrails (jailbreak)0.7080.7550.762held out
Moderation (toxicity)0.5300.5250.530held out
RAG passage relevance0.6250.6570.625in training
Support triage (10-way queue)0.5020.5220.505in training
Model routing (domain)0.6390.1230.659held out
BENCHMARKS.md — public datasets where Jev numbers exist. Jev column is published, not remeasured here.
datasetlayalaya-multilinguallaya-typed-decisionsJev (published)
AG News (4 labels)0.9500.9300.9530.910
DAIR Emotion (6 labels)0.5950.5300.6000.480
banking77 (77 labels)0.4250.4250.4920.870
BENCHMARKS.md — mean ECE as shipped, then after temperature refit. Lower is better.
as shippedtemperature refit
laya0.4660.081
laya-multilingual0.3140.106
BENCHMARKS.md — how often the answer changes when options are permuted. The same file says Jev measured 0.13 on this check.
suitelayalaya-multilingual
massive_intent.en0.1500.230
en.emotion0.0400.090
xnli.en0.0000.015