Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text classification

laya-onnx

by weXare wexare/laya-onnx

laya-onnx is an open-weight model for text classification from weXare, released under Apache License 2.0. Its published files total 903.8 MB.

An unofficial ONNX export of convaiinnovations/laya, the open-source "System One" decision model by Convai Innovations, made to run client-side with ONNX Runtime Web on WebGPU or WebAssembly.

Parameters—
Context—
Weights900.2 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By weXare, published under apache-2.0, revision 10e687edc097.

An unofficial ONNX export of convaiinnovations/laya, the open-source "System One" decision model by Convai Innovations, made to run client-side with ONNX Runtime Web on WebGPU or WebAssembly. Laya takes a state and typed questions and scores every option in one forward pass. It returns calibrated probabilities, not generated text. This is the default model of @wexare/laya-web (source), which loads it automatically: sha256 of layafp16.onnx: b2125c7a1044e78807ee718ff4e65c9892b6b55aeeeee64f31fffffd76871b0a Batch, sequence and option count are all dynamic. Masked option slots return -1e4. Turning logits into answers (per-option-count temperature, softmax, confidence) follows the reference laya…

Read weXare's full model card

Laya · ONNX (fp16) for the browser

An unofficial ONNX export of convaiinnovations/laya, the open-source "System One" decision model by Convai Innovations, made to run client-side with ONNX Runtime Web on WebGPU or WebAssembly. Laya takes a state and typed questions and scores every option in one forward pass. It returns calibrated probabilities, not generated text.

This is the default model of @wexare/laya-web (source), which loads it automatically:

import { LayaWorkerClient } from "@wexare/laya-web";

Files

File What it is
laya_fp16.onnx The model: one self-contained file, 900,153,849 bytes, opset 18
tokenizer/tokenizer.json, tokenizer/tokenizer_config.json The checkpoint's ModernBERT tokenizer, mirrored unchanged
rl_agent_config.json Calibration temperatures and length limits, mirrored unchanged
export.json Export metadata, including the model's sha256

sha256 of laya_fp16.onnx: b2125c7a1044e78807ee718ff4e65c9892b6b55aeeeee64f31fffffd76871b0a

Graph

inputs   input_ids [B,L] int64, attention_mask [B,L] int64,
         marker_pos [B,K] int64, marker_mask [B,K] bool, qtype [B] int64
outputs  logits [B,K] float32, act_logits [B,2] float32

Batch, sequence and option count are all dynamic. Masked option slots return -1e4. Turning logits into answers (per-option-count temperature, softmax, confidence) follows the reference laya package and is done by the library, not the graph.

Precision

Mixed precision, set up in PyTorch before export:

  • The ModernBERT-large encoder (about 95% of the weights) is in fp16, with every LayerNorm computing in fp32.
  • The decision head (2 transformer layers, option scorer, act head) stays in fp32.
  • Inputs and outputs are the types listed above; no fp16 tensors cross the graph boundary.

Verification

Against the reference laya 0.3.3 package, on 9 fixture cases covering single and multi-question batches, 2 to 14 options, a 600-token truncated state, structured and non-ASCII inputs:

  • fp32 export vs PyTorch: identical decisions, maximum probability difference 0.00000.
  • This fp16 file vs PyTorch fp32 (ONNX Runtime 1.30, CPU): identical decisions, maximum probability difference 0.00068.
  • Through @wexare/laya-web on onnxruntime-web 1.30 (WASM): 9/9 end-to-end parity tests pass: same chosen option and same yes/no verdict, with probabilities within 0.02 of the Python model.

Reproduce

git clone https://github.com/wexare-ai/browser-laya && cd browser-laya
uv venv -p 3.12 tools/.venv
uv pip install -p tools/.venv/bin/python laya onnx onnxscript onnxruntime
tools/.venv/bin/python tools/export_onnx.py

The script exports with torch.onnx.export (dynamo=True), checks each stage against PyTorch, and stops if a decision changes.

License and attribution

Apache 2.0, the licence of the original weights; see LICENSE.

  • Model, weights, tokenizer and calibration: Convai Innovations, convaiinnovations/laya.
  • Changes in this repository: converted from PyTorch safetensors to ONNX, with the encoder cast to fp16 as described above. The tokenizer and configuration files are unchanged copies.

weXare is not affiliated with Convai Innovations, and this export is not endorsed by them. "Laya" refers to Convai Innovations' model. Questions about the model itself belong with them; issues with this export go to wexare-ai/browser-laya.

Identity and Version

Repository
wexare/laya-onnx
Publisher
weXare
Task
Text classification
Modality
Text
Library
onnx
Parameters
Not stated by the source
Languages
en
Revision
10e687edc097e14f42d7a0e46e841f41add29c9e
First published
2026-10-06
Last updated
2026-10-06

Files and Weights

8 files, 903.8 MB in total. The weights are 1 file totalling 900.2 MB in onnx.

Weights1 file · 900.2 MB
Configuration2 files · 1.0 KB
Tokenizer2 files · 3.6 MB
Documentation2 files · 14.1 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
laya_fp16.onnxWeights900.2 MB b2125c7a1044
export.jsonConfiguration261 B —
rl_agent_config.jsonConfiguration745 B —
LICENSEDocumentation10.2 KB —
README.mdDocumentation3.9 KB —
.gitattributesRepository1.5 KB —
tokenizer/tokenizer.jsonTokenizer3.6 MB —
tokenizer/tokenizer_config.jsonTokenizer308 B —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
900.2 MB
Download from weXare

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

Built From

Memory Requirements

PrecisionWeights in memory
As published900.2 MB

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

Questions About laya-onnx

Can I use laya-onnx commercially?

Yes. laya-onnx 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

twitter-roberta-base-sentiment-latest

Cardiff NLP

This is a RoBERTa-base model trained on ~124M tweets from January 2018 to December 2021, and finetuned for sentiment analysis with the TweetEval benchmark. The original Twitter-based RoBERTa model can be found here and the original reference paper is TweetEval. This model is suitable for English. 0 -> Negative; 1 -> Neutral; 2 -> Positive This sentiment analysis model has been integrated into TweetNLP. You can access the demo here.

Open weights cc-by-4.0 514 tokens transformers

Model · Text classification

finbert-tone

Yi

FinBERT is a BERT model pre-trained on financial communication text. The purpose is to enhance financial NLP research and practice. It is trained on the following three financial communication corpus. The total corpora size is 4.9B tokens. More technical details on FinBERT: Click Link This released finbert-tone model is the FinBERT model fine-tuned on 10,000 manually annotated (positive, negative, neutral) sentences from analyst reports. This model achieves superior performance on financial tone analysis task. If you are simply interested in using FinBERT for financial tone analysis, give it a try. If you use the model in your academic work, please cite the following paper: Huang, Allen H.…

Open weights 512 tokens transformers

Model · Text classification

ms-marco-MiniLM-L-6-v2

Joshua

https://huggingface.co/cross-encoder/ms-marco-MiniLM-L-6-v2 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights 512 tokens transformers.js

Model · Text classification

twitter-xlm-roberta-base-sentiment

Cardiff NLP

This is a multilingual XLM-roBERTa-base model trained on ~198M tweets and finetuned for sentiment analysis. The sentiment fine-tuning was done on 8 languages (Ar, En, Fr, De, Hi, It, Sp, Pt) but it can be used for more languages (see paper for details). This model has been integrated into the TweetNLP library.

Open weights 514 tokens transformers

Model · Text classification

unbiased-toxic-roberta

Unitary

The huggingface models currently give different results to the detoxify library (see issue here). For the most up to date models we recommend using the models from https://github.com/unitaryai/detoxify Trained models & code to predict toxic comments on 3 Jigsaw challenges: Toxic comment classification, Unintended Bias in Toxic comments, Multilingual toxic comment classification. Built by Laura Hanu at Unitary, where we are working to stop harmful content online by interpreting visual content in context. Score not directly comparable since it is obtained on the validation set provided and not on the test set. To update when the test labels are made available. It is also noteworthy to mention…

Open weights apache-2.0 514 tokens transformers

Model · Text classification

emotion-english-distilroberta-base

Hartmann

With this model, you can classify emotions in English text data. The model was trained on 6 diverse datasets (see Appendix below) and predicts Ekman's 6 basic emotions, plus a neutral class: 1) anger 2) disgust 3) fear 4) joy 5) neutral 6) sadness 7) surprise The model is a fine-tuned checkpoint of DistilRoBERTa-base. For a 'non-distilled' emotion model, please refer to the model card of the RoBERTa-large version. a) Run emotion model with 3 lines of code on single text example using Hugging Face's pipeline command on Google Colab: b) Run emotion model on multiple examples and full datasets (e.g.,.csv files) on Google Colab: Please reach out to [email protected] if you have any…

Open weights 514 tokens transformers