d3-nano is the 2.21B decision model in the Decision 3.0 family from vLLM Semantic Router. It takes text, JSON, images or video plus typed questions (choice, yes/no, score) and returns a probability for every option in one call, without generating text. It scores 38.9 on the Jev Decision Index 0.3.2 text board and answers a text request in a median 13.4 ms on one AMD Instinct MI325X. Weights are open under Apache-2.0.
A solid 2.21B-parameter dense decision model from vLLM Semantic Router. Treat the modality benchmarks above as the leading indicator of fit — composite scoring across modalities is still maturing.
Generated from this model’s benchmarks and ranking signals. Editor reviews refine it over time.
Access model weights, configuration files, and documentation.
The top devices for this model at 4-bit, ranked by fit and speed.
| Device | Grade | VRAM |
|---|---|---|
| ACEMAGIC M1A Pro (i9-13900HK + ARC A770)ACEMAGIC | SS | 1.9 GB |
| Acer Veriton GN100 AI MiniAcer | SS | 1.9 GB |
| AMD Instinct MI300XAMD | SS | 1.9 GB |
| AMD Instinct MI325XAMD | SS | 1.9 GB |
| AMD Instinct MI355XAMD | SS | 1.9 GB |
Cheapest current cloud rentals with at least 2 GB VRAM, refreshed hourly.
Advertising disclosure: we earn commissions when you shop through the links below.
| Option | Cost / GPU-hour |
|---|---|
NVIDIA GeForce RTX 3060Vast.ai · Spot · 12 GB VRAM | $0.05 |
NVIDIA GeForce RTX 3060Vast.ai · On-Demand · 12 GB VRAM | $0.06 |
NVIDIA Tesla V100 16GBVast.ai · Spot · 16 GB VRAM | $0.08 |
NVIDIA GeForce RTX 5060 TiVast.ai · Spot · 16 GB VRAM | $0.09 |
NVIDIA GeForce RTX 5060Vast.ai · On-Demand · 8 GB VRAM | $0.10 |
Per-GPU rate across RunPod, the Vast.ai marketplace, DigitalOcean, and Vultr.
Spot tier is interruptible. Plan for restarts when comparing against on-demand prices.
The d3-nano model from vLLM Semantic Router is a specialized 2.21B parameter dense decision model built for deterministic classification, intent routing, and structured evaluation. Rather than functioning as an autoregressive text generator that predicts next tokens, d3-nano processes states (text, structured JSON, images, or video) against predefined questions and outputs probability distributions across target classes in a single forward pass. It sits in the Decision 3.0 family, providing an open-source, non-generative alternative to using heavy generalist large language models for triage and tool routing.
For engineers running local agent architectures, routing has historically presented an awkward tradeoff. Using a standard 7B or 8B generative model with structured JSON output introduces latency penalties, token generation overhead, and parsing failures. Conversely, traditional zero-shot cross-encoders often struggle with nuanced multimodal contexts. The d3-nano model targets this gap directly, scoring 38.9 on the Jev Decision Index 0.3.2 text leaderboard while running with a median text latency of 13.4 ms on enterprise accelerators like the AMD Instinct MI325X.
Released under an Apache-2.0 license, d3-nano serves as an ultra-fast System 1 triage layer. It allows developers to classify incoming queries, enforce policy checks, score input urgency, and route tasks across local execution graphs without adding prompt-formatting latency or consuming the memory footprint of a generative system.
The d3-nano model is built on a 2.21B parameter dense backbone derived from Qwen3.5-2B, split between a 1.88B language foundation and an integrated 0.33B vision encoder.
Its text processing engine uses 24 layers configured in a hybrid attention setup: three linear-attention layers for every standard full-attention layer. This hybrid design significantly minimizes the computational bottleneck of quadratic self-attention on long contexts. The language backbone features a hidden dimension of 2,048, an intermediate feed-forward network (FFN) dimension of 6,144, 8 query heads over 2 key-value heads (Grouped-Query Attention) with a head dimension of 256, and an attention output gate. The linear-attention layers implement 16 value and 16 key heads with a dimension of 128 and a convolution kernel size of 4.
Key architectural specifications include:
system_one runtime) returning Softmax-normalized probability arrays across candidate targetsBecause d3-nano does not generate tokens sequentially, it bypasses the autoregressive decode phase entirely. Inference time is determined almost exclusively by prefill throughput. Multiple questions (choice, noul, and score) evaluated against the same input state can be processed simultaneously against shared activations, maximizing GPU compute density.
The model is optimized strictly for zero-shot decision classification. It handles three core question primitives:
In production environments, d3-nano replaces brittle prompt-based routing pipelines. Concrete implementations include:
Instead of sending every raw user prompt to a large reasoning model, d3-nano evaluates input difficulty, required tools, and domain requirements in sub-20ms runtimes. Easy queries route to local small language models (SLMs), while complex reasoning queries route to frontier models.
Because d3-nano natively embeds images and video (sampled at 2 frames per second), it can evaluate media inputs directly. An automation pipeline can feed a customer support ticket containing text and a photo of a broken part to d3-nano, simultaneously asking whether a receipt is present (binary), which department owns the ticket (choice), and how severe the physical damage appears (score).
Running input-output safety checks through generative LLMs doubles system latency. Serving d3-nano as an inline guardrail allows teams to classify safety violations, prompt injection attempts, and context drift at line speed before downstream models execute.
Because d3-nano is an efficient local AI model with 2.21B parameters, running it on consumer hardware requires minimal system resources.
The memory footprint of d3-nano is dictated by its weights and the working memory needed for batch prefill:
How to run a 2.21B model on a consumer GPU comes down to framework support. For standard desktop setups:
Traditional generative metrics like "d3-nano tokens per second" do not apply in the typical sense because the model does not generate output tokens. Its d3-nano performance is measured in request latency and decisions per second:
For practitioners selecting the best quantization for d3-nano:
You can load and test the weights directly via Hugging Face Transformers:
1pip install "transformers==5.17.0" torch torchvision pillow safetensors accelerate
1from transformers import AutoModel23model = AutoModel.from_pretrained("vllm-sr/d3-nano", trust_remote_code=True)45result = model.system_one(6 state="Customer asking for an immediate refund on an order delivered three weeks ago.",7 questions={8 "route": {9 "type": "choice",10 "instructions": "Determine handling tier",11 "criteria": {12 "support_l1": "Standard inquiries and tracking",13 "returns": "Refund processing and RMA creation",14 "escalations": "Policy disputes and high-value orders"15 }16 },17 "eligible": {18 "type": "noul",19 "instructions": "Is the order within the standard 14-day return window?"20 }21 }22)23print(result["answers"])
Understanding d3-nano vs alternative routing setups comes down to task specialization versus generalist overhead.
If your pipeline requires creative synthesis, complex free-form code generation, or agentic dialogue, run a general-purpose autoregressive model. If your architecture demands a low-overhead, deterministic decision engine for classification, filtering, and traffic routing, d3-nano offers optimal parameter efficiency and latency.

Explore the Provider
Aggregate stats, leaderboard, release timeline, and benchmark coverage across every vLLM Semantic Router model we track.

Check which of your devices can run this model and how fast.

Compare hosted per-token prices before you commit to local hardware.

Break-even math for self-hosting, renting a GPU, or paying per token.
Live status for the hosted APIs you might use instead of running this locally.