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).
| Jev 1.13.0 | Laya (routed) | ||
|---|---|---|---|
| typed-decisions, 2,000 decisions | 0.727 | 0.766 | +0.039 |
| AG News, 4 labels | 0.910 | 0.950 | +0.040 |
| DAIR Emotion, 6 labels | 0.480 | 0.595 | +0.115 |
| Banking77 (72 vs 77 labels) | 0.870 | 0.425 | Jev leads on >20 options |
| ECE (lower better) | 0.246 | 0.081 | 3× better (post-temperature) |
| p50 latency, 1 question | 236–276 ms | 32.8 ms | 7.8× faster |
| Languages usable | no published benchmark | 45 of 51 | — |
| Weights | closed API | Apache 2.0 | — |
| Cost | $0.042 / 1M tokens | $0 self-hosted | — |
| Benchmark / Task | English (laya) | Multilingual | Router (routed) |
|---|---|---|---|
| MASSIVE intent, English | 0.783 | 0.657 | 0.783 |
| MASSIVE intent, 13 other languages | 0.306 | 0.451 | 0.451 |
| XNLI, English | 0.860 | 0.843 | 0.860 |
| XNLI, 14 other languages | 0.521 | 0.731 | 0.731 |
| Languages usable (>3× random) | 23 / 51 | 45 / 51 | 45 / 51 |
| Latency, 1 question (T4) | 39.5 ms | 32.8 ms | 32.8 ms |
| Latency, 10 questions batched | 158.6 ms | 72.3 ms | 72.3 ms |
| Model | Accuracy | ECE | ms per case |
|---|---|---|---|
| Laya, no fine-tuning | 0.360 | 0.175 | 15.9 |
| Laya fine-tuned on this task | 0.767 | 0.212 | 16.4 |
| Jev 1.13.0 (published) | 0.727 | 0.144 | 710 |
| Teacher self-agreement | 0.735 | — | — |
| Model | Accuracy | ECE | AUROC | Recall | p50 |
|---|---|---|---|---|---|
| Laya, raw | 0.505 | 0.441 | 0.678 | 0.012 | 9 ms |
| Laya, Platt-calibrated | 0.611 | — | 0.679 | — | 9 ms |
| Jev (published) | 0.626 | 0.154 | 0.689 | 0.432 | 239 ms |
| Claude Haiku 4.5 (published) | 0.813 | 0.097 | 0.837 | 0.764 | 687 ms |
| Questions in one pass | p50 | per question |
|---|---|---|
| 1 | 10.7 ms | 10.7 ms |
| 10 | 42.6 ms | 4.3 ms |
| 50 | 246 ms | 4.9 ms |
| 100 | 496 ms | 5.0 ms |
| Model | Accuracy | Macro F1 | Top-3 accuracy |
|---|---|---|---|
| Laya English base, same 77-label protocol | 45.91% | 42.90% | 69.42% |
| Cahol fine-tune | 85.55% | 85.53% | 96.43% |
| Laya | Jev (published) | |
|---|---|---|
| typed-decisions (2,000 decisions) | 0.766 | 0.727 |
| AG News (4 labels) | 0.953 | 0.910 |
| DAIR Emotion (6 labels) | 0.600 | 0.480 |
| ECE after temperature fitting | 0.081 | 0.246 |
| p50 latency, 1 question (T4) | 32.8 ms | 236-276 ms |
| questions per call | laya | laya-multilingual |
|---|---|---|
| 1 | 39.5 ms | 32.8 ms |
| 5 | 84.5 ms | 40.1 ms |
| 10 | 158.6 ms | 72.3 ms |
| 50 | 771.3 ms | 337.4 ms |
| model | accuracy | soft acc | Brier | ECE | score MAE |
|---|---|---|---|---|---|
| laya-typed-decisions | 0.766 | 0.471 | 0.061 | 0.213 | 0.242 |
| laya | 0.361 | 0.332 | 0.316 | 0.175 | 0.694 |
| laya-multilingual | 0.342 | 0.326 | 0.439 | 0.285 | 0.687 |
| Jev 1.13.0 (published) | 0.727 | 0.580 | 0.148 | 0.144 | 0.391 |
| teacher ceiling | 0.735 | — | — | — | — |
| majority class | 0.461 | — | — | — | — |
| random guess | 0.318 | — | — | — | — |
| workflow | laya-typed-decisions |
|---|---|
| agent trace observability | 0.730 |
| customer service | 0.764 |
| invoice processing | 0.804 |
| security incidents | 0.766 |
| laya | laya-multilingual | |
|---|---|---|
| macro accuracy | 0.2269 | 0.3661 |
| macro ECE (lower better) | 0.7331 | 0.3869 |
| languages clearing 3× random | 23 / 51 | 45 / 51 |
| task | laya | laya-multilingual |
|---|---|---|
| MASSIVE intent — English | 0.783 | 0.657 |
| MASSIVE intent — other languages | 0.306 | 0.451 |
| MASSIVE scenario — English | 0.603 | 0.560 |
| MASSIVE scenario — other languages | 0.281 | 0.439 |
| XNLI — English | 0.860 | 0.843 |
| XNLI — other languages | 0.521 | 0.731 |
| lang | laya | laya-multilingual | Δ | laya ECE | multilingual ECE |
|---|---|---|---|---|---|
| th | 0.080 | 0.480 | +0.400 | 0.881 | 0.336 |
| ko | 0.110 | 0.450 | +0.340 | 0.850 | 0.329 |
| he | 0.060 | 0.400 | +0.340 | 0.911 | 0.350 |
| ur | 0.070 | 0.400 | +0.330 | 0.883 | 0.311 |
| hi | 0.100 | 0.430 | +0.330 | 0.850 | 0.321 |
| ar | 0.110 | 0.400 | +0.290 | 0.800 | 0.341 |
| pl | 0.240 | 0.510 | +0.270 | 0.713 | 0.350 |
| el | 0.130 | 0.380 | +0.250 | 0.839 | 0.383 |
| fa | 0.140 | 0.390 | +0.250 | 0.820 | 0.399 |
| ru | 0.310 | 0.540 | +0.230 | 0.668 | 0.316 |
| tr | 0.140 | 0.370 | +0.230 | 0.788 | 0.417 |
| lv | 0.100 | 0.320 | +0.220 | 0.847 | 0.480 |
| bn | 0.080 | 0.290 | +0.210 | 0.865 | 0.408 |
| nb | 0.330 | 0.530 | +0.200 | 0.648 | 0.327 |
| vi | 0.060 | 0.260 | +0.200 | 0.891 | 0.521 |
| az | 0.100 | 0.300 | +0.200 | 0.825 | 0.368 |
| hu | 0.090 | 0.290 | +0.200 | 0.857 | 0.422 |
| is | 0.110 | 0.300 | +0.190 | 0.835 | 0.469 |
| sv | 0.380 | 0.570 | +0.190 | 0.596 | 0.276 |
| km | 0.000 | 0.180 | +0.180 | 0.952 | 0.412 |
| ml | 0.070 | 0.240 | +0.170 | 0.857 | 0.414 |
| it | 0.340 | 0.500 | +0.160 | 0.647 | 0.302 |
| fi | 0.130 | 0.290 | +0.160 | 0.849 | 0.436 |
| ms | 0.270 | 0.430 | +0.160 | 0.688 | 0.392 |
| da | 0.350 | 0.500 | +0.150 | 0.626 | 0.263 |
| id | 0.360 | 0.510 | +0.150 | 0.613 | 0.305 |
| te | 0.090 | 0.220 | +0.130 | 0.858 | 0.370 |
| sl | 0.200 | 0.330 | +0.130 | 0.756 | 0.433 |
| jv | 0.160 | 0.270 | +0.110 | 0.803 | 0.506 |
| ta | 0.120 | 0.230 | +0.110 | 0.822 | 0.397 |
| ja | 0.530 | 0.640 | +0.110 | 0.460 | 0.228 |
| hy | 0.050 | 0.150 | +0.100 | 0.835 | 0.506 |
| zh-TW | 0.460 | 0.540 | +0.080 | 0.520 | 0.327 |
| de | 0.420 | 0.500 | +0.080 | 0.558 | 0.301 |
| tl | 0.290 | 0.360 | +0.070 | 0.676 | 0.374 |
| nl | 0.390 | 0.450 | +0.060 | 0.591 | 0.378 |
| af | 0.290 | 0.350 | +0.060 | 0.687 | 0.484 |
| my | 0.060 | 0.120 | +0.060 | 0.861 | 0.455 |
| sq | 0.210 | 0.260 | +0.050 | 0.755 | 0.476 |
| sw | 0.130 | 0.180 | +0.050 | 0.828 | 0.549 |
| cy | 0.120 | 0.160 | +0.040 | 0.841 | 0.591 |
| kn | 0.110 | 0.150 | +0.040 | 0.842 | 0.437 |
| es | 0.510 | 0.530 | +0.020 | 0.480 | 0.275 |
| ka | 0.090 | 0.110 | +0.020 | 0.845 | 0.528 |
| ro | 0.330 | 0.350 | +0.020 | 0.658 | 0.404 |
| zh-CN | 0.620 | 0.630 | +0.010 | 0.376 | 0.212 |
| am | 0.120 | 0.110 | -0.010 | 0.825 | 0.463 |
| pt | 0.470 | 0.450 | -0.020 | 0.512 | 0.342 |
| mn | 0.130 | 0.100 | -0.030 | 0.837 | 0.558 |
| fr | 0.590 | 0.540 | -0.050 | 0.388 | 0.277 |
| en | 0.820 | 0.680 | -0.140 | 0.179 | 0.209 |
| theme | laya | laya-multilingual | laya-typed-decisions | data |
|---|---|---|---|---|
| Email spam | 0.993 | 0.993 | 0.958 | in training |
| Phishing | 0.980 | 0.993 | 0.940 | in training |
| LLM guardrails (jailbreak) | 0.708 | 0.755 | 0.762 | held out |
| Moderation (toxicity) | 0.530 | 0.525 | 0.530 | held out |
| RAG passage relevance | 0.625 | 0.657 | 0.625 | in training |
| Support triage (10-way queue) | 0.502 | 0.522 | 0.505 | in training |
| Model routing (domain) | 0.639 | 0.123 | 0.659 | held out |
| dataset | laya | laya-multilingual | laya-typed-decisions | Jev (published) |
|---|---|---|---|---|
| AG News (4 labels) | 0.950 | 0.930 | 0.953 | 0.910 |
| DAIR Emotion (6 labels) | 0.595 | 0.530 | 0.600 | 0.480 |
| banking77 (77 labels) | 0.425 | 0.425 | 0.492 | 0.870 |
| as shipped | temperature refit | |
|---|---|---|
| laya | 0.466 | 0.081 |
| laya-multilingual | 0.314 | 0.106 |
| suite | laya | laya-multilingual |
|---|---|---|
| massive_intent.en | 0.150 | 0.230 |
| en.emotion | 0.040 | 0.090 |
| xnli.en | 0.000 | 0.015 |