Laya AI Models: Checkpoints, Context & Use Cases
Compare Laya, Laya Multilingual, and Laya Typed Decisions checkpoints by encoder, parameter count, context window, language support, and best use cases.
Laya currently publishes three main checkpoints. They share the same typed-decision interface, but they are not interchangeable.
| Checkpoint | Encoder | Parameters | Default context | Best starting point |
|---|---|---|---|---|
laya | ModernBERT-large | 421M | 512 | English |
laya-multilingual | mmBERT-base | 322M | 1024 | multilingual workloads |
laya-typed-decisions | ModernBERT-large | 421M | 1024 | typed-decision benchmark-like tasks |
Source: upstream Laya repository.
laya
The default English checkpoint.
Use it as the first baseline when your input is predominantly English and your task does not specifically match the typed-decisions fine-tuning setup.
laya-multilingual
The multilingual checkpoint is based on mmBERT-base and is intended for 100+ languages.
The upstream project recommends routing non-English inputs toward this checkpoint rather than trusting the English checkpoint's confidence. Its own multilingual benchmark shows the English model can remain highly confident while being wrong on unsupported scripts.
laya-typed-decisions
This checkpoint is fine-tuned around the project's typed-decisions workflows.
It produces the strongest headline accuracy in the upstream typed-decisions benchmark, but that result should not be confused with zero-shot performance from the base model.
Checkpoint details
- laya — English checkpoint, benchmarks and limits
- laya-multilingual — 100+ languages, calibration and known biases
- laya-typed-decisions — the fine-tuned checkpoint behind the 0.766 result
Context window
How much text Laya reads in one pass depends on the checkpoint:
| Checkpoint | Default context | Reserved for question and options |
|---|---|---|
| laya | 512 tokens | 192 |
| laya-multilingual | 1,024 tokens | 256 |
| laya-typed-decisions | 1,024 tokens | 256 |
By default, predict() truncates a state that is longer than the limit. For longer text you have two options:
- Raise the limit:
agent.cfg["max_len"] = 8192, and raiseagent.cfg["head_max_len"]for long option lists. Upstream documents 8,192 tokens for laya-multilingual. Short inputs give the same answers, and speed follows the real input length, not the limit. - Scan long documents:
agent.predict_long(state, questions, window=256)reads the whole state in overlapping windows and keeps, for each question, the answer from the most decisive window. It ships inlaya0.3.21 and later (pip install -U laya). Each answer also reports which window decided it, and the probability is that window's, not a calibrated number for the whole document.
Upstream tested laya-multilingual at max_len=8192: 16 to 18 of 20 requests were answered correctly when the relevant text followed up to about 4,000 tokens of other text; beyond that, results varied (8 to 17 of 20). A 4,000-token input took about 1.7 s on an Apple GPU. Source: Laya on GitHub.
Router
The upstream Python package provides a Router that chooses between checkpoints based on the input.
from laya import Router
router = Router(preload=True)
result = router.predict(state, questions)
How to choose
- Start with the model that matches your language.
- Test the typed-decisions checkpoint when your workflow resembles its training setup.
- Evaluate on your own labeled dataset.
- Inspect calibration rather than only top-1 accuracy.
- Test large label sets separately.
See How to install Laya for a runnable start.
Last verified: September 25, 2026.