sys1-fast-encoder-v2
Part of sys1 โ a small, open "System
One" model: typed judgments (Choice/Score/Noul) with real calibrated
probabilities, not generated text.
A sentence-transformers/all-MiniLM-L6-v2 encoder (22M params) with a
one-neuron decision head, scored per candidate option in one batched forward
pass. No chat template, no generation โ this is what gets to millisecond-level
decisions on CPU, unlike a causal chat model read via logits.
Usage
import sys
sys.path.insert(0, "src") # or `pip install sys1`
from sys1 import Choice, FastEngine
engine = FastEngine("ashurath/sys1-fast-encoder-v2") # or a local checkpoint dir
result = Choice(["billing", "technical support", "sales", "spam"]).ask(
"Classify what this support ticket is about.",
{"ticket": "My card was charged twice for the same order, please refund me."},
engine,
)
Training
Trained on real labeled data pulled from public Hugging Face datasets (ticket
routing/urgency, sentiment) plus the train-only splits of the same public
benchmark used to compare TypeSafe's Jev and Convai's Laya
(Luni/laya-jev-benchmark) โ
never touching that benchmark's held-out test data. See
training/train_fast_encoder.py.
Measured results
| Own held-out eval | Public agent-trace benchmark | Public phishing benchmark | |
|---|---|---|---|
| Accuracy | 91.3% | 64.4% (from 37.4% pre-domain-training) | 56.5% (from 49.0%) |
| Brier score | 0.119 | 0.263 (worse โ see below) | 0.370 (worse โ see below) |
Accuracy improved substantially on both public benchmarks after training on their train splits. Calibration (Brier score) got worse on both despite that โ the model became more confident faster than it became more correct. This is an open issue, documented rather than hidden: see the project README for the full story.
Latency: ~35ms per decision end-to-end on a CPU laptop, no GPU.
- Downloads last month
- 14
Model tree for ashurath/sys1-fast-encoder-v2
Base model
nreimers/MiniLM-L6-H384-uncased