SAVRN
Search Contact SAVRN

Open-weight model · Text generation

Jev-Style-Qwen3.5-2B-Decision-MLX-bf16

by Chaoliang Yan chaoliangUNSW/Jev-Style-Qwen3.5-2B-Decision-MLX-bf16

Jev-Style-Qwen3.5-2B-Decision-MLX-bf16 is an open-weight model for text generation from Chaoliang Yan, released under Apache License 2.0. It has 1.9B parameters and a 262,144-token context. At 16-bit it needs about 4.5 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index. It draws 4k downloads a month.

Website: jevstyle.com — all JevStyle decision models, benchmarks and quickstart in one place. A Jev-style decision model: it does not write text.

Parameters1.9B
Context262,144
Weights3.8 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads4k

Runs On

What it takes to serve Jev-Style-Qwen3.5-2B-Decision-MLX-bf16 (1.9B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 3.8 GB 4.5 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 1.9 GB 2.3 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 0.9 GB 1.1 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 7, 2026.

Jev-Style-Qwen3.5-2B-Decision-MLX-bf16 on every accelerator the SAVRN Index prices, at every precision

Model Card

By Chaoliang Yan, published under apache-2.0, revision 7c52ea4c3602.

Website: jevstyle.com — all JevStyle decision models, benchmarks and quickstart in one place. A Jev-style decision model: it does not write text. Give it a state, a question and a list of options, and one forward pass returns the decision with calibrated probabilities - in 77 ms on an M1 Max. GGUF builds (BF16 / Q80 / Q4KM) for LM Studio and llama.cpp: chaoliangUNSW/Jev-Style-Qwen3.5-2B-Decision-GGUF Everything below is measured on data the model never trained on, with the probabilities exactly as the released weights produce them (no post-processing). - Calibrated out of the box. An ECE of 0.017 on 1,500 examples is statistically indistinguishable from a perfectly calibrated model…

Read Chaoliang Yan's full model card

Jev-Style v3 is available — smaller and stronger: Jev-Style-0.8B-Decision-v3-MLX scores 79.2% on the 2,000 typed decisions (v1: 53.4%, v2: 73.5%, as reported on the v2 card), takes 25,600-token inputs, works across 51 languages and scores options without the 26-letter cap (tested with 77 options), all at 0.8B parameters. This repository preserves v1; v2 is here.

Jev-Style-Qwen3.5-2B-Decision (MLX, bf16)

Website: jevstyle.com — all JevStyle decision models, benchmarks and quickstart in one place.

A Jev-style decision model: it does not write text. Give it a state, a question and a list of options, and one forward pass returns the decision with calibrated probabilities - in 77 ms on an M1 Max.

GGUF builds (BF16 / Q8_0 / Q4_K_M) for LM Studio and llama.cpp: chaoliangUNSW/Jev-Style-Qwen3.5-2B-Decision-GGUF

Results

Everything below is measured on data the model never trained on, with the probabilities exactly as the released weights produce them (no post-processing).

Qwen3.5-2B-Base, zero-shot This model
Accuracy, 5 decision tasks (1,500 held-out examples) 65.9% 82.3%
Calibration error (ECE) on those tasks 0.065 0.017
Negative log-likelihood / Brier score 0.786 / 0.446 0.418 / 0.242
Calibration error on task types never seen in training 0.155 0.075
Latency per decision (M1 Max, MLX bf16) 76 ms 77 ms (no added cost)
  • Calibrated out of the box. An ECE of 0.017 on 1,500 examples is statistically indistinguishable from a perfectly calibrated model: simulating labels from the model's own probabilities gives an expected ECE of 0.017 (95th percentile 0.025) from sampling noise alone. When this model says 80%, it is right about 80% of the time.
  • Large accuracy gains where the base model struggled: MNLI 52.3% -> 86.7%, SST-5 32.0% -> 61.7%, BoolQ 73.0% -> 82.7%, SST-2 87.3% -> 92.7%, AG News 84.7% -> 87.7%.
  • Calibration transfers to new task types: on emotion classification and RTE (never seen in training) the calibration error is halved (0.155 -> 0.075) at unchanged accuracy (64.5%).
  • Zero-cost calibration. A temperature fitted on 4,366 held-out examples is folded into the final RMSNorm weight, so every logit is already calibrated. Nothing to apply at inference time.
  • Quantisation-friendly. Q8_0 makes the same decision as bf16 on 99.4% of examples; Q4_K_M (1.3 GB) keeps 82.4% accuracy.
  • Efficient training recipe. LoRA rank 16 on all linear layers with a log-score loss, built on a custom chunk-parallel, differentiable Gated DeltaNet forward that matches the per-token training path to 1e-6 (outputs, state and all gradients) and is 6.5x faster per step (measured on the 0.8B sibling model).

What "Jev-style" means

Jev (TypeSafe AI, 2026) introduced System One models: instead of generating text, the model takes a state plus a typed question and returns a decision with calibrated probabilities in a single pass. This model follows that pattern on top of an open base model:

  • Choice - pick one of N declared options, with a probability for each
  • Bool - probability that a proposition is true
  • Score - a distribution over ordered levels, and its expectation as a continuous score

It cannot answer outside the declared options, it does not decode text, and one prefill pass gives the whole distribution.

This is an independent, from-scratch reproduction of the publicly described idea. It is not affiliated with TypeSafe AI and is not the Jev model.

Quick start (Apple Silicon)

Important: you must use the prompt format below. Plain chat messages produce meaningless text continuation. This is a decision function, not a chat model. In a chat window, paste the full prompt (it must end with Answer:) and start a new chat for every decision.

pip install mlx-lm
python jev_style_mlx.py
from jev_style_mlx import JevStyle

jev = JevStyle()  # downloads this repo on first use
jev.decide("Shares of the chipmaker jumped 8% after it raised its revenue forecast.",
           "Which news section does this article belong to?",
           ["World", "Sports", "Business", "Science/Technology"])
# [('Business', 0.70), ('Science/Technology', 0.29), ('World', 0.005), ('Sports', 0.002)]

jev.decide_bool("Premise: A man is playing a guitar on stage.\nHypothesis: Someone is performing music.",
                "Does the premise entail the hypothesis?")
# 0.976

jev.decide_score("The plot is thin, but the two leads are so charming that I left the cinema smiling.",
                 "Rate the sentiment of this review on an ordered scale.",
                 ["very negative", "negative", "neutral", "positive", "very positive"])
# (3.05, [... ('positive', 0.68), ('very positive', 0.21)])

LM Studio: the model loads with the MLX engine and answers with the option letter in the chat window. LM Studio's MLX engine does not return token log-probs, so to read the probabilities inside LM Studio use the GGUF build with jev_style_client.py, or use jev_style_mlx.py above.

Prompt format

You are a decision function. Read the state, then answer the question by choosing exactly one option.

[State]
{state}

[Question]
{question}

[Options]
A. {option 1}
B. {option 2}

Answer:

The next token is the option letter (A, B, ...). Its probability, renormalised over the declared letters, is the decision distribution. For Score, list the levels in order; for Bool, use yes / no. The repository ships a pass-through chat template, so chat endpoints and the LM Studio chat window pass this text to the model verbatim.

Scope

  • A decision function, not a chat model: send the prompt format above.
  • Trained on five English task families (sentiment, natural-language inference, topic, yes/no question answering, 5-level rating). On unseen task types it keeps the base model's accuracy with better, though not perfect, calibration.
  • Up to 26 options (20 when probabilities are read through a server's top_logprobs).

Training data and licence

SST-2 and MNLI (GLUE), AG News, BoolQ and SST-5, 22k examples converted to typed decisions; 80% for LoRA training, 20% held out for the calibration temperature. AG News is distributed for research / non-commercial use. Weights: Apache-2.0, same as Qwen/Qwen3.5-2B-Base.

Contact

I welcome internship, employment, and research collaboration opportunities. Please contact me at [email protected].

欢迎提供实习、工作及科研合作机会,请邮件联系:[email protected]。

Configuration

Architecture
Qwen3_5ForConditionalGeneration
Context length (tokens)
262,144
Layers
24
Hidden size
2,048
Feed-forward size
6,144
Attention heads
8
Key/value heads
2
Head dimension
256
Vocabulary size
248,320
Model type
qwen3_5

Identity and Version

Repository
chaoliangUNSW/Jev-Style-Qwen3.5-2B-Decision-MLX-bf16
Publisher
Chaoliang Yan
Task
Text generation
Modality
Text
Library
mlx
Parameters
1.9B parameters
Languages
en
Revision
7c52ea4c3602963c30697be701ee27b554e90e9f
First published
2026-09-21
Last updated
2026-09-27

Files and Weights

11 files, 3.8 GB in total. The weights are 1 file totalling 3.8 GB in safetensors.

Weights1 file · 3.8 GB
Configuration4 files · 38.2 KB
Tokenizer2 files · 20.0 MB
Documentation1 file · 7.6 KB
Other2 files · 222.2 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
model.safetensorsWeights3.8 GB 95fc80a9c0bb
config.jsonConfiguration2.4 KB —
jev_style_client.pyConfiguration4.6 KB —
jev_style_mlx.pyConfiguration3.2 KB —
model.safetensors.index.jsonConfiguration28.0 KB —
README.mdDocumentation7.6 KB —
calibration.pngOther221.9 KB fedaafb359d8
chat_template.jinjaOther253 B —
.gitattributesRepository1.6 KB —
tokenizer.jsonTokenizer20.0 MB 06b9509352d2
tokenizer_config.jsonTokenizer1.4 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
3.8 GB
Download from Chaoliang Yan

Released by Chaoliang Yan through its official repository on Hugging Face. Read the license.

Built From

  • Derived from Qwen/Qwen3.5-2B-Base
  • Trained on (disclosed) SetFit/sst5
  • Trained on (disclosed) fancyzhx/ag_news
  • Trained on (disclosed) google/boolq
  • Trained on (disclosed) nyu-mll/glue

Memory Requirements

PrecisionWeights in memory
As published3.8 GB
16-bit3.8 GB
8-bit1.9 GB
4-bit0.9 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About Jev-Style-Qwen3.5-2B-Decision-MLX-bf16

How much GPU memory does Jev-Style-Qwen3.5-2B-Decision-MLX-bf16 need?

About 4.5 GB at 16-bit and 1.1 GB at 4-bit: the weights (1.9B parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run Jev-Style-Qwen3.5-2B-Decision-MLX-bf16 on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use Jev-Style-Qwen3.5-2B-Decision-MLX-bf16 commercially?

Yes. Jev-Style-Qwen3.5-2B-Decision-MLX-bf16 is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is Jev-Style-Qwen3.5-2B-Decision-MLX-bf16's context length?

262,144 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Website: jevstyle.com — all JevStyle decision models, benchmarks and quickstart in one place. A Jev-style decision model for classification, routing and typed choices. Give it a state, a question and a list of options; one prefill returns a selected option with calibrated probabilities. Download this build: model.safetensors. The repository also includes its calibration, inference client and evaluation records. 81.20% macro accuracy on the fixed English reference panel, compared with 76.68% for v1 and 75.09% for English Laya. The results below use the CUDA reference structure: 11 real-label task groups, 3,277 decisions, equal task weights, and the same 3,100-record calibration split.…

Open weights apache-2.0 1.9B parameters 262,144 tokens mlx

Website: jevstyle.com — all JevStyle decision models, benchmarks and quickstart in one place. A Jev-style decision model for classification, routing and typed choices. Give it a state, a question and a list of options; one prefill returns a selected option with calibrated probabilities. Download this build: model.safetensors. The repository also includes its calibration, inference client and evaluation records. 81.20% macro accuracy on the fixed English reference panel, compared with 76.68% for v1 and 75.09% for English Laya. The results below use the CUDA reference structure: 11 real-label task groups, 3,277 decisions, equal task weights, and the same 3,100-record calibration split.…

Open weights apache-2.0 1.9B parameters 262,144 tokens transformers

Model · Text generation

dQwen3.5-2B-Base

IFML

A masked diffusion language model adapted from Qwen3.5-2B. The backbone is hybrid: only its attention layers are made bidirectional, and the Gated DeltaNet layers stay causal. This is a base model, with no instruction tuning. Paper: dQwen3.5: Hybrid-Attention Diffusion Language Models. Code: https://github.com/AntonXue/dQwen Needs a CUDA GPU and transformers>=5.13 (tested with torch 2.7.1+cu128, flash-linear-attention 0.5.1). generate decodes the whole canvas at once, committing positions above a confidence threshold (tau=0.9); pass blocklength=32 for left-to-right block decoding, or tau=None, stepsperblock=k for a fixed budget. The 50B-token checkpoint from the paper is…

Open weights apache-2.0 1.9B parameters 262,144 tokens transformers

VNPen is MewBaka Studio's visual-novel model series. The writer edition is for script writing, de-AI rewriting, and generating example scenes from a mood brief. Output format is one script line per line: speaker:text, with narration written as 旁白:. The base Qwen/Qwen3.5-2B is multimodal. Its checkpoint carries 297 model.visual. tensors (a depth-24 / hidden-1024 / patch-16 ViT) and 15 mtp. tensors for multi-token prediction. This project is text-only. In transformers, AutoModelForCausalLM on a qwen35 config builds Qwen35ForCausalLM over a Qwen35TextConfig — so the vision weights were never loaded at any point: not for training, not for merging, not for saving. Verified on the published…

Open weights apache-2.0 1.9B parameters 262,144 tokens transformers

Model · Text generation

ThinkLess-2B-FP8

Sadikh Shaik

FP8 version of ThinkLess-2B: 8-bit floating-point weights and activations, 2.5 GB (bf16: 4.3 GB), with near-identical accuracy. Made with llm-compressor (FP8DYNAMIC: per-channel FP8 weights, dynamic per-token FP8 activations, no calibration data). The output head, vision tower and MTP heads stay in 16-bit. The differences are within the 95% confidence intervals, and answers stay just as short (cut-offs ≤ 1%). FP8 compute needs a GPU with FP8 support (NVIDIA Hopper or Ada, e.g. H100, L4, RTX 40-series); vLLM loads the compressed-tensors format directly. Use Qwen3.5's thinking-mode sampling (temperature 1.0, top-p 0.95, top-k 20, presence penalty 1.5). A 4-bit AWQ version of ThinkLess-2B was…

Open weights apache-2.0 1.9B parameters 262,144 tokens transformers

Model · Text generation

Shreyansh-STEM-AI-2B-v3

Shreyansh singh

Shreyansh-STEM-AI-2B-v3 is a sovereign compact foundation model for scientific, physical, and mathematical derivation, engineered through SOLAR-style Depth Up-Scaling (DUS) and Continual Pre-Training (CPT) Seam Healing. To surpass standard 2B parameter capacity without requiring training from scratch, intermediate transformer layers were duplicated and spliced, expanding the model depth to 22 layers with a hidden dimension of $d=2048$. Splicing transformer blocks introduces interface discontinuity along the residual stream. To heal these seams, the model underwent Continual Pre-Training (CPT) over the multi-gigabyte shreyansh-1B-SLM-pretrain-stem-english corpus (over 2,400 parquet shards).…

Open weights cc-by-nc-4.0 1.9B parameters 4,096 tokens