convaiinnovations/laya-multilingual — new model trending #30 on Hugging Face
ConvAI published Laya Multilingual, a 322M non-autoregressive model answering typed questions across 100-plus languages.
Laya Multilingual is a 322-million-parameter non-autoregressive decision model from convaiinnovations, built on mmBERT-base with a 1024-token context. It takes a state plus typed questions and returns scored answers in one forward pass, intended for 100-plus languages rather than English. On MASSIVE intent classification it reaches 0.366 macro accuracy versus 0.227 for the English Laya checkpoint, and batched inference is faster. The authors say probabilities ship uncalibrated and English results are weaker than the English-only checkpoint.
- 322M params on mmBERT-base with 1024-token context
- MASSIVE macro accuracy 0.366 versus 0.227 for English Laya
- XNLI non-English average 0.731 versus 0.521
- Ships over-confident; authors recommend temperature calibration
- Router in laya 0.3.7 keeps both checkpoints resident
Full article1,041 words · extracted from huggingface.co · click to collapse
<p align="center">
<img src="https://huggingface.co/convaiinnovations/laya/resolve/main/assets/logo-mark.png" alt="" width="72" />
</p>
# Laya Multilingual
Non-autoregressive **System 1 decision model** covering 100+ languages. Give it a **state**
(text, email, ticket, or JSON) and **typed questions**; it returns typed answers with
probabilities in a single forward pass. No text generation, so nothing to parse and nothing to
hallucinate.
Part of the [Laya family](https://huggingface.co/convaiinnovations/laya) — **use this checkpoint
for anything that is not English.**
| checkpoint | encoder | params | context | use it for |
|---|---|---|---|---|
| [`convaiinnovations/laya`](https://huggingface.co/convaiinnovations/laya) | ModernBERT-large | 421M | 512 | English |
| **`convaiinnovations/laya-multilingual`** (this repo) | mmBERT-base | 322M | 1024 | 100+ languages, ~2x faster |
| [`convaiinnovations/laya-typed-decisions`](https://huggingface.co/convaiinnovations/laya-typed-decisions) | ModernBERT-large | 421M | 1024 | the typed-decisions workflows |
## Quickstart
```bash
pip install laya
```
```python
import laya
agent = laya.load("convaiinnovations/laya-multilingual")
result = agent.predict(
{"body": "मुझसे इनवॉइस 4411 के लिए दो बार शुल्क लिया गया। कृपया आज ही धनवापसी करें।"},
{"department": {"type": "choice", "instructions": "Which team should handle `body`?",
"criteria": {"billing": "invoices, payments, refunds",
"technical": "bugs and outages", "sales": "pricing"}},
"refund_requested": {"type": "noul", "instructions": "Does the sender ask for money back?"}},
)
print(result["answers"]["department"]["choice"]) # billing
```
### Let the Router choose
```python
from laya import Router
router = Router()
router.predict({"body": "I was charged twice"}, questions) # -> laya
router.predict({"body": "二重に請求されました"}, questions) # -> laya-multilingual
```
Since laya 0.3.7 the default `Router()` keeps both `english` and this checkpoint resident, so a
mixed workload no longer swaps checkpoints on every language change. For a server, load them up
front so even the first request of each language is just a forward pass:
```python