Skip to main content
Use casesIntermediate7 min read

Decision models in local: JEV-35B and the 3B-active System 1

i
iaLocale Team
•
Decision models in local: JEV-35B and the 3B-active System 1

One pass, no generation

There's a task that big LLMs do, and you don't need them to do it that way: decide. Classify a ticket, pick which team to route it to, score the risk, say yes or no. For that you don't need a model that writes sentences; you need one that answers a precise question with a probability per option, in a single pass, without decoding a single token.

That's a decision model. It doesn't generate text: it reads the state, reads the question, and returns a probability distribution over the options. It's the System 1 — fast, instinctive, calibrated — against the LLM's System 2, which reasons, writes, and takes its time.

The idea isn't new, but two October releases make it concrete in local. JEV-35B from Autotrust is a 35B-parameter MoE (3B active per token) that runs quantized in NVFP4 on a 32GB GPU. ej is the opposite: 11.4MB, a 128MB resident-memory peak, runs on CPU. Two extremes, same category: models that decide, not write.

What a decision model is (and isn't)

A generative LLM takes a prompt and produces a sequence of tokens, one by one. A decision model does one thing: given a state and typed questions, it returns a probability per option.

The typed questions come in three forms:

TypeInputOutput
choiceinstructions + list of optionsa probability per option
noul (yes/no)a statementP(false), P(true)
scoreinstructions + ordered levelsa distribution over levels

The advantage is double. First, speed and cost: no generation loop, a single forward pass. JEV-35B answers in a 204ms median on one GPU; ej in 214ms on a 4-core CPU. Second, no formatting to lose: the output is already the answer (the most probable option), not a text you have to extract it from.

It's not a chatbot. JEV-35B doesn't hold conversations, doesn't generate free text. If you need to write, this model isn't the one.

JEV-35B: the 32GB decision-maker

JEV-35B is a fine-tune of Qwen3.5-35B-A3B (MoE, 35B total, ~3B active per token), Apache-2.0. A 264-slot decision head gives one logit per slot; the active slots of the question are soft-maxed with a per-kind temperature.

The point that changes the hardware is the quantization. The vendor's numbers:

VersionDownloadGPU memory (weights)Decision Index 0.3
JEV-35B bf1672GB66.5 GiB59.73
JEV-35B-NVFP425.6GB23.3 GiB59.18

Moving to NVFP4 takes the weights from 66.5 to 23.3 GiB: it fits on a 32GB GPU or larger, and the answers stay identical to bf16 in 96.6% of cases. The math is simple: 35B parameters at 16 bits weigh ~72GB; at 4 bits (NVFP4) you drop to a quarter of the bits per weight, and with overhead you stay under 25.6GB of download.

Where it shines is where it should: classification and routing. BANKING77 at 0.921, CLINC150+OOS at 0.943, intent recognition in general. Its strong area is Retrieval & Classification (skill 0.710); the weak one is Knowledge & Reasoning (GPQA 0.360). For that, you need a real LLM.

To try it:

hf download autotrust/JEV-35B-NVFP4 --local-dir JEV-35B-NVFP4
bash JEV-35B-NVFP4/serve.sh   # vLLM on :8000

If it doesn't work: it needs vLLM (a September 2026 development build) and a 32GB+ GPU. Below that, it doesn't fit.

ej: the pocket System 1

ej is the other end: 11.4MB (one file, model.ejpack), built on an e5-small-v2 text encoder. Resident-memory peak 128MB (35MB in low-memory mode); the Python process reaches ~558MB, but 204MB is just import torch. Latency 214ms per record on a 4-core Xeon, single thread.

It's not an LLM. The "teachers" are used only at fit time; at inference it runs alone, without generating tokens. Given a state and typed questions, it returns a distribution per question, calibrated (measured, not promised).

Its honest numbers: 0.832 on known intents (zs_massive), 0.712 on in-domain tickets. But on never-seen workflows it drops to 0.419. It's built for a workflow you know and measure on your own labelled cases, not zero-shot classification of new things.

Locally (CPU):

pip install -e .   # from the 5ak3t/ej repo
import ej
model = ej.load('5ak3t/ej', revision='v0.0.1')
(probs,) = model.predict([ej.EXAMPLE_RECORD])

If it doesn't work: it's Python + CPU only, and English-only. For other languages, it's not the right model.

When a decision model is enough (and when it isn't)

The selection criterion is this: does your question have finite options and a right label? If so, the decision model beats a generative LLM on three counts — cost, latency, and the fact that the output is already the answer.

JEV-35B (NVFP4)ejGenerative LLM (e.g. 8B)
Size25.6GB11.4MB~5GB (Q4)
Hardware32GB+ GPUCPU, 128MBGPU/CPU
Median latency204ms214ms30–100ms/token
Generates textnonoyes
StrengthGPU classificationon-device routingany open-ended task
LanguagesEnglishEnglishdepends on the model

Practical rules:

  • Routing and triage on a server with a GPU (ticket → team, risk 0–5) → JEV-35B. Strong classification, calibrated probabilities, a single request.
  • On-device triage, no GPU, no cloud (intent in an app, gating before escalation) → ej. 128MB, runs anywhere.
  • The answer is open, or there's no right label → generative LLM. The decision model doesn't exist for that.
  • High-stakes decisions about people (credit, hiring, health) → neither alone: you need human review and a confidence gate certified on your own data.

The limits, stated plainly

  • English. Both are English-centric. For other-language content, there's no open decision model equivalent today.
  • New workflows = weak numbers. ej drops to 0.419 on never-seen workflows; JEV-35B is strong where it's trained (classification) and weak on open reasoning (GPQA 0.360).
  • Calibration is per suite. A confidence threshold certified on one workflow can fail on another. Certify it on your own labelled cases.
  • No text. If the task produces words, the decision model isn't the one.

In summary

  • A decision model doesn't write: it answers a typed question with a probability per option, in a single pass, without decoding tokens.
  • JEV-35B is the GPU route: 35B (3B active) in NVFP4, 25.6GB download, 23.3 GiB of memory, on a 32GB GPU. Very strong at classification and routing.
  • ej is the CPU route: 11.4MB, 128MB of resident memory, for on-device triage. Weak on new workflows.
  • The rule: question with finite options and a right label → decision model. Open answer → generative LLM. Never alone on high-stakes decisions.

Sources

Article generated with AI

#JEV-35B#Modelli di decisione#MoE#NVFP4#Routing
Share:

Enjoyed this article?

Subscribe to the newsletter for new tutorials and guides.

After signing up you receive a confirmation email (double opt-in). Without confirmation we send nothing. No spam, we promise.

Related Articles