A decision head turns hidden states into probabilities over your options. The training recipe decides whether it learns a real decision boundary or the shape of the training set. Open checkpoints use three designs (pointer heads, fixed slot heads, and plain logit readout) over frozen, LoRA-adapted, or fully fine-tuned backbones.
Three head designs
A pointer head scores each option boundary token against a learned decide token, then softmaxes over the options in that question. Soro-Kev-4B is a clear implementation: a rank-16 LoRA (alpha 32) plus a pointer head on a frozen Qwen3-4B, served at NF4 in about 4,048 MB or fp16 in about 8,200 MB. Because the head scores the options you supply, it handles 1–255 candidates. Soro reports 89.00% zero-shot tool routing and 94.50% on human holdouts, but those are author-reported and training states were capped at 4,096 tokens even though the card advertises 32,768.
A slot head reserves a fixed number of output positions. The Train-Jev 4B LoRA and 27B LoRA use a 24-slot fp32 head initialised from the backbone's language-model head, with a rank-16 LoRA on Qwen3.5-4B and Qwen3.8-27B. Only the first 16 choice labels, A through P, are trained. A 40-option question is outside the head's training distribution even if the server accepts it.
Plain logit readout skips the head entirely. Releasing the Inner Jev reads answers from the letters A, B, C at the last token and finds open instruction-tuned models already competitive before training: Gemma 4 31B scores 79.6 on the 2,352-question OpenDecisions set against Jev's 80.1. Adding LoRA plus a decision head initialised from a slice of the language-model head moves it to 84.4 on OpenDecisions and 81.5 on JevBench v1.7, 4.4 Capability points above Jev.
A fourth variant is the encoder classifier. open-jev DeBERTa-v3-large reads the state and all questions in one pass and softmaxes within each question. It reports 0.854 in-domain accuracy with ECE 0.022 on 1,500 states and 3,508 questions, and 0.690 on 4,012 unseen question types: a clean in-domain boundary can still miss question structure out of distribution.
Frozen backbones, LoRA, or full training
The cheapest recipe freezes the backbone and trains only the head. Kev and Soro both do this, with LoRA on top in Soro's case. A 4B backbone in NF4 plus a small adapter fits a 24 GB card, and the head can be retrained without touching base weights. But the frozen representation sets the ceiling; if the decision needs knowledge the backbone lacks, the head cannot invent it.
LoRA sits in the middle. Train-Jev trains rank-16 adapters on attention, DeltaNet, and MLP projections, then adds the 24-slot head. The 4B runs on a 24 GB GPU at 43 ms p50 on an H20 and reports 0.647 PK accuracy, ECE 0.076, and a Decision Index of 40.4. The 27B needs an 80 GB GPU, runs at 82 ms p50, and reports 0.851 transfer accuracy, ECE 0.053, and a Decision Index of 54.6. Both trained for 5,123 steps at batch 128 with KL plus 0.5 times RPS on ratings, on a single seed.
Full training is rare, but FunDM shows a label-free alternative: train a small head to match a frozen language model's answer probabilities with KL divergence, using 24 of Qwen3-8B's 36 layers and skipping the LM head. The +1T variant reaches 75.0% mean accuracy over eight benchmarks against 75.7% for the full model, with 1.56–1.57 times batched vLLM throughput and about one-third lower peak GPU memory.
Jeva takes the architecture further: a shared encoder for the request and each option, symmetric aggregation for permutation-equivariant probabilities, explicit null detection, and cacheable option representations. It targets option order, missing answers, and candidate-set size, but the abstract names no benchmarks, baselines, or code release, so the claims are architectural rather than measured.
What the training data buys
The data determines whether the head learns the task or the label convention. open-jev uses public gold labels: Banking77, SST-5, and BoolQ, 18,000 states and 42,000 questions, one epoch in 229 seconds on one H100. It reaches 0.854 in-domain but 0.690 on unseen question types, with a 0.847 to 0.678 spread across three seeds.
Train-Jev uses synthetic teacher labels, buying coverage at the cost of fidelity. Both cards report calibration only in distribution, and the 27B card says the benchmark table is self-reported. Soro's training states were capped at 4,096 tokens, so the advertised 32,768-token context is a serving limit, not a validated training regime.
bit-jev-2b-distilled shows the data and license problem in one artifact. It distils Kev 9B candidate logits at temperature 2.0 into a BitNet b1.58 2B backbone over 3,144 steps and two epochs, then adds a float32 pointer head. The file is about 1.19 GB and runs on CPU, but the card publishes no accuracy, Brier, NLL, or ECE, and has no separate open-weight licence.
The recipe details that matter
| Model | Backbone | Head | Trainable parts | Reported result | Main caveat |
|---|---|---|---|---|---|
| Soro-Kev-4B | Qwen3-4B | Pointer | Rank-16 LoRA + head | 89.00% zero-shot routing | Self-reported; 4,096-token training |
| Train-Jev 4B | Qwen3.5-4B | 24-slot fp32 | Rank-16 LoRA + head | 0.647 PK, ECE 0.076 | Only A–P labels; one seed |
| Train-Jev 27B | Qwen3.8-27B | 24-slot fp32 | Rank-16 LoRA + head | 0.851 transfer, ECE 0.053 | 80 GB GPU; one seed |
| open-jev DeBERTa | DeBERTa-v3-large | Encoder | Full encoder | 0.854 in-domain, 0.690 OOD | 512-token context; public gold |
| bit-jev 2B | BitNet b1.58 2B | Pointer | Distilled backbone + head | No accuracy reported | License chain unresolved |
| FunDM | Frozen Qwen3-8B | Label-free head | Head only | 75.0 vs 75.7 full model | Self-reported; not a released checkpoint |
Head precision is not a detail. Train-Jev keeps the head in fp32 and stores per-type temperatures in calibration.json; plain PEFT or Transformers loading applies the adapter but skips the head and temperatures. Soro keeps the pointer head separate from the NF4 backbone, and open-jev keeps the encoder in bf16. Loading only the adapter does not load the decision model.
Option count is the other detail. A 24-slot head trained on A–P will not generalise to 255 options, while a pointer head scores any option boundary you provide. For a large label space, head design matters more than backbone size; for a small stable set, a slot head is easier to calibrate.
Evaluation: don't stop at accuracy
The cards report accuracy because it is comparable, but the head's job is a distribution. Check in-distribution versus out-of-distribution accuracy: open-jev's 0.854 to 0.690 gap is the shape of the problem. Check calibration: Soro's learned temperature is 1.62 with a split-conformal quantile of 0.8066 at 90% coverage; Train-Jev's ECE is 0.076 at 4B and 0.053 at 27B in distribution; open-jev is over-confident by about 0.03 OOD. Check abstention: Soro's conformal set triggers EXECUTE for a singleton, ASK for two to eight, and abstention otherwise.
Pick a recipe by constraint
With 4 GB, accept the transfer penalty; Kev-0.8B's 0.697 transfer-v4 score is the honest baseline. With 24 GB, Soro-Kev-4B for tool routing or Train-Jev 4B for a general slot head are the best documented options. With 80 GB, Train-Jev 27B matches the official 27B on accuracy with lower calibration error, at the cost of a single-seed evidence base. On CPU, open-jev DeBERTa is the encoder path, with a 512-token limit and a real OOD gap.
The fine-tuning and calibration guide covers fitting the head to your labels, open reimplementations compares serving stacks, and exporting decision models covers GGUF and ONNX. Read the decision-head and encoder-backbone entries before choosing, and budget for fine-tuning as a repeated process.