A probability for every answer.
Hunch reads a state (text or JSON), one or more questions and the candidate answers, and returns a probability for every candidate. Two sizes, Hunch 0.6B and Hunch 1.7B, are fine-tuned from Qwen3 backbones and released under Apache-2.0, with GGUF f16 and MLX f16 builds for on-device use. It is not for decisions with legal effect on people without human review, and it is not a safety-policy classifier.
- 0.8751
- accuracy of Hunch 1.7B on the held-back in-family test split, scored once after both checkpoints were fixed (0.8543 for the 0.6B; a constant guess of each family's most common answer scores 0.4673, and the untrained backbones 0.3337 and 0.3303)
- 0.0136
- in-family smooth ECE of Hunch 1.7B on that split, at a temperature fitted on a separate calibration split (0.0167 for the 0.6B)
- 0.6020
- accuracy of Hunch 1.7B on CaseHOLD, a legal family it never trained on, where a constant guess scores 0.212
- 10 of 6,000
- held-out answers changed by the 1.7B's GGUF f16 build, read on llama.cpp's CUDA backend, against the full-precision reference; its MLX f16 build changes none, and bf16 alone changes 28
Research preview. The model cards and the paper report its measured limits, including that instructions planted in the input can steer it.
One path per candidate.
A question can be a choice among 2 to 255 candidates, a boolean (the probability a
statement is true) or a score on an ordered rubric of 2 to 10 levels. Hunch builds one path per
candidate from the state, the question and that candidate, runs each question's paths through the backbone
together in one batch, and reads one score from each path's last token through an fp32 normalisation and a
linear head. A softmax over one question's candidates turns the scores into its distribution.
A candidate's position is part of no path, so reordering the options cannot change an answer: permuting the options of 200 cases on the three suites of a public 59-suite benchmark list that test it flips 0.0 % of answers. The model has no language-model head and cannot emit text.
Where it was trained.
No trained checkpoint had been scored on the in-family test split before 25 September 2026. It was then scored once per release checkpoint, as declared in advance (a first attempt stopped at a batching limit before scoring anything, and was re-run): 3,467 questions in 12 families, the same questions an untrained backbone of each size had been scored on. Accuracy is 0.8543 (0.6B) and 0.8751 (1.7B). A constant guess of each family's most common answer scores 0.4673 on the same questions, and the untrained backbones read 0.3303 and 0.3337. 205 of those questions have a state that also occurs in the two releases' training text, most of them in the Bitext routing and urn-draw families; without them, accuracy is 0.8455 and 0.8679. On the same families' calibration questions, both sizes are ahead of TypeSafe's Jev 1.13 and of the open Decider models, all answering zero-shot: 0.8731 for Hunch 1.7B and 0.8535 for Hunch 0.6B, against 0.8010 for Jev and 0.7346 for the Decider 2B.
Hunch 0.6BHunch 1.7Bthe untrained backbone of the same size
Almost the same answers, locally.
| build | Hunch 0.6B | Hunch 1.7B |
|---|---|---|
| GGUF f16 | 1 | 10, on llama.cpp's CUDA backend |
| MLX f16 | 0 | 0 |
| the reference in bf16 | 28 | 28 |
In one measurement on one NVIDIA RTX 5090 (bf16, one request at a time, over 380 of the 400 typed-decisions
test requests after 20 of warm-up, tokenisation included), the median wall-clock time per request was 78.1 ms (0.6B) and 140.6 ms (1.7B).
The shared-prefix engine, FastHunch, reads each state once per request instead of once per candidate. In
fp32 it changes none of the 6,000 held-out answers, and the same measurement gave 36.7 ms (0.6B) and 66.6 ms (1.7B).
On a laptop (one Apple M4 Pro, MLX f16, fp32 activations, one request at a time, the machine in normal use), the
measured median per request was 950.8 ms (0.6B) and 2746.4 ms (1.7B).
Every decimal, checked.
Every decimal result in the README, the model cards and the benchmark and format pages is listed with the file and field it comes from, and a script checks each one against that source file. The data rebuilds from public sources with published commands. Selection is disclosed, including the rule that would have kept the earlier 1.7B checkpoint. The paper sets out the method and the results.
Read it, run it, check it.
- The paperHunch: Open-Weight Decision Scorers, PDF
- Hunch 1.7BWeights and model card
- Hunch 0.6BWeights and model card
- GGUF and MLXOn-device builds
- CodeTraining, evaluation and the result files
@techreport{antareslabs2026hunch,
title = {Hunch: Open-Weight Decision Scorers},
author = {{Antares Labs}},
institution = {Antares Labs},
type = {Technical report (research preview)},
year = {2026},
month = sep,
url = {https://antareslabs.org/hunch/}
}