treble-400m
A fine-tuned Von checkpoint (ModernBERT-large encoder + Option-Marker head, ~395M parameters) for routing in Treble. It selects among described options and judges conditions in one encoder pass — it does not generate text.
This is a fine-tune/distillation of Von, not a new architecture. Student base:
von-1.2.
Resources
- Training, data pipeline, and reproduction: OscarVGit/treble-distill
(see
docs/training.mdanddocs/distillation.md) - Harness this model serves: OscarVGit/treble
- Evaluation write-up: Treble
EVALUATION.md(§11) - Base model: wfzyx/von
Training (distillation)
- Teacher: DeepSeek (
deepseek-chat) via the OpenAI-compatible API. - Student: Von
von-1.2. - Task: Treble's routing primitives — run gate (Noul), run target (Choice), control verb (Choice), control target (Choice), showdown/collision (Noul).
- Data: synthesized registries and phrasings, labelled by the teacher; mixed with ~20k replay rows from the base corpus.
- Recipe: 1 epoch, lr 1.5e-5, batch 4 × grad-accum 4,
--independent_options --digit_split; confidence refit withvon calibrate.
Disclosure: labels were produced by a closed teacher model (DeepSeek); this checkpoint is a derivative of its outputs and is released with that disclosure. Do not redistribute the labelled training JSONL.
Evaluation
Measured on Treble's 69-case routing suite (development/regression eval), 3 runs, stable:
| model | correct | wrong | escalated |
|---|---|---|---|
| base Von 1.2 | 61/69 | 7 | 1 |
| DeepSeek teacher | 67/69 | 2 | 0 |
| treble-400m | 67/69 | 1 | 1 |
safe=true, no unrequested executions. ~90 ms/decision locally vs ~1.7 s for the
hosted teacher. Per-case agreement with the teacher: 94%.
Overlap disclosure (important). This is a development suite, not a sealed
holdout. 10 of its 69 cases (13 probes) share an exact (state, question) with
the training/val data, and its phrasing informed data iteration. Excluding those:
| model | uncontaminated subset |
|---|---|
| treble-400m | 57/59 |
| DeepSeek teacher | 57/59 |
Teacher parity holds on the uncontaminated subset, but the 67/69 headline should not be read as generalization to unseen phrasings. A sealed evaluation set is pending; treat both numbers as directional on n≈60–70.
Usage
pip install von-sdk
pipx install git+https://github.com/OscarVGit/treble # the harness
# serve this checkpoint
VON_CHECKPOINT_DIR=/path/to/treble-400m von serve
# point Treble at it
export TREBLE_DECISION_URL=http://127.0.0.1:8765/v1/systemone
treble "show me the build procedure"
Files
| File | Purpose |
|---|---|
model.safetensors |
ModernBERT-large encoder (required to serve) |
option_marker.pt |
Option-Marker scoring head |
marker_calibration.json |
calibration map + independent_options (do not drop) |
config.json, tokenizer.json, tokenizer_config.json |
HF config/tokenizer |
All six are required for calibration and serving. option_marker.pt alone is not
enough: the backend loads the encoder via AutoModel.from_pretrained, which needs
model.safetensors.
Limitations
- English only; selects/scores, never generates.
- Scoped to Treble's routing primitives, not general classification.
- Evaluated on a small internal suite; see the overlap disclosure above.
- Keep
--independent_options/--digit_splitconsistent with the training run.
License
Apache-2.0, following Von and ModernBERT. Teacher-derived labels are disclosed; verify the teacher API's terms before redistributing derived weights.
- Downloads last month
- 14