OpenDecider-nano RKNN (RK3588)
Port NPU de manjunathshiva/opendecider-nano pour Rockchip RK3588.
Encodeur ModernBert exporté en ONNX (seq_len=256), préparé pour RKNN
(masque d’attention -inf → -1e4, ops IsNaN retirés), converti avec
rknn-toolkit2 2.3.2. Parité mesurée ≈ Torch sur l’exemple Sybrain
(choice billing ~94,5 %).
La tête MLP de décision reste en numpy (head_np.npz).
Fichiers
| Fichier | Rôle |
|---|---|
opendecider-nano-enc-L256.rknn |
Encodeur NPU (~776 Mo) |
head_np.npz |
Tête MLP (Linear→GELU→LayerNorm→Linear) |
export_meta.json |
seq_len, mask_token_id, pad_token_id, hidden_size |
tokenizer.json / tokenizer_config.json |
Tokenizer d’origine OpenDecider-nano |
config.json |
Config ModernBert d’origine |
Runtime (Radxa / RK3588)
librknnrt≥ 2.3.0- Python :
rknnlite(rknn-toolkit-lite2) - Entrées :
input_ids,attention_mask— shapes[1, 256], int64 - Sortie :
last_hidden_state—[1, 256, 1024] - Inférence typique : ~0.7–1.5 s / question (3 cœurs NPU)
Conversion (si tu reconvertis toi-même)
- Remplacer les Constant
-infdu masque par-1e4, puis retirerWhere(IsNaN(x), fill, x)(sinon Softmax NaN → proba ~50/50 sur NPU). - Sur Radxa,
/tmpest souvent un tmpfs 256 Mo : sansTMPDIRsur disque, l’export.rknnest tronqué.
export TMPDIR=$HOME/tmp/rknn
mkdir -p "$TMPDIR"
# clean ONNX ( -inf → -1e4, strip IsNaN ) puis :
# rknn-toolkit2 : load_onnx → build(do_quantization=False) → export_rknn
Licence / crédit
Apache-2.0, dérivé de OpenDecider-nano (manjunathshiva/opendecider-nano). Merci aux auteurs d’OpenDecider.
- Downloads last month
- 24
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support
Model tree for vinshola/opendecider-nano-rk3588
Base model
jhu-clsp/ettin-encoder-400m Finetuned
manjunathshiva/opendecider-nano