Spencer Norton commited on
Release armiger v2.1.0 (6-plugin suite table & v2.1.0 config)
Browse files- README.md +14 -16
- calibration.json +22 -13
- config.json +1 -1
README.md
CHANGED
|
@@ -4,7 +4,6 @@ library_name: onnx
|
|
| 4 |
tags:
|
| 5 |
- norvitech
|
| 6 |
- armiger
|
| 7 |
-
- bitagent
|
| 8 |
- bitmagnet
|
| 9 |
- torrent-classification
|
| 10 |
- media-classification
|
|
@@ -21,18 +20,17 @@ pipeline_tag: text-classification
|
|
| 21 |
<h1 align="center">Armiger</h1>
|
| 22 |
|
| 23 |
<p align="center">
|
| 24 |
-
<strong>Fast 8.3 MB universal CPU torrent & media classifier for
|
| 25 |
Predicts 8 calibrated decision heads simultaneously in 0.42 ms batched (2.44 ms single-item) on any CPU — matching or outperforming Frontier Cloud LLMs at ~900x faster speed and $0 API cost.
|
| 26 |
</p>
|
| 27 |
|
| 28 |
<p align="center">
|
| 29 |
<a href="https://norvitech.com"><img alt="NorviTech Suite" src="https://img.shields.io/badge/NorviTech-Suite-FD8024.svg"></a>
|
| 30 |
-
<a href="https://github.com/spencercnorton/bitagent"><img alt="BitAgent Integration" src="https://img.shields.io/badge/BitAgent-Processor-0284C7.svg"></a>
|
| 31 |
<a href="https://huggingface.co/NorviTech/armiger-ultra"><img alt="Armiger Ultra" src="https://img.shields.io/badge/Armiger_Ultra-GPU_%2B_Swarm_Suite-10B981.svg"></a>
|
| 32 |
<img alt="Licence Apache-2.0" src="https://img.shields.io/badge/licence-Apache--2.0-blue.svg">
|
| 33 |
</p>
|
| 34 |
|
| 35 |
-
**Armiger** (`NorviTech/armiger`) is an ultra-compact (`8.3 MB`), zero-tokenizer byte-level RoPE Transformer + File-Tree Encoder designed for real-time BitTorrent, DHT, Usenet, and media automation (
|
| 36 |
|
| 37 |
Unlike rule parsers (`GuessIt`, `PTT`, `RTN`, `PTN`, `Anitomy`) that only recognize video filenames or `360M+` parameter subword models (`MIMMO BERT`) that require `~1.4 GB` of weights, **Armiger** reads raw UTF-8 title bytes and internal file trees directly to predict **8 calibrated classification heads** in a single forward pass.
|
| 38 |
|
|
@@ -56,15 +54,16 @@ Unlike rule parsers (`GuessIt`, `PTT`, `RTN`, `PTN`, `Anitomy`) that only recogn
|
|
| 56 |
|
| 57 |
## Optional Modular Plugins (Available Standalone or Bundled in `Armiger Ultra`)
|
| 58 |
|
| 59 |
-
`NorviTech/armiger` ships as a compact `8.3 MB` zero-dependency ONNX INT8 engine (`armiger.onnx` + `calibration.json`). Any of the **
|
| 60 |
|
| 61 |
| Plugin Repository | Bundled in `Armiger Ultra`? | Footprint | Core Capability & Measured Impact |
|
| 62 |
| :--- | :---: | :---: | :--- |
|
| 63 |
| **[`NorviTech/armiger-swarm-survival`](https://huggingface.co/NorviTech/armiger-swarm-survival)** | **Yes** (`swarm_adapter.pt`, `swarm_survival.py`) | `163 KB` | **SwarmSurvivalNet v2 & Honeypot Residual Adapter:** **`96.83%`** Swarm Liveliness AUROC (vs. `53.04%` raw seeders), **`100.0%`** fake-seeder malware trap recall, **`0%`** content-category flip guarantee. |
|
| 64 |
| **[`NorviTech/armiger-swarm-priors`](https://huggingface.co/NorviTech/armiger-swarm-priors)** | **Yes** (`swarm_priors.py`) | `29.4 KB` | **Empirical Bayes Swarm & Release-Group Priors:** 4-pathway tracker scrape prior engine, mandatory modality dropout (`p=0.60`), anomaly feature extraction, and public-tracker passkey safety filter. |
|
| 65 |
-
| **[`NorviTech/armiger-zero-cue-catalog`](https://huggingface.co/NorviTech/armiger-zero-cue-catalog)** | **Yes** (`zero_cue_plugin.py`, `validated_zero_cue_catalog.json`) | `
|
| 66 |
| **[`NorviTech/armiger-audio-guard`](https://huggingface.co/NorviTech/armiger-audio-guard)** | **Yes** (`audio_language_guard.py`) | `4.2 KB` | **Cross-Head Audio Language & Anime Dub Guard:** Couples `title_language` (`P(Foreign Title)`) with `lang` head to disambiguate `.en.` prepositions, `<Foreign>.ENG.Sub`, regional dubs, and `MULTi (FR EN)` tags; reaches **`98.72%`** Gold Standard and **`99.88%`** Hard Edge-Case audio accuracy. |
|
| 67 |
-
| **[`NorviTech/armiger-calibration-dht`](https://huggingface.co/NorviTech/armiger-calibration-dht)** | **Yes** (`calibration.json`, `calibration_and_dht.py`) | `
|
|
|
|
| 68 |
|
| 69 |
---
|
| 70 |
|
|
@@ -132,14 +131,13 @@ Unlike rule parsers (`GuessIt`, `PTT`, `RTN`, `PTN`, `Anitomy`) that only recogn
|
|
| 132 |
</p>
|
| 133 |
|
| 134 |
<p align="center">
|
| 135 |
-
<a href="https://
|
| 136 |
-
<a href="https://
|
| 137 |
-
<a href="https://
|
| 138 |
-
<a href="https://
|
| 139 |
-
<a href="https://
|
| 140 |
-
<a href="https://
|
| 141 |
-
<a href="https://
|
| 142 |
-
<a href="https://
|
| 143 |
-
<a href="https://github.com/spencercnorton/roadtrack">Road Track</a> ·
|
| 144 |
<a href="https://norvitech.com">norvitech.com</a>
|
| 145 |
</p>
|
|
|
|
| 4 |
tags:
|
| 5 |
- norvitech
|
| 6 |
- armiger
|
|
|
|
| 7 |
- bitmagnet
|
| 8 |
- torrent-classification
|
| 9 |
- media-classification
|
|
|
|
| 20 |
<h1 align="center">Armiger</h1>
|
| 21 |
|
| 22 |
<p align="center">
|
| 23 |
+
<strong>Fast 8.3 MB universal CPU torrent & media classifier for Bitmagnet, Prowlarr, Sonarr, and Radarr.</strong><br>
|
| 24 |
Predicts 8 calibrated decision heads simultaneously in 0.42 ms batched (2.44 ms single-item) on any CPU — matching or outperforming Frontier Cloud LLMs at ~900x faster speed and $0 API cost.
|
| 25 |
</p>
|
| 26 |
|
| 27 |
<p align="center">
|
| 28 |
<a href="https://norvitech.com"><img alt="NorviTech Suite" src="https://img.shields.io/badge/NorviTech-Suite-FD8024.svg"></a>
|
|
|
|
| 29 |
<a href="https://huggingface.co/NorviTech/armiger-ultra"><img alt="Armiger Ultra" src="https://img.shields.io/badge/Armiger_Ultra-GPU_%2B_Swarm_Suite-10B981.svg"></a>
|
| 30 |
<img alt="Licence Apache-2.0" src="https://img.shields.io/badge/licence-Apache--2.0-blue.svg">
|
| 31 |
</p>
|
| 32 |
|
| 33 |
+
**Armiger** (`NorviTech/armiger`) is an ultra-compact (`8.3 MB`), zero-tokenizer byte-level RoPE Transformer + File-Tree Encoder designed for real-time BitTorrent, DHT, Usenet, and media automation (`Bitmagnet`, `Prowlarr`, `Sonarr`, `Radarr`) classification on any CPU.
|
| 34 |
|
| 35 |
Unlike rule parsers (`GuessIt`, `PTT`, `RTN`, `PTN`, `Anitomy`) that only recognize video filenames or `360M+` parameter subword models (`MIMMO BERT`) that require `~1.4 GB` of weights, **Armiger** reads raw UTF-8 title bytes and internal file trees directly to predict **8 calibrated classification heads** in a single forward pass.
|
| 36 |
|
|
|
|
| 54 |
|
| 55 |
## Optional Modular Plugins (Available Standalone or Bundled in `Armiger Ultra`)
|
| 56 |
|
| 57 |
+
`NorviTech/armiger` ships as a compact `8.3 MB` zero-dependency ONNX INT8 engine (`armiger.onnx` + `calibration.json`). Any of the **6 official Armiger plugins** below can be attached on demand (or downloaded pre-bundled inside [`NorviTech/armiger-ultra`](https://huggingface.co/NorviTech/armiger-ultra)):
|
| 58 |
|
| 59 |
| Plugin Repository | Bundled in `Armiger Ultra`? | Footprint | Core Capability & Measured Impact |
|
| 60 |
| :--- | :---: | :---: | :--- |
|
| 61 |
| **[`NorviTech/armiger-swarm-survival`](https://huggingface.co/NorviTech/armiger-swarm-survival)** | **Yes** (`swarm_adapter.pt`, `swarm_survival.py`) | `163 KB` | **SwarmSurvivalNet v2 & Honeypot Residual Adapter:** **`96.83%`** Swarm Liveliness AUROC (vs. `53.04%` raw seeders), **`100.0%`** fake-seeder malware trap recall, **`0%`** content-category flip guarantee. |
|
| 62 |
| **[`NorviTech/armiger-swarm-priors`](https://huggingface.co/NorviTech/armiger-swarm-priors)** | **Yes** (`swarm_priors.py`) | `29.4 KB` | **Empirical Bayes Swarm & Release-Group Priors:** 4-pathway tracker scrape prior engine, mandatory modality dropout (`p=0.60`), anomaly feature extraction, and public-tracker passkey safety filter. |
|
| 63 |
+
| **[`NorviTech/armiger-zero-cue-catalog`](https://huggingface.co/NorviTech/armiger-zero-cue-catalog)** | **Yes** (`zero_cue_plugin.py`, `validated_zero_cue_catalog.json`) | `36.0 MB` | **Zero-Cue Catalog & Structural Disambiguator:** Offline 929,400-key normalized `TMDB`/`TVDB`/`AniDB`/`Manami` lookup + structural pack/ROM/VN/course rules; lifts Movie-vs-TV accuracy to **`99.46%`** and 11-class accuracy to **`98.48%`** (`98.93%` Hard Edge-Cases). |
|
| 64 |
| **[`NorviTech/armiger-audio-guard`](https://huggingface.co/NorviTech/armiger-audio-guard)** | **Yes** (`audio_language_guard.py`) | `4.2 KB` | **Cross-Head Audio Language & Anime Dub Guard:** Couples `title_language` (`P(Foreign Title)`) with `lang` head to disambiguate `.en.` prepositions, `<Foreign>.ENG.Sub`, regional dubs, and `MULTi (FR EN)` tags; reaches **`98.72%`** Gold Standard and **`99.88%`** Hard Edge-Case audio accuracy. |
|
| 65 |
+
| **[`NorviTech/armiger-calibration-dht`](https://huggingface.co/NorviTech/armiger-calibration-dht)** | **Yes** (`calibration.json`, `calibration_and_dht.py`, `armiger_dht_rsi.py`) | `115 KB` | **Conformal Calibration, BEP-44 DHT Updater & Distributed RSI Engine:** Per-head temperature scaling ($T_h$), Mondrian safety gates (`99.95%` junk balanced accuracy), `Ed25519` threshold-signed `BEP-44`/`BEP-46` DHT hot-reload, universal `*Arr`/qBittorrent/Transmission/ffprobe ground-truth RSI, `X25519`+`ChaCha20-Poly1305` AEAD, distinct-ASN quorum, and 500-canary regression gate (`36/36` tests). |
|
| 66 |
+
| **[`NorviTech/armiger-dht-db-sync`](https://huggingface.co/NorviTech/armiger-dht-db-sync)** | **Yes** (`csam_guard.py`, `armiger_dht_db_sync.py`) | `98 KB` | **Modular, CSAM-Protected, Encrypted BEP-44/BEP-46 DHT Database Sync:** Multi-stage CSAM & abuse pre-ingest blocker, `Ed25519`-signed blinded `SHA-256` tombstone purge engine, 10-category $ imes$ 14-language $ imes$ 7-quality sharded subscriptions with strict default-off `xxx` isolation, `X25519`+`ChaCha20-Poly1305` AEAD, binary Merkle proofs, and $K$-of-$N$ distinct-ASN Sybil quorum (`27/27` tests). |
|
| 67 |
|
| 68 |
---
|
| 69 |
|
|
|
|
| 131 |
</p>
|
| 132 |
|
| 133 |
<p align="center">
|
| 134 |
+
<a href="https://huggingface.co/NorviTech/armiger-ultra">Armiger Ultra</a> ·
|
| 135 |
+
<a href="https://huggingface.co/NorviTech/armiger">Armiger</a> ·
|
| 136 |
+
<a href="https://huggingface.co/NorviTech/armiger-swarm-survival">Swarm Survival</a> ·
|
| 137 |
+
<a href="https://huggingface.co/NorviTech/armiger-swarm-priors">Swarm Priors</a> ·
|
| 138 |
+
<a href="https://huggingface.co/NorviTech/armiger-zero-cue-catalog">Zero-Cue Catalog</a> ·
|
| 139 |
+
<a href="https://huggingface.co/NorviTech/armiger-audio-guard">Audio Guard</a> ·
|
| 140 |
+
<a href="https://huggingface.co/NorviTech/armiger-calibration-dht">Calibration & DHT RSI</a> ·
|
| 141 |
+
<a href="https://huggingface.co/NorviTech/armiger-dht-db-sync">DHT DB Sync</a> ·
|
|
|
|
| 142 |
<a href="https://norvitech.com">norvitech.com</a>
|
| 143 |
</p>
|
calibration.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
{
|
| 2 |
-
"
|
| 3 |
"category": {
|
| 4 |
"temperature_T": 1.225,
|
| 5 |
"cal_uncalibrated": {
|
|
@@ -97,38 +97,47 @@
|
|
| 97 |
}
|
| 98 |
}
|
| 99 |
},
|
| 100 |
-
"
|
| 101 |
-
"
|
| 102 |
"tau": 0.0
|
| 103 |
},
|
| 104 |
-
"
|
| 105 |
"tau": 0.0
|
| 106 |
},
|
| 107 |
-
"
|
| 108 |
"tau": 0.0
|
| 109 |
},
|
| 110 |
-
"
|
| 111 |
"tau": 0.0
|
| 112 |
},
|
| 113 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 114 |
"tau": 0.0
|
| 115 |
}
|
| 116 |
},
|
| 117 |
"mondrian_conformal_thresholds": {
|
| 118 |
"owner_scope": {
|
| 119 |
"alpha": 0.02,
|
| 120 |
-
"
|
| 121 |
-
"
|
| 122 |
},
|
| 123 |
"junk": {
|
| 124 |
"alpha": 0.005,
|
| 125 |
-
"
|
| 126 |
-
"
|
| 127 |
},
|
| 128 |
"adult": {
|
| 129 |
"alpha": 0.01,
|
| 130 |
-
"
|
| 131 |
-
"
|
| 132 |
}
|
| 133 |
}
|
| 134 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"temperature_scaling_stop_fit": {
|
| 3 |
"category": {
|
| 4 |
"temperature_T": 1.225,
|
| 5 |
"cal_uncalibrated": {
|
|
|
|
| 97 |
}
|
| 98 |
}
|
| 99 |
},
|
| 100 |
+
"menon_logit_adjustment_stop_fit": {
|
| 101 |
+
"D80000": {
|
| 102 |
"tau": 0.0
|
| 103 |
},
|
| 104 |
+
"D100000": {
|
| 105 |
"tau": 0.0
|
| 106 |
},
|
| 107 |
+
"E100000_TC_v3": {
|
| 108 |
"tau": 0.0
|
| 109 |
},
|
| 110 |
+
"E100000_TC_v4": {
|
| 111 |
"tau": 0.0
|
| 112 |
},
|
| 113 |
+
"G250000_Unified": {
|
| 114 |
+
"tau": 0.0
|
| 115 |
+
},
|
| 116 |
+
"G500000_Unified": {
|
| 117 |
+
"tau": 0.0
|
| 118 |
+
},
|
| 119 |
+
"H350000_Curated_Wave2": {
|
| 120 |
+
"tau": 0.0
|
| 121 |
+
},
|
| 122 |
+
"I350000_Distilled": {
|
| 123 |
"tau": 0.0
|
| 124 |
}
|
| 125 |
},
|
| 126 |
"mondrian_conformal_thresholds": {
|
| 127 |
"owner_scope": {
|
| 128 |
"alpha": 0.02,
|
| 129 |
+
"threshold_I350": 0.5917,
|
| 130 |
+
"threshold_H350": 0.6433
|
| 131 |
},
|
| 132 |
"junk": {
|
| 133 |
"alpha": 0.005,
|
| 134 |
+
"threshold_I350": 0.0631,
|
| 135 |
+
"threshold_H350": 0.0564
|
| 136 |
},
|
| 137 |
"adult": {
|
| 138 |
"alpha": 0.01,
|
| 139 |
+
"threshold_I350": 0.7801,
|
| 140 |
+
"threshold_H350": 0.7175
|
| 141 |
}
|
| 142 |
}
|
| 143 |
}
|
config.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"model_name": "armiger",
|
| 3 |
-
"version": "2.
|
| 4 |
"architecture": "armiger-v2-byte-rope-transformer-8head",
|
| 5 |
"format": "onnx-int8-dynamic",
|
| 6 |
"size_bytes": 8276448,
|
|
|
|
| 1 |
{
|
| 2 |
"model_name": "armiger",
|
| 3 |
+
"version": "2.1.0",
|
| 4 |
"architecture": "armiger-v2-byte-rope-transformer-8head",
|
| 5 |
"format": "onnx-int8-dynamic",
|
| 6 |
"size_bytes": 8276448,
|