MSGEncrypted/ocf-typed-decisions-mbert-base
0674
OCF typed-decisions CE smoke (ModernBERT-base)
Not a foundation classifier. Not RLCD. No Jev comparison.
Open Classification Foundation (OCF) specialist smoke: non-autoregressive System-1 decision head on `answerdotai/ModernBERT-base`, fine-tuned with cross-entropy on LocalLLaMA/typed-decisions train, temperature-calibrated on a held-out train slice (cal_frac=0.1).
Architecture
ModernBERT-base (bidirectional)
+ 2-layer decision Transformer head
+ OptionScorer at each option [MASK]
→ softmax(/T) over optionsTraining
Evaluation (LocalLLaMA/typed-decisions test, 2,000 decisions)
Latency (warm, RTX 3050 Laptop): p50 59.6 ms / p95 87.8 ms per question (n=200). Not a cross-vendor claim.
Full board: see source-repo snapshot results-snapshot-2026-09-28-ocf-typed-decisions-mbert.md.
Files
config.json—ClassifierConfig(includes temperatures)temperatures.json— fitted per-type Tmodel.pt— fullClassifierBundlestate_dictrecipe.json— train hyperparams + acc
How to run
Requires the OCF stack from the source repository (packages.classify + models_ai.classify):
from classify import load
agent = load("path/to/this/repo") # config.json + model.pt + temperatures.json
out = agent.predict(
{"subject": "Refund", "body": "Billed twice"},
{
"department": {
"type": "choice",
"instructions": "Which department?",
"criteria": {"billing": "invoices", "tech": "bugs", "other": "else"},
}
},
)Not a drop-in for the external laya package.
Concurrent baseline
Laya — open System-1 concurrent (ModernBERT-large). Matched estimand only; not a dependency.
Non-claims
- Not a foundation / zero-shot System-1 model
- Not RLCD-trained
- Does not claim to beat TypeSafe Jev or Laya
- Soft teacher labels; teachers disagree on ~41% of test decisions
