Quantized using NVIDIA ModelOpt 0.42.0 with AWQ_FULL (exhaustive grid search + clipping optimization) on a native B200 GPU for maximum fidelity at 4-bit precision.
This model was quantized using the most thorough NVFP4 quantization pipeline available:
AWQ_FULL — Exhaustive grid search with alpha_step=0.1 across 10 scaling factors per layer, plus a second awq_clip pass that optimizes clipping ratios. This is the most thorough AWQ variant, producing mathematically optimal per-channel scaling. (~75 min vs ~11 min for AWQ_LITE)
Full NVFP4 Quantization — All attention projections (Q/K/V/O) AND all MLP layers (gate/up/down) quantized to FP4. No layers left at higher precision (except vision, embeddings, norms, and lm_head).
Native B200 Calibration — Calibrated on NVIDIA B200 (Blackwell SM 12.0) with native FP4 hardware instructions, producing hardware-accurate scale factors.
This repo contains the AWQ_FULL variant, which provides the best balance of quality and throughput.
Gemma 4 31B DECKARD HERETIC (BF16, ~62 GB)
|
v
[NVFP4 AWQ_FULL on B200]
- ModelOpt 0.42.0 with NVFP4_AWQ_FULL_CFG
- alpha_step=0.1 (10 scaling factors per layer)
- awq_clip clipping ratio optimization
- 2048 calibration samples (CNN DailyMail)
- Native Blackwell FP4 hardware calibration (SM 12.0)
- Excluded: vision tower, embed_vision, multi_modal_projector
|
v
Gemma-4-31B-DECKARD-HERETIC-NVFP4 (~20.5 GB)
Advanced Techniques
AWQ_FULL vs AWQ_LITE
Standard AWQ_LITE does a single-pass heuristic for channel scaling. AWQ_FULL performs an exhaustive grid search with alpha_step=0.1 across 10 scaling factors per layer, plus a second awq_clip pass that optimizes clipping ratios. This produces mathematically optimal per-channel scaling at the cost of longer quantization time (~75 min vs ~11 min on B200). Same output format and size — strictly higher quality.
input_scale (float32) — static activation scale from calibration
Native B200 Calibration
Quantized on NVIDIA B200 with native FP4 hardware instructions (SM 12.0). The AWQ calibration measures actual FP4 rounding behavior on real hardware rather than simulating it, producing more accurate scale factors than calibrating on non-FP4 hardware.
Startup takes ~5 minutes (weight loading + torch.compile + CUDA graph capture + FP4 GEMM autotuning). The server is ready when you see Application startup complete.
On the DGX Spark's unified memory keep --gpu-memory-utilization at 0.6-0.7; above ~0.8 the shared CPU+GPU pool page-thrashes. Discrete-VRAM GPUs can run higher.
Required — tells vLLM to use ModelOpt NVFP4 format
--kv-cache-dtype auto
BF16 KV cache on DGX Spark (use fp8 on B200 for 2x compression)
--max-model-len 65536
64K context — conservative for DGX Spark. Model supports up to 256K; increase with fewer concurrent sequences
--max-num-seqs 4
Concurrent sequences. vLLM pre-allocates KV cache, so balance with context length
--reasoning-parser gemma4
Extracts <think> blocks for thinking/reasoning display
--tool-call-parser gemma4
Enables native function calling
--enable-chunked-prefill
Processes long prompts in chunks to avoid OOM
--enable-prefix-caching
Caches common prompt prefixes for faster responses
The container auto-selects FlashInfer CUTLASS for native FP4 GEMM on DGX Spark. No need to set VLLM_NVFP4_GEMM_BACKEND. torch.compile and CUDA graphs are enabled by default for maximum throughput.
This model supports EAGLE-based speculative decoding using the DECKARD E4B drafter (9.6 GB NVFP4). Three patches to vLLM 0.19.1 are required — see the GitHub repo for patched files and full documentation.
Speculative Decoding Performance (DGX Spark)
Benchmarked with E4B drafter, 5 speculative tokens, 300 max tokens per request:
Concurrent
Aggregate tok/s
Per-Request tok/s
Avg Latency (300 tok)
1
7.6
8.9
39.4s
2
21.7
10.8
27.7s
4
42.7
10.7
28.1s
Quick Start with Drafter
Add --speculative-config to your vLLM serve command:
This model inherits the Gemma license from the base model.
Legal Disclaimer
THIS MODEL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. The authors make no representations regarding accuracy, reliability, or fitness for any purpose. Use at your own risk. By downloading or using this model, you agree that the authors shall not be liable for any claims, damages, or losses arising from its use.
☕ Support the work
If this release has been useful, tips are deeply appreciated — they go directly toward more compute, more models, and more open releases.