kev-4b — research preview
0
5 commits
1 linked in READMEs
updated Sep 19, 2026
kev-4b is a decision model: one document (the state) and a set of typed questions in, a probability distribution per question out, in one forward pass. No text generation. It is a LoRA adapter (r=16) plus a pointer head on Qwen/Qwen3-4B-Base, serving TypeSafe's public /v1/systemone contract.
Research preview, not a versioned release. It is the best 4B checkpoint under a frozen, checksummed protocol after ~30 controlled 4B trials, and the first kev whose out-of-domain accuracy is within ten points of Jev on the same items. It does not pass the release screen we set in advance (held-out policy pairs: 0.62 both-correct, screen 70%).
jaredpalmer/kev-4b (this repo; trial lowdrift-4b-v4/01-trial-1)PLAN.md, runs/leaderboard.md| kev-0.5b | kev-0.6b preview | kev-4b preview | Jev | |
|---|---|---|---|---|
| in-distribution accuracy (decision-v4 dev, 1,200 q) | 0.712 | 0.805 | 0.843 | 0.845 |
| out-of-domain accuracy (transfer-v4 dev, 560 q) | 0.575 | 0.598 | 0.759 | 0.855 |
| out-of-domain Brier | 0.50 | 0.521 | 0.346 | 0.221 |
| confident errors out of domain (p ≥ 0.9 and wrong) | – | 5.2% | 5.5% | 5.5% |
| held-out policy structures, both siblings correct | – | 0.11 | 0.62 | 0.95 |
| option-order flip rate | 0.21 | 0.02 | 0.00 | 0.00 |
Per-source out-of-domain accuracy (kev-4b / Jev): QNLI 0.89 / 0.925, SciQ 0.99 / 0.99, TweetEval-offensive 0.71 / 0.81, PAWS 0.64 / 0.79, MMLU 0.68 / 0.90, Emotion 0.60 / 0.60, deadline (3-level date arithmetic) 0.60 / 0.95.
Seeds: the recipe was run at three seeds on this suite (transfer 0.759 / 0.758 / 0.759; in-distribution 0.843 / 0.853 / 0.855) and twice more on a superset suite (0.755 / 0.761); the spread is ~1 pp. The improvement over the default learning rate is +4.7 pp, 95% CI [+0.4, +9.6], record-clustered paired bootstrap.
Locked test, one exploratory read (runs/locked/kev-4b-preview-ungated/, labelled ungated because the checkpoint fails the held-out-pair screen): in-distribution 0.852 (Brier 0.221), out-of-domain 0.794 (Brier 0.296, confident errors 3.7%). Both above the development numbers, as for kev-0.6b, so development-set selection did not overfit. This partition will not be read again for this checkpoint.
KEV_DTYPE=bf16. Latency on an H100 is ~45 ms per packed request; on an M5 several hundred ms.Frozen suite evals/v4/decision-v4: 10,000 public records (1,000 per source, ten sources) plus two programmatic policy arms of 448 records, two epochs, LoRA r=16 on attention and MLP projections, pointer head from scratch, cross-entropy on the option distribution, lr 5e-5 (OneCycle), effective batch 8, bf16 autocast with fp32 master weights, gradient checkpointing, one H100 (~40 min). Augmentation: option permutation, none-of-the-above insertion, distractors, none minimal pairs on 25% of Choice records. No Jev outputs were used for training.
Development partitions select models; the locked test partition is read at most once per candidate. Every number carries suite hash, code hashes, and git commit in result.json. See PLAN.md for the corrections we made to our own earlier claims.
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-4b --port 8008 # KEV_DTYPE=bf16 on a 32 GB Mac
Any TypeSafe-compatible client works: TypeSafeClient(api_key="local", base_url="http://127.0.0.1:8008", model="kev-latest").
Apache-2.0 for the adapter and head; Qwen3 base is Apache-2.0; datasets carry their own licenses.
5 commits
kev-4b — research preview
0
5 commits
1 linked in READMEs
updated Sep 19, 2026
kev-4b is a decision model: one document (the state) and a set of typed questions in, a probability distribution per question out, in one forward pass. No text generation. It is a LoRA adapter (r=16) plus a pointer head on Qwen/Qwen3-4B-Base, serving TypeSafe's public /v1/systemone contract.
Research preview, not a versioned release. It is the best 4B checkpoint under a frozen, checksummed protocol after ~30 controlled 4B trials, and the first kev whose out-of-domain accuracy is within ten points of Jev on the same items. It does not pass the release screen we set in advance (held-out policy pairs: 0.62 both-correct, screen 70%).
jaredpalmer/kev-4b (this repo; trial lowdrift-4b-v4/01-trial-1)PLAN.md, runs/leaderboard.md| kev-0.5b | kev-0.6b preview | kev-4b preview | Jev | |
|---|---|---|---|---|
| in-distribution accuracy (decision-v4 dev, 1,200 q) | 0.712 | 0.805 | 0.843 | 0.845 |
| out-of-domain accuracy (transfer-v4 dev, 560 q) | 0.575 | 0.598 | 0.759 | 0.855 |
| out-of-domain Brier | 0.50 | 0.521 | 0.346 | 0.221 |
| confident errors out of domain (p ≥ 0.9 and wrong) | – | 5.2% | 5.5% | 5.5% |
| held-out policy structures, both siblings correct | – | 0.11 | 0.62 | 0.95 |
| option-order flip rate | 0.21 | 0.02 | 0.00 | 0.00 |
Per-source out-of-domain accuracy (kev-4b / Jev): QNLI 0.89 / 0.925, SciQ 0.99 / 0.99, TweetEval-offensive 0.71 / 0.81, PAWS 0.64 / 0.79, MMLU 0.68 / 0.90, Emotion 0.60 / 0.60, deadline (3-level date arithmetic) 0.60 / 0.95.
Seeds: the recipe was run at three seeds on this suite (transfer 0.759 / 0.758 / 0.759; in-distribution 0.843 / 0.853 / 0.855) and twice more on a superset suite (0.755 / 0.761); the spread is ~1 pp. The improvement over the default learning rate is +4.7 pp, 95% CI [+0.4, +9.6], record-clustered paired bootstrap.
Locked test, one exploratory read (runs/locked/kev-4b-preview-ungated/, labelled ungated because the checkpoint fails the held-out-pair screen): in-distribution 0.852 (Brier 0.221), out-of-domain 0.794 (Brier 0.296, confident errors 3.7%). Both above the development numbers, as for kev-0.6b, so development-set selection did not overfit. This partition will not be read again for this checkpoint.
KEV_DTYPE=bf16. Latency on an H100 is ~45 ms per packed request; on an M5 several hundred ms.Frozen suite evals/v4/decision-v4: 10,000 public records (1,000 per source, ten sources) plus two programmatic policy arms of 448 records, two epochs, LoRA r=16 on attention and MLP projections, pointer head from scratch, cross-entropy on the option distribution, lr 5e-5 (OneCycle), effective batch 8, bf16 autocast with fp32 master weights, gradient checkpointing, one H100 (~40 min). Augmentation: option permutation, none-of-the-above insertion, distractors, none minimal pairs on 25% of Choice records. No Jev outputs were used for training.
Development partitions select models; the locked test partition is read at most once per candidate. Every number carries suite hash, code hashes, and git commit in result.json. See PLAN.md for the corrections we made to our own earlier claims.
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-4b --port 8008 # KEV_DTYPE=bf16 on a 32 GB Mac
Any TypeSafe-compatible client works: TypeSafeClient(api_key="local", base_url="http://127.0.0.1:8008", model="kev-latest").
Apache-2.0 for the adapter and head; Qwen3 base is Apache-2.0; datasets carry their own licenses.
5 commits