Downloads · 30 days
18
2% of all-time downloads
robbatt/Qwen3.6-40B-Deckard-NVFP4
Qwen3.6-40B-Deckard-NVFP4 is a machine learning model from robbatt. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
⚠️ Disclaimer: Entirely Vibe Coded! This is my first model experiment. Don't expect highest quality — built for the NVIDIA DGX Spark GB10, your mileage may vary.
Downloads · 30 days
18
2% of all-time downloads
All-time downloads
809
Public
Parameters
27.2B
38.6 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors38.6 GB · 100%
How the weights are stored.
U814.1B · 52%
From the Hugging Face model README
⚠️ Disclaimer: Entirely Vibe Coded! This is my first model experiment. Don't expect highest quality — built for the NVIDIA DGX Spark GB10, your mileage may vary.
NVFP4 quantization of DavidAU/Qwen3.6-40B-Claude-4.6-Opus-Deckard-Heretic-Uncensored-Thinking, optimized for NVIDIA Blackwell (GB10 DGX Spark) using compressed-tensors. Benchmarked with DFlash speculative decoding using z-lab/Qwen3.6-27B-DFlash as a drafter (note: mismatched target — the drafter was trained for a 27B target, not 40B).
Served via the excellent AEON-7/Qwen3.6-27B-AEON-Ultimate-Uncensored-NVFP4 and its accompanying vLLM AEON Ultimate DFlash Docker image, which adds DFlash speculative decoding support to vLLM.
Benchmarked on a NVIDIA DGX Spark (GB10 Superchip):
DavidAU/Qwen3.6-40B-Claude-4.6-Opus-Deckard-Heretic-Uncensored-Thinking — a 40B dense model expanded from Qwen 3.6 27B and trained on Claude 4.6 Opus reasoning data. Architecture: Qwen3_5ForConditionalGeneration (96 layers, model_type: qwen3_5).
Quantized using llmcompressor with the following recipe:
default_stage:
default_modifiers:
QuantizationModifier:
targets: [Linear]
ignore:
- 're:.*lm_head'
- 're:.*embed_tokens$'
- 're:.*visual.*'
- 're:.*model.visual.*'
- 're:.*linear_attn.*'
- 're:.*norm.*'
- 're:.*q_norm.*'
- 're:.*k_norm.*'
scheme: NVFP4
bypass_divisibility_checks: false
NVFP4 (NVIDIA FP4) is a Blackwell-native 4-bit floating-point format supported by the GB10's Tensor Cores. It gives roughly 2× memory reduction vs bf16 with near-zero quality loss, and enables the full 40B model to fit comfortably in the GB10's 128 GiB unified memory.
NVIDIA DGX Spark (GB10, 128 GiB)
└─ Docker: ghcr.io/aeon-7/vllm-aeon-ultimate-dflash:qwen36-v4
├─ vLLM (DFlash-patched fork by aeon-7)
├─ Target model: robbatt/Qwen3.6-40B-Deckard-NVFP4
│ --quantization compressed-tensors
│ --gpu-memory-utilization 0.72
│ --tool-call-parser qwen3_xml
└─ DFlash drafter: z-lab/Qwen3.6-27B-DFlash ← mismatched (see notes)
--speculative-config '{"method":"dflash","num_speculative_tokens":15}'
Docker Compose (excerpt, bench overlay adds ports: ["8000:80"]):
docker compose -f docker-compose.yml -f docker-compose.bench.yml \
--profile bench-40b-draft up -d deckard-draft
DFlash note: DFlash (arXiv:2602.06036) is a block-diffusion speculative decoding method where a small 5-layer draft model predicts multiple tokens in parallel. The z-lab 27B drafter was trained against a 27B target's hidden states. Using it with this 40B model gives ~13.6% token acceptance (vs ~32% for a matched 27B→27B pair) — it still works and provides a real speedup, but a drafter trained specifically for the 40B target would be significantly better. If you have the resources to train one, please reach out!
All benchmarks run on a NVIDIA DGX Spark GB10, client on a separate x86 machine. B=N = N concurrent requests. HumanEval=20 problems, MMLU-STEM=50 questions, Tool Use=20 tasks. The 27B AEON rows use AEON-7/Qwen3.6-27B-AEON-Ultimate-Uncensored-NVFP4 and are included as reference baselines.
⚠️ These are minimal smoke tests to get a directional sense of performance — sample sizes are small and results are not statistically representative. Treat the numbers as rough indicators, not rigorous benchmarks.
| Model | KV Cache | B=1¹ (tok/s) | B=4¹ (tok/s) | B=8¹ (tok/s) | DFlash accept. rate | HumanEval | MMLU | Tool Use |
|---|---|---|---|---|---|---|---|---|
| 27B AEON solo (NVFP4) | bf16 | 12.7 | 51.0 | 81.1 | — | 65% | 98% | 80% |
| 27B AEON solo | fp8_e4m3 | 12.8 | 51.2 | 81.4 | — | — | — | — |
| 27B AEON solo | turboquant k8v4 | 12.7 | 50.8 | 80.6 | — | — | — | — |
| 27B AEON + DFlash (matched) | bf16 | 50.3 | 140.3 | 178.4 | 32.1% | 65% | 98% | 80% |
| 40B Deckard solo (NVFP4) | bf16 | 6.5 | 24.4 | 40.2 | — | 85% | 98% | 90% |
| 40B Deckard solo | fp8_e4m3 | 6.6 | 24.2 | 39.6 | — | — | — | — |
| 40B Deckard solo | turboquant k8v4 | 6.5 | 24.0 | 33.6 | — | — | — | — |
| 40B Deckard + z-lab 27B DFlash† | bf16 | 16.0 | 38.8 | 50.2 | 13.6% | 90% | 100% | 95% |
¹ Output tokens/sec at N concurrent requests (single-user baseline → light multi-user load). Higher concurrency increases GPU utilization and amortizes fixed overhead, so throughput scales non-linearly.
†Mismatched drafter — z-lab's drafter was trained against a 27B target, not the 40B. A matched 40B drafter would push acceptance to ~32% and throughput to 4×+ at B=1.
Observations:
Test scripts used are uploaded to this repo (eval/).
Both models use a hybrid architecture (full_attention_interval=4): only every 4th layer is full attention; the rest are linear (Mamba-style) attention with O(1) state. This means only 25% of layers need a traditional KV cache — dramatically less than a pure transformer.
Architecture facts:
fc + norms). It shares the target's token embedding and LM head, so those add no extra memory. It also keeps a small KV cache of its own during speculation (~5 GiB at full 256k context, included in the DFlash rows below).| Config | Weights (GiB) | KV @ 256k (GiB) | DFlash wts + KV (GiB) | Total (GiB) | Max concurrent @ 128 GiB |
|---|---|---|---|---|---|
| 27B solo (bf16 KV) | 24.6 | 16.0 | — | ~43 | 5× |
| 27B + fp8_e4m3 KV | 24.6 | 8.0 | — | ~35 | 11× |
| 27B + turboquant k8v4 KV | 24.6 | 6.0 | — | ~33 | 15× |
| 27B + DFlash (matched) | 24.6 | 16.0 | ~3.2 + ~5 | ~51 | 4× |
| 40B solo (bf16 KV) | 35.9 | 24.0 | — | ~62 | 3× |
| 40B + fp8_e4m3 KV | 35.9 | 12.0 | — | ~50 | 7× |
| 40B + turboquant k8v4 KV | 35.9 | 9.0 | — | ~47 | 9× |
| 40B + DFlash (mismatched†) | 35.9 | 24.0 | ~3.2 + ~5 | ~70 | 2× |
KV cache formula: (bytes_K + bytes_V) × full_attn_layers × kv_heads × head_dim × seq_len
A pure transformer with the same layer count would need 4× more KV cache — the hybrid architecture is a key reason this 40B model is practical on the GB10.
| File | Description |
|---|---|
config.json | Model architecture config (Qwen3_5, compressed-tensors NVFP4) |
recipe.yaml | llmcompressor quantization recipe used to create this model |
model-*.safetensors | NVFP4 quantized weights (9 shards) |
eval/bench_quality.py | Quality benchmark script (HumanEval / MMLU-STEM / Tool Use) |
eval/benchmark_throughput.py | Throughput benchmark script (batch tok/s, TTFT, DFlash acceptance) |