SAVRN
Search Contact SAVRN

Open-weight model · Text classification

laya-typed-decisions

by Convai Innovations convaiinnovations/laya-typed-decisions

laya-typed-decisions is an open-weight model for text classification from Convai Innovations, released under Apache License 2.0. It has 421M parameters. At 16-bit it needs about 1 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

Non-autoregressive System 1 decision model, fine-tuned on the typed-decisions workflows: agent-trace observability, customer service, invoice processing and security incidents. Part of the Laya family.

Parameters421M
Context—
Weights842.6 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve laya-typed-decisions (421M parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 0.8 GB 1.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 0.4 GB 0.5 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 0.2 GB 0.3 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 1, 2026.

laya-typed-decisions on every accelerator the SAVRN Index prices, at every precision

Model Card

By Convai Innovations, published under apache-2.0, revision 92f2b36add80.

Non-autoregressive System 1 decision model, fine-tuned on the typed-decisions workflows: agent-trace observability, customer service, invoice processing and security incidents. Part of the Laya family. 400 test cases, 2,000 decisions, measured on the official test split. +3.9 points over Jev's published 0.727, above the 0.735 teacher ceiling, with 2.4x better Brier and 1.6x better score MAE. Jev figures are third-party published, not measured here — there is no TypeSafe API access in this project, and sample sizes and prompts differ. Treat the comparison as indicative. Router will not select this checkpoint automatically unless you construct it with autotaskdetection=True — it is…

Read Convai Innovations's full model card

Non-autoregressive System 1 decision model, fine-tuned on the typed-decisions workflows: agent-trace observability, customer service, invoice processing and security incidents.

Part of the Laya family.

checkpoint encoder params context use it for
convaiinnovations/laya ModernBERT-large 421M 512 English, general
convaiinnovations/laya-multilingual mmBERT-base 322M 1024 100+ languages
convaiinnovations/laya-typed-decisions (this repo) ModernBERT-large 421M 1024 these four workflows

Benchmark

400 test cases, 2,000 decisions, measured on the official test split.

model accuracy soft acc Brier ECE score MAE
this checkpoint 0.766 0.471 0.062 0.213 0.242
TypeSafe Jev 1.13.0 (published) 0.727 0.580 0.148 0.144 0.391
teacher self-agreement ceiling 0.735
ModernBERT-base specialist (published) 0.646
per-question majority class 0.461
random guess 0.318
laya (not fine-tuned) 0.362 0.332 0.316 0.175 0.694
laya-multilingual (not fine-tuned) 0.342 0.326 0.439 0.285 0.687

+3.9 points over Jev's published 0.727, above the 0.735 teacher ceiling, with 2.4x better Brier and 1.6x better score MAE.

Jev figures are third-party published, not measured here — there is no TypeSafe API access in this project, and sample sizes and prompts differ. Treat the comparison as indicative.

By workflow

workflow accuracy
invoice processing 0.804
security incidents 0.766
customer service 0.764
agent-trace observability 0.730

By primitive

type accuracy ECE n
noul 0.857 0.192 600
choice 0.733 0.255 600
score 0.723 0.199 800

Quickstart

pip install laya
import laya

agent = laya.load("convaiinnovations/laya-typed-decisions")
result = agent.predict(state, questions)

Or route to it explicitly:

from laya import Router

router = Router()
router.predict(state, questions, model="typed-decisions")

Router will not select this checkpoint automatically unless you construct it with auto_task_detection=True — it is specialised to four synthetic workflows and should not be a silent default.

If this checkpoint is on a hot path, keep it resident rather than loading it per request:

router = Router()
router.preload(["typed-decisions"])          # or router.attach("typed-decisions", agent)

preload fetches and builds the checkpoints you name once; attach registers an Agent you already hold, so nothing is loaded twice.

Since laya 0.3.13, laya.load() builds the model without a throwaway random initialisation, so loading is about 10x faster with identical answers.

agent.predict_batch(states, questions) scores many states in shared forward passes, with answers identical to one call per state, which suits workflow triage over a queue.

If laya.load() hangs: transformers probes for TensorFlow at import, and when TF is installed its abseil runtime can deadlock model construction. Run with USE_TF=0.

Training

Fine-tuned from convaiinnovations/laya on the benchmark's 1,200-case training split (6,000 decisions) with RLCD: the policy reports a distribution, exploration adds zero-mean Gaussian noise to the logits, and the reward is a strictly proper scoring rule (log + spherical, plus ranked probability score for ordinal questions), so expected reward is maximised only by honest probabilities. Updates are REINFORCE with a group-mean baseline, alongside soft cross-entropy against the teacher's distributions.

Reproduce it: laya_finetune_typed_decisions_2xT4_kaggle.ipynb — about 4–5 hours on Kaggle's free 2xT4.

Limits

  • This is a specialist. It was fine-tuned on four specific synthetic workflows. Expect it to behave like the base laya checkpoint, or worse, on anything else.
  • Soft accuracy trails Jev (0.471 vs 0.580): its argmax is better, but its probability distributions match the teacher less well.
  • Still over-confident (ECE 0.213 vs Jev's 0.144). Its temperature_by_options was inherited from the base checkpoint and overrides the per-type temperatures fitted for this model — refit on your own held-out data before relying on the probabilities.
  • Its per-type temperatures were fitted on training data. The fine-tuning run fitted [1.0148, 1.0374, 1.0575] on a slice of the same items it had just trained on, which is why they sit so close to 1.0 (#186). The notebook now holds that slice out of training. Until this checkpoint is refit, treat its confidence as uncalibrated.
  • English only. Use laya-multilingual for other languages.
  • Keep choice questions under ~20 options. Options share a fixed 256-token head budget, so a large label space leaves few tokens per label and accuracy falls off sharply.

Links

  • Hub / family https://huggingface.co/convaiinnovations/laya
  • GitHub https://github.com/NandhaKishorM/laya · full benchmark data on the research branch
  • PyPI https://pypi.org/project/laya/
  • Benchmark dataset https://huggingface.co/datasets/LocalLLaMA/typed-decisions

Apache 2.0 · Convai Innovations

Identity and Version

Repository
convaiinnovations/laya-typed-decisions
Publisher
Convai Innovations
Task
Text classification
Modality
Text
Library
transformers
Parameters
421M parameters
Languages
en
Revision
92f2b36add8005247245e9ffdb1ffcaf75114d78
First published
2026-09-18
Last updated
2026-09-24

Files and Weights

7 files, 846.2 MB in total. The weights are 1 file totalling 842.6 MB in safetensors.

Weights1 file · 842.6 MB
Configuration2 files · 2.9 KB
Tokenizer2 files · 3.6 MB
Documentation1 file · 6.3 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
model.safetensorsWeights842.6 MB 4fa56de72383
encoder/config.jsonConfiguration2.1 KB —
rl_agent_config.jsonConfiguration847 B —
README.mdDocumentation6.3 KB —
.gitattributesRepository1.5 KB —
tokenizer/tokenizer.jsonTokenizer3.6 MB —
tokenizer/tokenizer_config.jsonTokenizer337 B —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
842.6 MB
Download from Convai Innovations

Released by Convai Innovations through its official repository on Hugging Face. Read the license.

Memory Requirements

PrecisionWeights in memory
As published842.6 MB
16-bit0.8 GB
8-bit0.4 GB
4-bit0.2 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Built on This Model

Questions About laya-typed-decisions

How much GPU memory does laya-typed-decisions need?

About 1 GB at 16-bit and 0.3 GB at 4-bit: the weights (421M parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run laya-typed-decisions on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use laya-typed-decisions commercially?

Yes. laya-typed-decisions is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Text classification

laya

Convai Innovations

Multilingual, non-autoregressive System 1 decision model. Give it a state (text, email, ticket, or JSON) and typed questions; it returns typed answers with mathematically calibrated probabilities in a single forward pass (~33 ms) across 100+ languages. Trained with reinforcement learning against strictly proper scoring rules (RLCD), so reporting honest probabilities is the only way to maximise reward. It never generates text, so there is nothing to parse and nothing to hallucinate. This repo holds all three checkpoints and is the hub for the family. The English checkpoint is at the repo root; the other two are bundled subfolders, and only the one you request is downloaded: pip install -U…

Open weights apache-2.0 421M parameters transformers

Model · Text classification

laya-kvp10k-noul

Sothiara Em

A fine-tuned Laya model (Convai Innovations, 421M, ModernBERT-large backbone) that answers one typed noul question: does a value correctly match its key label? (e.g. firstname = John → true, firstname = 1992 → false). Fine-tuned on the IBM KVP-10K dataset via the pre-parsed community mirror (OCR pre-extracted; no OCR step needed). This is the v2 (remediated) release: document-level 80/10/10 data partitioning, mixed-class frozen test set, calib-split temperature fitting, and a frozen category-stratified release gate. It supersedes the v1 release pre-remediation, historical artifact). Laya is a non-autoregressive decision model: you give it a state (text/dict) plus typed questions (choice…

Open weights apache-2.0 421M parameters laya

Model · Text classification

afm-de

Ariacompute

Laya-layout ModernBERT + MASK option head, RLCD fine-tune from convaiinnovations/laya. Checkpoint files: model.safetensors, rlagentconfig.json, tokenizer/, encoder/. Load with AFM-D: python -m afmd.de.eval --checkpoint --device cuda. See AFM-D / product docs. License follows the base Laya / ModernBERT stack.

Open weights 421M parameters transformers

Model · Text classification

openjevx

Muthukumaran Navaneethakrishnan

OpenJevX is an open-weight, non-autoregressive System One decision model specialized from Laya, which uses answerdotai/ModernBERT-large plus a dynamic typed-decision head. It accepts runtime-defined choice, score, and noul questions and returns calibrated probabilities in one forward pass. It is compatible with the TypeSafe Jev /v1/systemone request shape through the OpenJevX server. - CUDA p50 latency per five-question case: 22.8 ms The benchmark uses the untouched 400-case, 2,000-decision test split from LocalLLaMA/typed-decisions. Training uses only its 1,200-case train split. OpenJevX is a derivative of Laya by ConvAI Innovations and ModernBERT by Answer.AI and LightOn. Laya and…

Open weights apache-2.0 421M parameters laya

Model · Text classification

DEBATE-kor-large

Jong Rock Jeong

DEBATE-kor-large is a Korean-adapted Political DEBATE model for binary natural language inference (NLI) on political text. The model is initialized from mlburnham/PoliticalDEBATEDeBERTalargev1.1, the original DeBERTa-based Political DEBATE checkpoint, and subsequently fine-tuned on jongrock17/PolNLI-kor, a Korean translation and adaptation of PolNLI. Political DEBATE DeBERTa-large → PolNLI-kor → DEBATE-kor-large Unlike the PolNLI-kor-RoBERTa model family, which starts from Korean-pretrained KLUE-RoBERTa encoders, DEBATE-kor directly adapts the original Political DEBATE checkpoint to Korean political NLI. DEBATE-kor formulates NLI as a binary classification problem. notentailment combines…

Open weights 435M parameters 512 tokens transformers

Model · Text classification

deberta_MP_dynamic

Oriane Peter

This model is a fine-tuned version of microsoft/deberta-v3-large on an unknown dataset. It achieves the following results on the evaluation set: The following hyperparameters were used during training: - learningrate: 3e-05 - trainbatchsize: 16 - evalbatchsize: 16 - gradientaccumulationsteps: 2 - totaltrainbatchsize: 32 - lrschedulertype: cosine - lrschedulerwarmupsteps: 0.1 - numepochs: 1000 - Transformers 5.12.1 - Pytorch 2.11.0+cu128 - Datasets 5.0.1 - Tokenizers 0.22.2

Open weights mit 435M parameters 512 tokens transformers