O que é o Laya e por que ele decide sem gerar texto?

O Laya é uma família de modelos de decisão open source da Convai Innovations, lançada em 18 de setembro de 2026 sob licença Apache 2.0. Ele não gera texto: usa um encoder bidirecional e responde perguntas tipadas (choice, score e noul) em um único forward pass, devolvendo distribuição de probabilidade em vez de string. A entrada é o estado do programa (texto, e-mail, ticket, JSON) mais o dicionário de perguntas. O projeto reporta cerca de 33 ms por pergunta em GPU Tesla T4, e os próprios autores posicionam o Laya como base rápida para especializar, não como motor zero-shot
Fala aí, beleza? Tem um modelo novo que não escreve UMA palavra sequer e mesmo assim toma decisão
O nome dele é Laya, e é uma família de modelos de decisão open source publicada pela Convai Innovations sob licença Apache 2.0, lançada em 18 de setembro de 2026
A ideia central é simples de falar e estranha de digerir: em vez de pedir pro modelo escrever "esse ticket é urgente", tu manda o estado do programa junto com um dicionário de perguntas tipadas, e ele devolve uma distribuição de probabilidade tipada em um único forward pass
Sem token a token, sem parser de JSON torto, sem rezar pro modelo respeitar o formato 😀
Por que o Laya não gera texto (e o que ele faz no lugar)
Um LLM comum é autorregressivo: ele escolhe o próximo token, depois o próximo, depois o próximo, até fechar a resposta
Se você conhece aquele efeito de digitação na tela do ChatGPT, é literalmente isso acontecendo: cada pedacinho da resposta é uma passagem pelo modelo
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
Pra escrever, isso é ótimo
Pra decidir, é desperdício puro: tu paga o custo de gerar linguagem só pra extrair uma classificação no fim
O Laya corta esse caminho
Ele usa encoder bidirecional (o modelo enxerga a entrada inteira de uma vez, não da esquerda pra direita) e faz pontuação não autorregressiva
A entrada é o estado do programa: pode ser texto solto, um e-mail, um ticket de suporte ou um documento JSON
Junto vai o dicionário de perguntas tipadas, e todas as perguntas desse dicionário são resolvidas em uma única passagem
A saída não é string
É distribuição de probabilidade tipada, já no formato que o teu código espera receber
E o número que o projeto reporta em GPU Tesla T4, sem amarrar a um checkpoint específico: cerca de 33 ms pra uma pergunta, e 7,2 ms por pergunta quando tu manda em lote
Por checkpoint a mediana muda um pouco: 32,8 ms no multilíngue e cerca de 39,5 ms no checkpoint em inglês, os dois medidos na mesma T4
As três primitivas: choice, score e noul
O Laya trabalha com três tipos de pergunta, e entender esses três é entender o modelo inteiro
choice: escolhe uma opção entre as que você definiu
Tu dá as opções, ele devolve qual delas encaixa no estado, com distribuição e confiança
É a primitiva de roteamento: "esse ticket vai pra billing, suporte técnico ou cancelamento?"
score: posiciona o estado numa rubrica ordinal
Aqui a resposta não é categoria solta, é nível: 0, 1, 2 e por aí vai
Serve pra severidade, prioridade, nível de risco, qualquer coisa que tenha ordem embutida
noul: pergunta booleana com probabilidade honesta
A noul devolve o P(true) calibrado, e o P(false) é simplesmente 1 menos o P(true)
É o "sim ou não" com número junto: não é só "é spam", é "é spam com tal probabilidade"
E se liga num detalhe que diz muito sobre o modelo
No checkpoint ajustado, a acurácia por tipo de pergunta fica assim: noul 0,857, choice 0,733 e score 0,723
Ou seja: o booleano é onde ele brilha mais, e quanto mais aberta a pergunta, mais ele sofre
Faz sentido, né? Pergunta binária tem menos jeito de errar
Arquitetura e treino: ModernBERT, cabeça de decisão e RLCD
A arquitetura junta duas peças
A primeira é o backbone ModernBERT-large, 395M de parâmetros só nele, bidirecional, com fine-tune completo (não é encoder congelado com uma camadinha em cima)
A segunda é uma cabeça de decisão de 2 camadas transformer, essa treinada do zero
Somando as duas peças, o checkpoint laya fecha em 421M: aquele 395M é do backbone sozinho, não do modelo inteiro
Mas a parte mais interessante é o treino
O Laya é treinado com RLCD: aprendizado por reforço contra regras de pontuação estritamente próprias
E o que significa isso? Regra de pontuação estritamente própria é um jeito de premiar previsão probabilística onde a única estratégia que maximiza a recompensa é reportar a probabilidade que você realmente acredita
Chutar confiança lá em cima só pra parecer seguro te machuca na conta
É um desenho de treino que empurra o modelo pra honestidade numérica, não pra confiança performática
Pelo menos é essa a intenção do desenho
Os três checkpoints do Laya e o que muda entre eles
A família tem três checkpoints abertos, com backbones e janelas diferentes
| Checkpoint | Backbone | Parâmetros | Contexto | Idiomas | Latência p50 (Tesla T4) |
|---|---|---|---|---|---|
laya |
ModernBERT-large | 421M | 512 | Inglês | cerca de 39,5 ms |
laya-multilingual |
mmBERT-base | 322M | 1024 | Mais de 100 idiomas | 32,8 ms |
laya-typed-decisions |
ajustado no split de treino do benchmark typed-decisions |
Repara na inversão: o checkpoint menor, multilíngue, tem o dobro de janela de contexto E é mais rápido
Pra quem escreve em português, esse é o caminho óbvio de qualquer forma
E contexto aqui é só o tamanho da entrada que cabe na passagem, não é aquela conversa de janela gigante de LLM que o teste da agulha no palheiro tenta medir
O terceiro, o laya-typed-decisions, é o caso à parte: ele foi ajustado no split de treino do benchmark typed-decisions, e é dele que saem os números bonitos de acurácia
Laya x Jev: latência e acurácia lado a lado
A comparação que o próprio model card faz é com o Jev, da TypeSafe AI
O Jev é um modelo System One também treinado com RLCD, mas proprietário e hospedado, acessível por API HTTP, e estava em early access com waitlist em 15 de setembro de 2026
| Laya | Jev | |
|---|---|---|
| Licença | Apache 2.0, open weights | Proprietário |
| Como roda | Local, pesos abertos | API HTTP hospedada |
| Latência | 32,8 ms (laya-multilingual) |
236 a 276 ms |
| Acurácia (typed-decisions) | 0,766 (laya-typed-decisions) |
0,727 |
Repara que os dois números do lado do Laya saem de checkpoints diferentes: a latência é do multilíngue e a acurácia é do checkpoint ajustado no benchmark
A diferença de latência é de cerca de 7,8x, e o projeto atribui isso diretamente à pontuação não autorregressiva
O benchmark typed-decisions tem 2.000 decisões, e tem um detalhe saboroso ali: o teto de auto concordância do teacher é 0,735
Ou seja, o checkpoint ajustado com 0,766 fica acima do modelo que gerou os rótulos concordando consigo mesmo
Massa? Muito
Só que tem um porém grande nessa festa toda…
O que esperar na prática: limites declarados pelo projeto
Os checkpoints base, em zero-shot, ficam perto do acaso nesse benchmark
laya marca 0,362 e laya-multilingual marca 0,352, contra baseline aleatório de 0,318 e baseline de classe majoritária de 0,461
Leu direito? A classe majoritária, aquele chute burro de sempre responder a resposta mais comum, bate os dois checkpoints base
E isso não é crítica de blogueiro chato: é o que os próprios autores declaram no model card
O posicionamento oficial é claro, o Laya é base rápida pra especializar, e o 0,766 vem do fine-tuning no split de treino do benchmark
Tem mais um ponto: lembra do RLCD e da honestidade numérica? Na prática o modelo sai excessivamente confiante
Reajustando uma temperatura por (tipo de pergunta, número de opções) em dados held-out, o ECE médio cai de 0,466 para 0,081 no laya e de 0,314 para 0,106 no laya-multilingual
ECE é erro de calibração: quanto menor, mais a probabilidade que ele te dá corresponde à frequência real de acerto
Sair de 0,466 pra 0,081 não é ajuste fino, é diferença entre número confiável e número decorativo
Tome cuidado! Se tu vai usar o P(true) pra decidir se escala pro humano, recalibrar não é opcional
E a última limitação declarada: perguntas do tipo choice degradam acima de 20 opções
Então nada de mandar taxonomia de 80 categorias e esperar milagre
Onde o Laya se encaixa na sua stack de IA
As cargas alvo que a Convai indica são bem específicas: processamento de notas fiscais, roteamento de tickets, moderação, guardrails e observabilidade de traces de agente
Repara no padrão
Tudo isso é a camada de classificação ao redor da stack de LLM, não o LLM
É aquele monte de decisãozinha que hoje você resolve chamando um modelo caro pra responder "isso é urgente?" e depois brigando pra extrair um booleano de dentro de um parágrafo educado
Pensa num agente rodando: cada trace, cada saída, cada input precisa passar por uma peneira antes de virar ação
Se cada peneira dessas custa uma chamada de LLM, a conta e a latência explodem
O argumento do Laya é ocupar exatamente essa camada
O LLM continua fazendo o que LLM faz bem, escrever, raciocinar, planejar
O Laya fica na borda, respondendo rápido as perguntas fechadas
Como começar: instalação e o Router
O pacote oficial é publicado pela Convai no PyPI (autor nandakishor), sob Apache-2.0
- Confere o Python. O pacote exige Python 3.8 ou superior. O erro comum aqui é rodar num ambiente velho de projeto legado e tomar erro de instalação que não tem nada a ver com o modelo
- Instala o pacote.
pip install laya
As dependências são torch, transformers, safetensors, huggingface-hub e numpy
- Roda a primeira vez com paciência. Os pesos são baixados do Hugging Face Hub no primeiro uso, então a primeira execução não representa a latência real. O erro comum é medir performance nessa rodada e sair falando que o modelo é lento
- Usa o Router como ponto de entrada. É a classe recomendada pela biblioteca
from laya import Router
router = Router()
result = router.predict(state, questions)
O Router detecta idioma e escrita e despacha pro checkpoint adequado sozinho
E cada resultado vem com metadados de roteamento: qual modelo foi usado, qual repositório e o motivo da escolha
Isso é ótimo pra debug, porque quando a resposta vier esquisita tu consegue ver se ele despachou pro checkpoint errado
- Não espere milagre zero-shot. Esse é O erro comum do Laya, e vale repetir: os checkpoints base ficam perto do acaso sem fine-tuning, e a probabilidade que sai da caixa vem excessivamente confiante. Especializar no teu domínio e recalibrar temperatura em dados held-out não é bônus, é o caminho pro modelo fazer sentido
Runtimes alternativos: Node.js, Apple Silicon e GGUF
Como os pesos são abertos, já apareceu ecossistema em volta
Esses aqui são mantidos pela comunidade, fora do pacote oficial, então trata como tal:
- receptron/laya: roda o Laya a partir de Node.js/TypeScript via ONNX Runtime
mizorewww/laya-mlx: runtime MLX nativo pra Apple Siliconmys/laya-GGUF: conversões GGUF hospedadas no Hugging Face
Se a tua stack é TypeScript inteira, o caminho do ONNX evita ter que subir um serviço Python só pra classificar ticket
Conclusão
O Laya não é um LLM pequeno, e tratar ele como LLM pequeno é o jeito mais rápido de se decepcionar
Ele é motor de decisão: recebe estado, recebe perguntas tipadas, devolve probabilidade em uma passagem só
O valor real aparece depois da especialização, e os próprios autores falam isso na cara dura
Próximo passo, se te interessou: dá uma olhada no repositório oficial em NandhaKishorM/laya, Apache 2.0
E faz o exercício mais útil de todos: abre a tua stack e lista quais decisões hoje queimam uma chamada de LLM caro pra responder algo que cabia numa choice, numa score ou numa noul
Aposto que a lista é maior do que tu imagina 😛
Até o próximo post!
Perguntas frequentes
O Laya substitui um LLM tipo GPT ou Claude?
Não, e o próprio model card deixa isso explícito: o Laya é posicionado como camada de classificação ao redor da stack de LLM, não como o LLM em si.
As cargas de trabalho indicadas pela Convai são processamento de notas fiscais, roteamento de tickets, moderação, guardrails e observabilidade de traces de agente.
Como instalar o Laya em Python?
O pacote oficial está no PyPI, publicado pela Convai sob Apache-2.0, e instala com pip.
Na primeira execução ele baixa os pesos do Hugging Face Hub, então essa rodada inicial não serve pra medir latência.
Qual checkpoint do Laya usar para português?
O laya-multilingual, baseado em mmBERT-base com 322M de parâmetros, cobre mais de 100 idiomas e tem contexto de 1024.
Além disso ele reporta latência p50 de 32,8 ms em Tesla T4, mais rápido que o checkpoint em inglês.
O Laya funciona bem sem nenhum ajuste (zero-shot)?
Não é o forte dele: os checkpoints base ficam perto do acaso no benchmark typed-decisions em zero-shot, com 0,362 (laya) e 0,352 (laya-multilingual).
O ganho de 0,766 de acurácia só aparece no checkpoint ajustado no split de treino desse benchmark, o que os autores tratam como base rápida pra especializar, não motor pronto pra usar direto.
Por que o Laya precisa de recalibração de temperatura?
Porque o modelo sai excessivamente confiante por padrão, e o ECE (erro de calibração) começa alto: 0,466 no laya e 0,314 no laya-multilingual.
Ajustando uma temperatura por tipo de pergunta e número de opções em dados held-out, esse erro cai pra 0,081 e 0,106 respectivamente.
Dá pra rodar o Laya fora do pacote Python oficial?
Sim. Como os pesos são abertos, já existem runtimes alternativos mantidos pela comunidade, fora do pacote oficial em Python.
Como não saem da Convai, trata como código de terceiro: testa bem antes de colocar em produção.
Quem está por trás do Laya?
O Laya é publicado pela Convai Innovations, sob licença Apache 2.0, com os pesos abertos no Hugging Face.
É open weights de verdade: tu baixa e roda local, sem depender de API de terceiro.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
Kimi K3, GLM ou DeepSeek: qual modelo barato aguenta refatorar código de verdade?
Kimi K3 vs GLM vs DeepSeek num teste real de refatoração: veja custo por token, erros e retrabalho para escolher o modelo barato certo no Claude Code.

O que é Jev, o System One Model da TypeSafe AI?
Jev é o System One model da TypeSafe AI: entenda como funciona, o que ele resolve e quanto custa esse modelo de decisão estruturada.
O que é o Hy4 preview, o modelo de 770B da Tencent?
O Hy4 preview é o novo modelo da Tencent: MoE de 770B parâmetros (49B ativos), 1M de tokens de contexto e pesos abertos sob Apache 2.0. Veja o que ele faz.
