Laya mmBERT β NPU Deployment on S25 Ultra (Hexagon v79)
Model
model.onnx = V3c_topofix β sentinel attenuation (-30000.0 β -500.0) + QK^T score clip [-500, 500] across 24 attention layers, topologically sorted (ONNX opset 18).
Verification
| Stage | Backend | MaxDelta | Act Argmax | Status |
|---|---|---|---|---|
| Host ORT (FP32 ref) | CPU | 0.0081 | 100% | LOCAL-PASS |
| AI Hub farm | Hexagon v79 HTP | 0.0000 | 100% | PASS-GATE (mutex stop) |
| On-device physical | Hexagon v79 (USB) | 0.0000 | 100% | PRODUCTION |
Deployment target
com.example.gx/assets/w16/model.onnx β loaded by LayaEngine.kt via w16/ path (NPU/hybrid; CPU path rejected).
Hardware
Samsung Galaxy S25 Ultra (SM-S938U / SM8750 / Hexagon v79). Verified via QAIRT 2.50.
Root causes fixed
- FP16 saturation from -30000.0 attention sentinels β patched to -500.0
- HTP FLOAT32 mode semantic corruption β avoided; guarded FP16 only
- Graph topological misalignment after node splicing β Kahn's sort + onnx.checker
See PATH.md for full post-mortem and SOP.