Fastino's 340M decision model beats its own 1B on routing
Most agent stacks answer a yes/no question by having a large model write a paragraph. Fastino's answer is to not ask a large model at all — and its new release is small enough to run on the CPU you already have.
Fastino shipped GLiNER2.5-Decide, a 340M-parameter classifier that takes a bounded question — intent, routing, sentiment, severity, spam — and returns a label in a single forward pass, with no prompt template and no generated tokens. It is Apache 2.0, built on a DeBERTa-v3-large encoder, and loads through the gliner2 library with a classify_text call. One call can score several heads at once, so an email triage step returning intent, urgency and owning team does that in one pass rather than three round trips.
The benchmark is the interesting part. On fastino/fast-decisions — 17 operational domains, 300 held-out examples each, identical text and candidate labels for every model — GLiNER2.5-Decide scores 60.2%. That edges its own 1B sibling at 59.6% and GLiNER2.5-multi-Decide at 56.7%, beats SemIf (Qwen3.5-4B) at 56.4%, GLiFormer large-v1 at 49.0% and Laya Router at 46.6%. This is the company's own suite with the company's own candidate labels, so treat it as a vendor claim rather than an independent result — but a 340M encoder holding off a 4B general model on the narrow task it was built for is the direction the economics have been moving anyway.
It is also not a product to reach for reflexively. Fastino is explicit that it does not reason, explain or answer open questions, and the model card is a list of bounded decisions: customer and banking intent, travel and clinic requests, review sentiment, document type, ticket routing, human handoff, whether an agent actually finished its goal, moderation, incident severity, urgency scores, spam. Passing a label set with a short description — "The physical card is missing" — is a supported input, which is how a private taxonomy stays precise without a bigger model. That is a routing layer and a safety check, not a replacement for the model behind it.
An independent evaluation published the same week found the sharper caveat: accurate top picks and honest confidence are different problems, and this run only solves the first. Hanno Labs ran the GLiNER2.5 family through DecisionBench, a frozen benchmark of bounded choices, and reported on 2,197 successfully scored bounded-extraction choices per model. GLiNER2 Large answered 39.0% correctly with an expected calibration error of 0.080; GLiNER2.5 Base answered 32.6% with an ECE of 0.302. The smaller model was wrong more often and knew it less — the miss rate moved and the confidence bar did not. That distinction matters for anyone wiring a classifier into an agent loop and reading its probability as a green light.
What to watch: the GLiNER2.5 line is a growing family of specialist models — 74M, 194M and 287M checkpoints for extraction, a 287M multilingual decision variant, a 300M moderation model — and the pattern to watch is whether teams route cheap bounded decisions to small encoders and reserve the expensive model for work that genuinely needs generation. The 1B sibling losing to the 340M version on this suite is a hint that scale is not the lever on short, well-specified questions.
Would you trust a small classifier's confidence score enough to let it gate an agent's next action? Tell us in the comments.
Sources: GLiNER2.5-Decide (Hugging Face) · GLiNER2.5-multi-Decide (Hugging Face) · fast-decisions benchmark (Hugging Face) · MarkTechPost · Hanno Labs — Anatomy of a wrong choice: GLiNER2 in DecisionBench