Skip to page content
SAVRN
Search Plan a project

Open-weight model · Zero-shot classification

d3-nano

by vLLM Semantic Router vllm-sr/d3-nano

d3-nano is an open-weight model for zero-shot classification from vLLM Semantic Router, released under Apache License 2.0. It has 2.2B parameters and a 262,144-token context. At 16-bit it needs about 5.3 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

d3-nano is the 2B multimodal foundation decision model of Decision 3.0, the decision models of vLLM Semantic Router.

Parameters2.2B
Context262,144
Weights4.4 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve d3-nano (2.2B 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 4.4 GB 5.3 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 2.2 GB 2.7 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 1.1 GB 1.3 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 20, 2026.

d3-nano on every accelerator the SAVRN Index prices, at every precision

Model Card

By vLLM Semantic Router, published under apache-2.0, revision f1429487025c.

d3-nano is the 2B multimodal foundation decision model of Decision 3.0, the decision models of vLLM Semantic Router. Give it an input (text or JSON, optionally with images) and the questions you need answered: pick one of several options, say yes or no, or rate on a scale. It answers them all in one call and returns a probability for every answer, without generating text. - Jev Decision Index 0.3, public suite: 42.14, measured with the official 0.3 kit on the released weights: all 140,178 public requests answered, none unsupported. - +12.1 on the public suite over Decision 2.0 (its 2B model: 30.05 on the board), ahead in all five areas. Images go before the text of the request, each read at…

Read vLLM Semantic Router's full model card

d3-nano is the 2B multimodal foundation decision model of Decision 3.0, the decision models of vLLM Semantic Router. Give it an input (text or JSON, optionally with images) and the questions you need answered: pick one of several options, say yes or no, or rate on a scale. It answers them all in one call and returns a probability for every answer, without generating text.

Parameters 2.21B, including the 0.33B vision encoder
Inputs Text or JSON, plus images (several per request)
Decision types Choice · Yes / No · Score
License Apache-2.0

Highlights

  • Jev Decision Index 0.3, public suite: 42.14, measured with the official 0.3 kit on the released weights: all 140,178 public requests answered, none unsupported.
  • +12.1 on the public suite over Decision 2.0 (its 2B model: 30.05 on the board), ahead in all five areas.
  • Reads images: multiple images per request (PNG, JPEG or WebP), given as paths, URLs, PIL images or base64 data URLs; every question of the request sees all of them.
  • Speed: a median of 13.1 ms for a text request and 74.9 ms for a request with an image, on one AMD Instinct MI325X GPU, one request at a time.
  • Many questions, one call: Choice, Yes / No and Score questions about the same input are answered together, each from its own forward pass over the input, with a probability for every option.

Quickstart

pip install "transformers==5.17.0" torch torchvision pillow safetensors accelerate
pip install flash-linear-attention  # optional: fast GPU kernels for the linear-attention layers
import json

from huggingface_hub import hf_hub_download
from transformers import AutoModel

model = AutoModel.from_pretrained("vllm-sr/d3-nano", trust_remote_code=True)

# Text
result = model.system_one(
    state="The order arrived damaged yesterday. The customer has a receipt and asks for a replacement today.",
    questions={
        "route": {
            "type": "choice",
            "instructions": "Which team should handle this request?",
            "criteria": {
                "returns": "Refunds, replacements and damaged deliveries",
                "billing": "Payments, invoices and charges",
                "technical": "Product setup and faults"
            }
        },
        "receipt": {
            "type": "noul",
            "instructions": "Does the customer have a receipt?"
        },
        "urgency": {
            "type": "score",
            "instructions": "How urgent is this request?",
            "criteria": [
                "Routine",
                "Soon",
                "Today"
            ]
        }
    },
)
print(json.dumps(result["answers"], indent=2))

# Text and an image (or several)
receipt = hf_hub_download("vllm-sr/d3-nano", "assets/example-receipt.png")
result = model.system_one(
    state="The customer says the blender arrived cracked and attached the receipt.",
    images=[receipt],  # local paths, http(s) URLs, PIL images or base64 data URLs
    questions={
        "route": {
            "type": "choice",
            "instructions": "Which team should handle this request?",
            "criteria": {
                "returns": "Refunds, replacements and damaged deliveries",
                "billing": "Payments, invoices and charges",
                "technical": "Product setup and faults"
            }
        },
        "on_receipt": {
            "type": "noul",
            "instructions": "Does the receipt list the blender?"
        },
        "payment": {
            "type": "choice",
            "instructions": "How was the order paid?",
            "criteria": {
                "card": None,
                "cash": None,
                "gift card": None
            }
        }
    },
)
print(json.dumps(result["answers"], indent=2))

# Or as a pipeline:
# transformers.pipeline("decision", model="vllm-sr/d3-nano", trust_remote_code=True)(state=..., questions=..., images=...)

Images go before the text of the request, each read at up to 1.6 megapixels; every question of the request sees all of them.

Evaluation

Text: Jev Decision Index 0.3.1

Model Jev Decision Index ↑ Public ↑ Same-skill tests ↑ New-domain tasks ↑
d3-nano 37.3 42.1 37.4 32.2
LiquidAI d1-3B 40.1 49.0 43.6 28.0
Jev-Style 2B v3 31.4 34.1 34.6 25.2
Decision 2.0 (2B) 27.1 30.1 29.3 23.0
Decider 2B 25.8 29.8 28.5 21.0
FLock this-that 1.2 24.6 28.7 27.5 19.7

Images: Jev Decision Index vision board 0.3.1

Model Vision Index ↑ Public ↑ Private ↑
d3-nano 57.0 59.9 54.0
Intern-Decision-2B 47.8 52.9 42.7

d3-nano on the public vision benchmarks († approximate rebuild):

Benchmark d3-nano
CV-Bench 70.3
BLINK 52.2
RealWorldQA 52.8
CharXiv † 78.2
InfographicVQA † 85.8
Mind2Web † 60.5
Winoground 71.0
KIE (CORD+FUNSD) † 97.1
Moderation (Hateful Memes) 23.3
R-Bench-M 16.6
MMMU-Pro vision 20.3

d3-nano: internal evaluation. Others: live board data, text 2026-10-10, vision 2026-10-09.

License

Apache-2.0 (LICENSE). Built on Qwen/Qwen3.5-2B (Apache-2.0).

Citation

@misc{d3_nano_2026,
  title        = {{d3-nano}: A Multimodal Foundation Decision Model},
  author       = {{vLLM Semantic Router Team}},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/vllm-sr/d3-nano}}
}

Trained on AMD Instinct MI325X GPUs.

Configuration

Architecture
Qwen3_5Model
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
vllm-sr/d3-nano
Publisher
vLLM Semantic Router
Task
Zero-shot classification
Modality
Text
Library
transformers
Parameters
2.2B parameters
Languages
Not stated by the source
Revision
f1429487025c06175096c2438f4f48106301ca9d
First published
2026-10-10
Last updated
2026-10-11

Files and Weights

29 files, 4.5 GB in total. The weights are 2 files totalling 4.4 GB in safetensors.

Weights2 files · 4.4 GB
Configuration13 files · 149.7 KB
Tokenizer4 files · 22.9 MB
Documentation3 files · 17.7 KB
Other6 files · 2.6 MB
Repository1 file · 1.7 KB
Every file
FileTypeSizeSHA-256
model.safetensorsWeights4.4 GB 2844f6b1e056
readout.safetensorsWeights2.1 MB a37d33599c58
MODEL_MANIFEST.jsonConfiguration11.0 KB —
config.jsonConfiguration2.9 KB —
d3_engine.pyConfiguration4.2 KB —
d3_fast.pyConfiguration22.3 KB —
d3_format.pyConfiguration4.9 KB —
d3_kernels.pyConfiguration16.1 KB —
d3_runtime.pyConfiguration59.4 KB —
d3_server.pyConfiguration8.3 KB —
decision_config.jsonConfiguration5.5 KB —
modeling_d3.pyConfiguration11.7 KB —
pipeline_d3.pyConfiguration2.6 KB —
preprocessor_config.jsonConfiguration390 B —
video_preprocessor_config.jsonConfiguration385 B —
LICENSEDocumentation11.4 KB —
NOTICEDocumentation104 B —
README.mdDocumentation6.3 KB —
assets/banner.pngOther2.2 MB cfd3c0d98488
assets/example-receipt.pngOther65.9 KB —
assets/index-areas.pngOther125.8 KB c7c9488f1ac7
assets/index-pareto.pngOther184.7 KB 472217060507
chat_template.jinjaOther7.8 KB —
requirements.txtOther707 B —
.gitattributesRepository1.7 KB —
merges.txtTokenizer3.4 MB —
tokenizer.jsonTokenizer12.8 MB 5f9e4d4901a9
tokenizer_config.jsonTokenizer16.7 KB —
vocab.jsonTokenizer6.7 MB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
4.4 GB
Download from vLLM Semantic Router

Released by vLLM Semantic Router through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published4.4 GB
16-bit4.4 GB
8-bit2.2 GB
4-bit1.1 GB

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

Questions About d3-nano

How much GPU memory does d3-nano need?

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

What is the cheapest GPU to run d3-nano 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 d3-nano commercially?

Yes. d3-nano 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 d3-nano's context length?

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

Similar Models

Model · Zero-shot classification

chinese-decision-2b

Quincyqiang

Chinese Decision 是一个面向中文场景的轻量级决策模型。它不聊天、不生成文本:给定上下文和一组固定候选项,一次前向直接返回每个候选项的概率,适合意图识别、工单分流、内容审核、数据打标、给模型输出打分、智能体动作选择等"有限选项判断"任务。 - 一次前向,零输出 token:读取最后位置上候选字母 A–Z 的 logits,softmax 后即为概率。 - 三种题型:noul(是/否)、choice(单选)、score(有序等级,返回期望分值)。 - 系列中准确率最高:CJ-Bench 全量整体 ACC 84.11%,医疗 / 法律 / 金融平均 78.25%,比 chinese-decision-0.8b 分别高 1.01 / 1.35 个百分点。 - 概率经过校准:附带在独立校准划分上拟合的温度,整体 ECE 0.64%。 更新于 2026-10-17。BF16 合并模型已完成全量 CJ-Bench、保存/重载和实际 HTTP 三题型/双路由验证,并已在 Hugging Face 与 ModelScope 公开发布。由本模型直接转换的 Q80 GGUF 也已完成全量 CJ-Bench 对照,见 2B Q80 模型卡。 训练数据版本 a3963a61f71e00051a80721e587d720d8926e8e7。最终 adapter SHA256 为 9b55e8eda00997544b76fa945d890605c3acae4199041c197ef5a09275142a7c;合并权重 SHA256 为…

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

Model · Zero-shot classification

finecat-nli-v2-xl

Lee Miller

This model is a fine-tune of jhu-clsp/ettin-encoder-1b, trained on the dleemiller/FineCat-NLI-Reason dataset, a compilation of several high-quality NLI data sources with quality screening and reduction of easy samples in the training split. Also includes additional NLI, fact verification and long document sources (2.05M pairs in total). The training uses logit distillation from an NLI finetune of Qwen3.8-27B. \begin{equation} \mathcal{L} = \alpha \cdot \mathcal{L}{\text{CE}}(z^{(s)}, y) + \beta \cdot T^2 \cdot \mathrm{KL}\left(\sigma(z^{(t)}/T) \,\|\, \sigma(z^{(s)}/T)\right) \end{equation} where \\(z^{(s)}\\) and \\(z^{(t)}\\) are the student and teacher logits, \\(y\\) are the ground…

Open weights apache-2.0 1B parameters 7,999 tokens sentence-transformers

Model · Zero-shot classification

d3-lite

vLLM Semantic Router

d3-lite is the 0.8B multimodal foundation decision model of Decision 3.0, the decision models of vLLM Semantic Router. Give it an input (text or JSON, optionally with images) and the questions you need answered: pick one of several options, say yes or no, or rate on a scale. It answers them all in one call and returns a probability for every answer, without generating text. - Jev Decision Index 0.3, public suite: 36.94, measured with the official 0.3 kit on the released weights: all 140,178 public requests answered, none unsupported. - +16.4 on the public suite over Decision 2.0 (its 0.8B model: 20.57 on the board), ahead in all five areas. Images go before the text of the request, each…

Open weights apache-2.0 853M parameters 262,144 tokens transformers

Model · Zero-shot classification

Vela-2.0-0.8B

vLLM Semantic Router

Open Foundation Routing Models Routing decisions. Safety checks. Precise text spans. The compact hybrid member of Vela 2.0: a 756M-parameter model for multilingual routing, safety checks and span-level decisions through one interface. Define options, labels and rubrics at request time. Ask multiple named questions about a request, context and answer, and receive structured decisions with the text spans that support your workflow. 1. Compact deployment. About 3 GB of GPU memory for FP32 parameters, with a 16,384-token input limit. 2. Routing and safety together. Use one request for routing, prompt-attack checks, PII and unsupported-claim detection. 3. Decisions at span resolution. Return…

Open weights apache-2.0 755M parameters

Model · Zero-shot classification

OpenThai-SystemOne

iApp Technology

An open Thai + English "System One" decision model. It does not generate text. Given a state (any text or JSON) and typed questions, it returns calibrated probabilities over the options in one forward pass: The request/response contract mirrors TypeSafe's POST /v1/systemone so code written for the TypeSafe SDK can be pointed at this model unchanged. Typical uses: ticket routing, moderation, intent detection, RAG relevance judging, LLM-output verification, and computer-use / browser-agent action selection (which element to click, which tool to call). Gated-DeltaNet / attention, 262k context), vision encoder removed, then continued-pretrained on ~5B tokens of Thai (web, Wikipedia, parallel…

Open weights apache-2.0 753M parameters 262,144 tokens

Model · Zero-shot classification

chinese-decision-0.8b

Quincyqiang

各尺寸、部署格式与外部模型对比。2B BF16 与 2B Q80 均已公开发布并完成 CJ-Bench 全量评测:2B 整体准确率更高,0.8B 更小更快,部分法律判断与金融评分任务仍是 0.8B 更好。 Chinese Decision 是一个面向中文场景的轻量级决策模型。它不聊天、不生成文本,只做一件事:给定上下文和一组固定候选项,返回每个候选项的概率。 - 一次前向,零输出 token:读取最后位置上候选字母 A–Z 的 logits,softmax 后即为概率。 - 三种题型:noul(是/否)、choice(单选)、score(有序等级,返回期望分值)。 以下截图来自我们的测试平台 Decision Studio,后端运行的就是本模型(step 10000)。这些场景采用同一种设计:业务规则写在代码里,决策模型只负责给出概率。 每张工单在一次请求里同时问 6 个问题:类别(choice),严重程度和情绪(score),是否可复现、是否要求退款、是否有流失风险(noul)。不管后续用不用得上都一并提问,省去多次往返。路由规则写在代码里,根据这些概率决定工单派给哪个队列;类别置信度低于 0.5 时转人工复核。截图中 8 张工单 × 6 个问题共 48 次决策,用时 285 ms。 推荐同时安装 flash-linear-attention,它为 Qwen3.5 的线性注意力层提供高效 kernel: Hugging Face: ModelScope: decisionconfig.json 中的温度只在 softmax 前缩放…

Open weights apache-2.0 752M parameters 262,144 tokens transformers