certo-decision-model (v1)

A small, calibrated, non-generative decision model: it reads a state and a set of options described in text and returns a calibrated probability for each β€” in one forward pass, no text generation. Default model for certo.

  • Backbone: ModernBERT-large + a per-option query/scoring head (options scored independently β†’ order-invariant by construction).
  • Trained on: a synthetic world with a known answer, so calibration is learned against the exact posterior (soft/distributional targets). 60k examples, 25 epochs.

Evaluation (held-out; graded against the exact answer)

eval KL(rβ€–p) ↓ TV ↓ acc ECE ↓
unseen options (new prototypes + names + wording) 0.008 0.016 0.844 0.004
more options (8–10 presented; trained on 3–6) 0.015 0.026 0.760 0.003
option-order invariance 0.00 (exact)

It generalizes to options, names, wording, and counts it never trained on, with tight calibration.

Scope & honest limits

  • In-distribution = synthetic, structured inputs (option "profiles" of the form "typically attribute value, …"). On this distribution it is excellent and well-calibrated.
  • It does NOT transfer to arbitrary natural-language prose yet. On real free text it tends to return a near-uniform distribution and abstains β€” a safe failure, but it can't do a real routing/triage task out of the box. Handling real language is the v2 goal (real data + a paraphrase layer). Treat this as a research preview / reference checkpoint, not a general model.

Usage

from huggingface_hub import snapshot_download
from infer import DecisionModel          # from the certo repo

m = DecisionModel.load(snapshot_download("altslate/certo-decision-model"))
r = m.decide(
    state="We measured salinity as ember, tempo as gale, density as gale.",
    options=[{"id": "A", "description": "typically salinity ember, tempo gale, density gale"},
             {"id": "B", "description": "typically salinity dawn, tempo frost, density brine"}],
    abstain_below=0.6)
r["probs"]   # calibrated probability per option

Code + technical report: https://github.com/AltSlate-Labs/certo Β· https://altslate-labs.github.io/certo/report.html

Inspired by Jev / System-1 decision models. Independent, not affiliated with TypeSafe. MIT.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Space using altslate/certo-decision-model 1