iota-decide-4b v0.3
A decision model by Macrocosmos: given a state and typed questions (choice, yes/no noul, score) it returns a
probability for every option in one forward pass, generating nothing. Fine-tuned from Qwen/Qwen3.5-4B (instruct)
with LoRA rank 16 (merged into these weights); answers are read from the option letters at the answer position.
Use
Use the bundled letter_decide.py (torch, transformers, safetensors, huggingface_hub). It renders each question
exactly as in training and applies the calibrated temperature stored in joint_head.safetensors.
from letter_decide import load_release_model, systemone
model, tokenizer, temperature = load_release_model("macrocosm-os/iota-decide-4b-v0.3")
request = {
"model": "iota-decide-4b",
"state": {"ticket": "Customer asks for a 40 EUR refund", "policy": "Refunds up to 50 EUR need no approval"},
"questions": {
"approve": {"type": "noul", "instructions": "Can the refund be issued without approval?"},
"route": {"type": "choice", "instructions": "Which team handles it?",
"criteria": {"billing": "payments and refunds", "tech": "technical faults"}},
},
}
print(systemone(model, tokenizer, temperature, request))
Yes/no answers are reported with a probability of at least 0.801 on the chosen side (JevBench counts 0.2 < P(yes) < 0.8 as an abstention); the answer itself is unchanged. Choice lists are limited to 26 options.
Training
- Base:
Qwen/Qwen3.5-4B, LoRA r16 / alpha 32 on every linear layer of the language model, LR 3e-5, 2,000 steps, DiLoCo on 8 A6000 GPUs (20/20 merges), soft-target cross-entropy, one calibrated temperature. - Data (211k records, 488k questions, no benchmark items or benchmark-shaped data): 30k human-labelled decision rows, 63k human-labelled rows from 24 public datasets (science, medicine, law, math, reading, topics, emotion, paraphrase, entailment, ethics, commonsense), and 119k generated decision states keeping only the questions where Cloudflare Clef and a Qwen3.6-35B-A3B reasoning teacher agree, plus disputed questions resolved by two more teacher answers.
Evaluation (our own runs)
| Set | v0.2 (released) | v0.3 (this model) | Torchcast Decision 4B v1.3 |
|---|---|---|---|
| Cross-domain skill: 15 Decision Index benchmarks never trained on (chance-corrected, ~10.4k questions) | 44.5 | 55.4 | 65.6 |
| Rotten Tomatoes / TweetEval offensive (human gold, never trained on) | 79.6 / 79.6 | 85.1 / 76.4 | 90.7 / 79.5 |
| Trusted set (3,000 generated states, 3 teacher votes; in-distribution) | 72.9 | 77.3 | 71.8 |
| JevBench public items (231) | 182 | 188 | 211 |