decider-4b-nvfp4

Mapika/decider-4b v2.1 quantized to NVFP4 for vLLM: 4-bit floating-point weights and activations with FP8 block scales (block size 16). 3.29 GB against 8.41 GB for the bf16 checkpoint. Quantized and measured by LLM Tech; the model, its training and its evaluation protocol are Mapika's. Read the bf16 card for what the model is and how it was trained.

The base revision is eb5fbdfc9448473ec25e399882912863afbdb70e. Tokenizer, chat template, generation config and decider_config.json (temperatures included) are the author's files unchanged, apart from the version and quantization fields.

Accuracy against the bf16 weights

Both models were run through vLLM 0.29.0 on the same rows: the author's regression set rebuilt from public data (95 tasks, 67 in-task and 28 held-out, 144,226 rows, plain state-first layout, the author's temperature map) and the 231 public JevBench items. Our bf16 run matches the author's published regression accuracy and NLL within 0.0005 (in-task 0.8308 / 0.4145 NLL, held-out 0.7838 / 0.5689 in eval_results.json).

in-task acc / NLL / ECE (67 tasks) held-out acc / NLL / ECE (28 tasks) JevBench easy / standard / hard
bf16 0.8308 / 0.4146 / 0.0302 0.7837 / 0.5686 / 0.0773 48/48, 71/72, 73/111
NVFP4 0.8247 / 0.4298 / 0.0312 0.7768 / 0.5933 / 0.0814 48/48, 70/72, 72/111

Accuracy moves by -0.6 points in-task and -0.7 held-out; NLL by +0.0152 and +0.0247. Per task: lower on 72, higher on 16, equal on 7; the largest drops are truthfulqa (-3.4, 817 rows), medqa (-3.3, 1273 rows), medmcqa (-3.0, 1500 rows), tweet_irony (-2.2, 784 rows). The public JevBench tiers are 48, 72 and 111 items; differences of one to three items are within their noise.

Speed

vLLM 0.29.0 on one RTX PRO 6000 Blackwell Server Edition (96 GB), prefix caching off, one output token per row, unique random states. Prefill throughput is the best over batch sizes 1 to 64; latency is one request alone.

state length bf16 tokens/s NVFP4 tokens/s bf16 latency NVFP4 latency
1,024 38,941 78,054 (x2.00) 34 ms 21 ms
8,192 36,724 69,394 (x1.89) 228 ms 120 ms
32,768 30,699 51,146 (x1.67) 1082 ms 657 ms

Served by the author's HTTP server (decider.serve_vllm) next to the other two LLM Tech decider checkpoints on one GPU with DECIDER_VLLM_GPU_MEMORY_UTILIZATION=0.08, this checkpoint peaked at 10.5 GB under 32 concurrent requests of 29,033 tokens, with no errors. The same 29K-token state took 602 ms cold and 58 ms when repeated (prefix cache).

Usage

The author's package serves this checkpoint as is. decider.serve_vllm exposes POST /v1/systemone, the System One request shape (TypeSafe's Jev format):

pip install "decider-ai[serve]==1.6.0" vllm==0.29.0 ninja   # vLLM builds kernels with ninja on first start
DECIDER_MODEL=llmtech/decider-4b-nvfp4 uvicorn decider.serve_vllm:app --port 8000
curl -s localhost:8000/v1/systemone -H 'content-type: application/json' -d '{
  "model": "decider",
  "state": "My card was charged twice for the same purchase.",
  "questions": {
    "dept": {"type": "choice", "instructions": "Which department should handle this?",
             "criteria": {"billing": null, "technical support": null, "sales": null}},
    "refund": {"type": "noul", "instructions": "Does this need a refund action?"}
  }
}'

transformers alone does not run the NVFP4 weights; use vLLM. The checkpoint was run only through vLLM 0.29.0 on Blackwell (SM120) here.

What is quantized

NVIDIA ModelOpt 0.46.1, NVFP4_DEFAULT_CFG, with the exclusions the author used for decider-35b-a3b-nvfp4. Calibration: 512 prompts of at most 2,048 tokens (210 on average) drawn with seed 11 from the training side of the public decision tasks and the author's teacher data; 2 prompts that overlapped evaluation rows were dropped. No evaluation row was used for calibration or for any choice made here.

kept in bf16 quantized
embed_tokens, lm_head, linear_attn.conv1d, linear_attn.in_proj_a, linear_attn.in_proj_b, norms attention q_proj, k_proj, v_proj, o_proj; delta-net in_proj_qkv, in_proj_z, out_proj; MLP gate_proj, up_proj, down_proj (200 linear layers)

The KV cache is not quantized.

Limitations

  • Everything in the bf16 card applies.
  • The quantization costs 0.6 points in-task and 0.7 held-out against bf16 in the same engine.
  • Only the regression set and the public JevBench items were re-measured; the OpenJev, Mind2Web, browser, game and Bespoke numbers of the bf16 card were not.
  • Measured with vLLM 0.29.0 on RTX PRO 6000 Blackwell only; not with TensorRT-LLM or SGLang.
  • On borderline items the argmax can differ from bf16: on JevBench the outcome matched bf16 on 95 to 100% of items per tier. In a spot check through the HTTP server, a question the bf16 model answered with 0.62 confidence got a different answer.

About

Quantized and measured by LLM Tech; questions go to the Community tab. Model: Apache 2.0, by Mapika (GitHub).

Downloads last month
-
Safetensors
Model size
2B params
Tensor type
BF16
·
U8
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for llmtech/decider-4b-nvfp4

Quantized
(5)
this model