laya-Ascend
Fork of Laya that runs its choice, score and yes/no decision checkpoints on Huawei Ascend 910B NPUs as well as CPU.
Overview
laya-Ascend is a fork of the Laya open decision engine that adds Huawei Ascend NPU inference alongside CPU. Laya evaluates choice, score and noul questions over a state in a single forward pass, with three checkpoints (English ModernBERT-large, a 322M multilingual mmBERT model for 100+ languages, and a typed-decisions model) and a router that picks one per request; it does not generate text.
The fork adds an Ascend setup guide covering environment, package installation, model download and CPU or NPU inference, plus Snake and Tetris game examples. Per the listing, a four-question request takes 37 to 47 ms median on a 910B, 33.8 to 70.9 times faster than the same request on a single container CPU thread, and the fork replaces the transformer encoder's fused operation with an output-equivalent SDPA decision head to avoid torch_npu falling back to CPU. It is aimed at teams with Ascend hardware, notably in China, who want local Jev-style decisions.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which department should handle this request? | billing · technical · sales · other |
| Score | How urgent is this request?(inferred) | — |
| Yes / no | Any yes/no question about the state | — |
How it works
- Set up the Ascend environment per README-Ascend.md
- Load Laya checkpoints on the NPU
- Send state and typed questions through the router
- Receive probabilities in one forward pass
Strengths
- Runs Laya on Ascend NPUs
- Large speedup over single-thread CPU per the listing
- Avoids a CPU fallback in torch_npu
Caveats
- Fork of upstream Laya; may lag updates
- Requires Ascend hardware and toolchain
- Speed figures from the listing, not independently verified
Getting started
See README-Ascend.md for environment setup, then pip install laya and run CPU or NPU inference.At a glance
- Type
- Service
- Status
- beta
- Language
- Python
- Runtime
- PyTorch on Ascend NPU (torch_npu) or CPU
- Has code
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
Local runtime: Ascend NPU fork of the Laya checkpoints that answers the same `Choice`, `Score` and `Noul` questions on Huawei 910B hardware — 37–47 ms median for a four-question request, 33.8x–70.9x faster than the same request on a single container CPU thread, with an output-equivalent SDPA decision head that avoids `torch_npu`'s CPU fallback on `aten::_transformer_encoder_layer_fwd`.
yibie/awesome-jev
Frequently asked questions
What does this fork add?
Inference on Huawei Ascend 910B NPUs, with a decision head that avoids a CPU fallback.
How fast is it?
The listing reports 37 to 47 ms median for a four-question request.
Is it the same model as Laya?
Yes, it runs the same Laya checkpoints.
Related projects
Docker service exposing local Laya, Von, a CLM head or hosted Jev through one TypeSafe-compatible HTTP and MCP endpoint.
MCP serverbetaPythonConverts open Jev reproductions (Laya, Kev, NanoJev, PlayJev) to INT8 ONNX for offline CPU decisions at about 15.6 ms per question.
ServicebetaPythonNative Go runtime serving Gemma 4 12B as a Jev-like decision model with hand-tuned PTX kernels and no CGo or CUDA toolkit.
ProjectbetaGoGo harness for System One models: hosted Jev, open Kev in-process via llama.cpp, and Cloudflare Clef, with typed helpers and a CLI.
ServicebetaGoGo gateway exposing the Jev /v1/systemone contract over ordinary LLM backends by reading single-token label logprobs.
ServicebetaGoRuns Intern-Decision-0.8B on Apple Silicon behind a local /v1/systemone endpoint that accepts screenshots for agent decisions.
ServicebetaPython