---
title: "Qwen-3.5-2B (BF16) · DGX Spark Arena"
canonical: "https://djangodevreng.nl/en/arena/qwen-3-5-2b-bf16/"
license: "CC-BY-4.0"
source: "https://github.com/djangodevreng/dgx-spark-benchmarks"
attribution: "Django de Vreng, https://djangodevreng.nl"
---

# Qwen-3.5-2B (BF16)

Sweet spot tussen 0.8B en de echt grote modellen op de Spark. 50 tokens per gebruiker op chat (c=10), TTFT P50 onder de 80 ms op ShareGPT, en onder maandagochtend-piek tikt 'ie 1.20 RPS aan met 5.4k aggregate t/s. Op multi-turn kantoorwerk haalt 'ie 47.7 t/s per gebruiker op c=10, vergelijkbaar met chat. Quality-sprong tegenover 0.8B: MMLU-Pro 55.3 versus 29.7, SuperGPQA 30.4. Sweet-spot voor classifiers, routing en korte rapportages waar je iets meer kennis wil dan een 0.8B kan leveren.

## Specs

- Vendor: Alibaba
- Architecture: Hybrid
- Parameters: 2B
- Precision: BF16
- Context: 256K
- VRAM: 4 GB
- Engine: vLLM v0.20.1
- Hardware: DGX Spark, NVIDIA GB10, 128 GB unified memory
- Model card: https://huggingface.co/Qwen/Qwen3.5-2B

## Quality (model cards)

| Benchmark | Score |
| --- | --- |
| MMLU-Pro | 55.3 |
| GPQA | 30.4 |
| HumanEval / LCB | 0 |
| Avg | 42.9 |

## Benchmarks on the DGX Spark

| Test | tokens/s per user | tokens/s total | TTFT (ms) |
| --- | --- | --- | --- |
| 01 Chat | 50 | 329 | 390 |
| 02 RAG · 8k context | 39 | 283 | 2740 |
| 03 Lange output / agents | 51 | 215 | 190 |
| 04 Grote context · 25k | 22 | 115 | 9430 |
| 05 Multi-turn · kantoorwerk | 48 | 379 | 740 |
| 06 Realistische kantoor-baseline | 136 | 136 | 366 |
| 07 Echte gesprekken · ShareGPT | 18 | 18 | 76 |
| 08 Maandagochtend-piek | 180 | 180 | 470 |
| 09 Reasoning workload | 28 | 28 | 169 |

## What I made of it

**Worked: Quality-sprong tegen kleine throughput-prijs**

MMLU-Pro 55.3 versus 29.7 voor 0.8B, SuperGPQA 30.4. Decode op c=10 valt van ~100 t/s naar 50 t/s per gebruiker, half zoveel snelheid voor bijna twee keer zoveel kennis.

**Broke: Geen quantized release voor 2B**

Alibaba publiceert geen FP8 of NVFP4 voor de small Qwen3.5-lijn, alleen voor 27B en groter. Voor wie KV-cache headroom wil op deze schaal moet je zelf quantizen of een grotere FP8 kiezen.

**Cost: 25k×10 concurrent breekt de KV-cache**

Per-user decode op pp25000 c=10 valt naar 22 t/s. Dense BF16 zonder kwantisatie heeft op deze grootte gewoon te weinig KV-budget om tien parallelle 25k-sessies bij te houden. Voor groot context kies je beter een MoE of een gequantiseerde variant.

**Surprised: Prefill schaalt boven verwachting**

15.4k tokens per seconde aggregate prefill op pp4096 c=10 is harder dan ik bij een 2B verwachtte. Op pp8192 c=10 draait 'ie nog 13.1k. Voor classifiers en routing op kortere prompts ruim voldoende headroom voor een drukke kantoorload.

## Notes

BF16 zonder quantisatie. Hybride architectuur (zelfde 6 lagen Gated DeltaNet + 1 laag Gated Attention als de 0.8B sibling). KV-cache fp8_e4m3, max_model_len 131072 (model-native: 262k). Default profiel: prefix caching uit, async scheduling aan. Eerste E-poging faalde op de coherence-warmup ('Paris' verwacht), tweede run met identieke settings ging direct goed, de tokenizer-fallback-warning in llama-benchy is cosmetisch en raakt inference niet.

---

License: CC-BY-4.0 (https://creativecommons.org/licenses/by/4.0/). Django de Vreng, https://djangodevreng.nl.
Full arena: https://djangodevreng.nl/en/arena/ · Raw runs (GitHub): https://github.com/djangodevreng/dgx-spark-benchmarks
