AI disclosure: This article was prepared with generative AI assistance. Editorial responsibility: Florian Zimmermeister (flozi00). Legal notice and contact.
NVIDIA released Nemotron 3.5 Bolt E4B BF16 and its target-specific DFlash NVFP4 drafter on October 23, 2026. This is a usable serving pair rather than a paper-only prototype: NVIDIA publishes both checkpoints and a vLLM 0.31.0 command. The target has 8B total and 4B effective parameters; the companion is a 1.03B-parameter, five-layer Qwen3-style draft network.12
Despite the shared βBolt 3.5β name, this is not the 74B-A9B hybrid model covered in the LatentMoE and IQ2 article. E4B is a 42-layer Gemma 4 text backbone. Its DFlash companion is also different from the LiLiCorr drafter released for 74B Bolt. A drafter is fitted to one target's vocabulary, hidden width and selected internal layers; it is not a generic small language model.
This article audits target revision 49843eed8db1f1c616c47af75cfd36e07aec0667, draft revision 913d13c49fbbb2b477dce78552a31ab650d5b693, vLLM db9527a46873454610df6dbedf79a36d6bf1a7f6, and NeMo AutoModel 6b0f669ec07e4b9d0f37c92162384b3c7cc97c15, checked on October 24, 2026. Byte counts below are logical payloads, not measured GPU allocations. We did not execute the checkpoints or benchmark a GPU.
The released serving cycle
Ordinary autoregressive decoding runs the full target once for every new token. DFlash instead amortizes one target verification over a block:
- the target supplies the last verified token and hidden states captured after zero-based layer IDs 5, 11, 17, 23 and 35;
- the drafter forms an eight-position block: one real anchor followed by seven mask tokens;
- one non-causal five-layer forward predicts all seven future positions in parallel;
- the target evaluates the proposed continuation in one pass; and
- exact speculative verification accepts the longest valid prefix and samples a correction when required.
The output still comes from the target distribution. βNon-causalβ applies inside the draft block, not to target verification: a proposal is cheap, but it cannot authorize itself. The released block size is eight, so the maximum acceptance length is eight output tokens per cycle, including the target's correction or next token.234
| Released property | Target E4B | DFlash companion |
|---|---|---|
| Transformer layers | 42 | 5 |
| Hidden width | 2,560 | 2,560 |
| Attention Q / KV heads | 8 / 2 | 32 / 8 |
| Head width | 256 local / 512 global | 128 |
| FFN intermediate width | 10,240 | 5,120 |
| Sliding window | 512 | 1,024 on every draft layer |
| Full-attention layers | 7 | 0 |
| Vocabulary | 262,144 | 262,144 |
| Serving context | 65,536 | bounded by the target contract |
| Draft block | β | 1 anchor + 7 proposals |
Five target states become persistent draft context
Let the five selected target tensors be . The runtime concatenates them on the feature axis and projects them back to the draft width:
The resulting context is projected into K/V entries and inserted into every draft layer's cache. For the eight block positions, each layer forms Q with shape and K/V with shape before adding the cached context. Four query heads share each KV head. Per-head Q/K RMS normalization is applied before RoPE. The released vLLM implementation can fuse unquantized K/V projections into one matrix multiplication; packed quantized weights instead go through the configured quantization method per layer.56
The chosen target indices are not arbitrary positions in a uniform stack. E4B has 35 sliding-window layers and seven full-attention layers, with a full layer every sixth layer. The drafter reads five of those full-attention outputs: 5, 11, 17, 23 and 35. It does not capture full-attention layers 29 and 41. This gives the small draft network compressed global features while its own attention remains limited to the latest 1,024 tokens.75
During training, the anchor is real and later positions are masked. Positions inside one block may communicate bidirectionally, but the mask prevents leakage from later blocks. NVIDIA weights earlier prediction positions more heavily, using in the published method. These are training mechanics; the release fixes the block to seven proposals at inference.34
Why exact verification preserves the target
For one position, let be the drafter's probability and the target probability. If the draft samples token , speculative sampling accepts it with
If it rejects, it samples from the normalized positive residual
The probability mass accepted through is . The rejection branch contributes the missing positive part . Together they reconstruct after normalization. Applied sequentially across the proposed block, this accepts the longest valid prefix without changing the target distribution. For greedy decoding the rule is simpler: accept proposals while they equal the target argmax, then take the target token at the first mismatch.34
This is why a weaker draft can still be useful: it does not need to be trusted for final quality. It only needs enough conditional agreement with the target to amortize verification. A better draft increases the expected accepted prefix, but an overly large draft raises the cost paid on every cycle.
The parameter count exposes the real cost
The model card reports 1,031,568,640 logical parameters. The released dimensions reproduce that number exactly:
| Component | Derivation | Parameters |
|---|---|---|
| Own output head | 671,088,640 | |
| Five attention stacks | 131,072,000 | |
| Five SwiGLU MLPs | 196,608,000 | |
| Target-state projection | 32,768,000 | |
| RMSNorm parameters | released tensor geometry | 32,000 |
| Total | 1,031,568,640 |
The output head alone is 65.1% of the parameters. It is an NVFP4 copy of the target head because the drafter must score the same 262,144-token vocabulary. Conversely, the token embedding is shared with the target and absent from the draft checkpoint. At BF16, avoiding a duplicate embedding avoids a 1.25 GiB logical payload.25
At an ideal four bits per parameter, all draft codes would occupy 491.9 MiB; the output-head codes alone would occupy 320 MiB. The published repository is 580 MB because real storage also contains quantization scales, BF16 exclusions, tensor metadata and alignment. βNVFP4β is therefore a compute/storage format, not a promise that the file is exactly half a byte times the parameter count.
The default revision is W4A16: NVFP4 weights with 16-bit activations. The w4a4 revision also uses NVFP4 activations and requires Blackwell activation kernels; NVIDIA specifies a CUDA 13 vLLM build on GB300. The config leaves draft KV-cache quantization disabled and excludes norms from the packed path.258
Cache and latency have separate break-even points
For five draft layers, eight KV heads, a 1,024-token window, head width 128 and BF16 K/V, the logical cache payload per sequence is
At 64 sequences that payload alone is 1.25 GiB, before paging, alignment and allocator reservations. DFlash also makes the target expose five hidden states and maintains proposal/rollback state. The drafter checkpoint's small file size is not the full serving overhead.
Let be the time for one ordinary target decode step, the block-draft time, the target verification time, and the measured mean output tokens accepted per cycle. Then
An acceptance length of four is therefore not a fourfold speedup. Verification processes a block efficiently, but it is not free; the draft pass, state projection, cache traffic and rejected proposals all remain. The break-even point changes with prompt length, sampling entropy, batch size and kernels.3
NVIDIA's vendor measurements use W4A16, thinking enabled, 4,096 output tokens, concurrency 16 and one GB300. Under those conditions the reported mean acceptance length is 4.01 for greedy MT-Bench and 3.65 with temperature 1; SPEED-Bench reports 3.88 and 3.50. These are acceptance measurements, not end-to-end speedups, and they must not be transferred to other hardware or traffic patterns. NVIDIA also reports roughly 1% lower acceptance for W4A16 and 2% for W4A4 versus an unquantized BF16 draft.2
Production boundary: latency path, not universal throughput path
The official DFlash example sets max-num-seqs=1. The target card's separate maximum-throughput recipe sets 64 sequences and explicitly says that no speculative decoding is best for that configuration. This is the practical dividing line: DFlash can reduce low-concurrency inter-token latency when spare compute can turn a verification pass into several tokens; continuous batching may already keep the target efficient enough that the extra draft work loses.1
Other boundaries matter:
- Target pairing is exact. The 2,560-wide projection, vocabulary, layer indices and target head tie this checkpoint to Nemotron 3.5 Bolt E4B.
- The joint context contract is 64K text. The draft config declares 131,072 positions and its card lists multimodal inputs, but the released E4B service card specifies text/text and 65,536 tokens, and its vLLM command disables image, video and audio. Use the target's narrower deployed contract unless a separate stack is validated.
- Hardware paths differ. W4A16 is the default. W4A4 is a Blackwell-specific activation-kernel path, not a portable synonym.
- Quality is target quality, not draft quality. Exact verification preserves sampling semantics; it does not fix inaccuracies, bias or unsafe target output.
- Pin both artifacts and the runtime. Changing either target weights or hidden-state conventions can reduce acceptance or make the checkpoint incompatible.
The engineering value of this release is the separation of responsibilities. The 42-layer target remains the authority; five selected global target states condition a much smaller non-causal network; exact verification protects the distribution; and NVFP4 reduces the always-resident draft weight cost. Whether that trade is positive is measurable only at the intended context, sampling policy, concurrency and GPU.
Primary sources
Footnotes
-
NVIDIA, Nemotron 3.5 Bolt E4B BF16 model card at
49843eed, released October 23, 2026; target scope and vLLM recipes. β© β©2 -
NVIDIA, DFlash NVFP4 model card at
913d13c, released October 23, 2026; serving cycle, parameters, quantization, evaluation conditions and limitations. β© β©2 β©3 β©4 β©5 -
Chen, Liang and Liu, DFlash: Block Diffusion for Flash Speculative Decoding, arXiv:2602.06036v2; block training, verification and latency model. Its Qwen/Llama benchmark numbers are not treated as Nemotron E4B measurements here. β© β©2 β©3 β©4
-
NVIDIA NeMo AutoModel, DFlash implementation at
6b0f669e; training block construction and inference sampling. β© β©2 β©3 -
NVIDIA, released DFlash configuration at
913d13c; block, layer, head, cache and quantization geometry. β© β©2 β©3 β©4 -
vLLM,
qwen3_dflash.pyat v0.31.0 commitdb9527a; target-state fusion, attention, cache insertion and weight loading. β© -
NVIDIA, released Gemma 4 E4B configuration at
49843eed; exact target layer, attention and context geometry. β© -
NVIDIA, released ModelOpt quantization configuration at
913d13c. β©