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