minojev
Decisions, not tokens. minojev turns runtime-defined judgment problems into typed probability distributions in a single forward pass. No output token is ever generated; decisions are read from hidden states.
This repository contains two small, fully reproducible checkpoints trained from scratch (547k parameters each) on synthetic decision data. They are intended for testing the pipeline, demos, and as a starting point for fine-tuning.
Variants
| Folder | Task | Questions | Accuracy | Teacher top-set | ECE (calibrated) |
|---|---|---|---|---|---|
synth/ |
Attribute decisions | 627 | 66.5% | 66.5% | 0.074 |
maze/ |
Grid-world decisions | 1,536 | 83.8% | 89.5% | 0.016 |
The maze checkpoint drives the animated agent demo: 5/6 mazes solved, with 366 decisions/s in shared-state reuse mode on a laptop CPU.
Usage
from huggingface_hub import snapshot_download
from minojev import DecisionModel
path = snapshot_download("zeredy879/minojev", allow_patterns=["maze/*"])
model = DecisionModel.load(f"{path}/maze", device="cpu")
from minojev import Request, make_choice_question, ScoreOptions
request = Request(
id="r1",
state={"size": 6, "agent": [0, 0], "goal": [5, 5], "step": 0, "walls": [[0, 1], [1, 3]]},
questions=[make_choice_question("move", "Which move reaches the goal?",
{d: f"move {d}" for d in ["up", "down", "left", "right"]})],
)
record = model.score([request], ScoreOptions(mode="reuse"))[0]
print(record["candidate_ids"], record["probabilities"], record["decode_steps"])
Decision primitives
choice: 2-255 described candidates -> complete distribution.boolean: one proposition with optional true/false criteria ->[P(false), P(true)].score: 2-10 ordered levels -> level distribution plus expected level.
Temperature scaling fitted on dev data calibrates confidence at serving time without changing any predicted candidate.
Training details
- Backbone: 96 hidden, 3 layers, 4 heads, RoPE positions, native KV cache.
- Tokenizer: byte-level (259 tokens), no external vocabulary.
- Objective: cross entropy to exact teacher distributions; head warmup then joint fine-tuning; dev-selected checkpoints.
- Calibration: per-primitive temperature minimizing dev negative log-likelihood.
- Hardware: CPU only, minutes per checkpoint.
Links
- Code and demos: https://github.com/zeredy879/minojev
- Interactive demo: https://zeredy879.github.io/minojev/
- Datasets with teacher distributions: https://huggingface.co/datasets/zeredy879/minojev-data
- English and Chinese READMEs: https://github.com/zeredy879/minojev#readme
License
MIT. The checkpoints are synthetic-task models; validate probabilities on your own workload before using them in production.