Downloads · 30 days
0
altslate/certo-decision-v2.2
certo-decision-v2.2 is a machine learning model from altslate. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for certo. The card lists the license as mit.
Honest status: this is an under-trained, one-epoch checkpoint that currently performs worse than the 150M base model (certo v2.1). It is published so training can be continued, not for use as-is.
Downloads · 30 days
0
Access
Public
Updated Sep 23, 2026
Repo size
4.2 GB
Likes
0
Public
Click a slice to open those files.
.pt4.2 GB · 100%
From the Hugging Face model README
Honest status: this is an under-trained, one-epoch checkpoint that currently performs worse than the 150M base model (certo v2.1). It is published so training can be continued, not for use as-is.
A generic decision model on the Ettin-encoder-1B
backbone (a ~1B-parameter ModernBERT-architecture encoder). Non-generative: scores supplied runtime
options and returns a calibrated distribution. Trained on the representative real+synthetic corpus
altslate/certo-decisions-v2 (v2.1, 971k).
Temperature-calibrated (T=1.33).
It ran only 1 epoch (a 1B model on 4×32 GB is ~6× slower than base; 3 epochs ≈ 2.7 days). It did not converge: final training loss 0.458 vs the base model's ~0.34 after 3 epochs. Under-training shows up as both lower accuracy and poor calibration.
JevBench public tasks (official certo_local adapter, calibrated):
| easy | original | hard | |
|---|---|---|---|
| v2.2 (Ettin-1B, 1 ep) | 0.312 | 0.319 | 0.297 |
| ECE | 0.33 | 0.33 | 0.42 |
| v2.1 (base, 3 ep) for reference | 0.583 | 0.389 | 0.297 |
So on this budget the 1B backbone is not an improvement — the result is dominated by under-training, not by model size.
# warm-start and train more epochs (see AltSlate-Labs/certo train_v2.py --init)
python train_v2.py <corpus> --backbone jhu-clsp/ettin-encoder-1b --init <this_checkpoint> \
--epochs 2 --bs 16 --grad_checkpoint
Load for inference (works, but expect the weak numbers above):
from certo import DecisionModel
m = DecisionModel.load("altslate/certo-decision-v2.2", revision="main")
Code/recipe: github.com/AltSlate-Labs/certo.