NVIDIA Nemotron 3.5 Bolt E4B · Atomic Dynamic GGUF
Atomic Dynamic (AD) quants of NVIDIA's Nemotron 3.5 Bolt E4B, built from NVIDIA's original BF16 weights. From 4.0 GB to 8.0 GB on disk.
- Bolt E4B is NVIDIA's small reasoning and chat model, post-trained from Google's Gemma-4-E4B-it.
- Every file here was measured against the BF16 original on one stand, next to the other publishers' files.
[!NOTE] Built on release day, 23 October. Every
AD-file belowAD-Q6_Kwas rebuilt the same evening with a better layout (below).AD-Q4_K_Muses our own importance matrix, collected on the BF16 weights over a corpus rendered through this model's chat template (imatrix/imatrix.ggufin the metrics repo). The other files use Unsloth's published one (imatrix_unsloth.gguffrom unsloth/NVIDIA-Nemotron-3.5-Bolt-E4B-GGUF): we builtAD-Q5_K_MtoAD-IQ3_Swith both, and on held-out code the two came out within noise of each other, slightly ahead with Unsloth's at 3 bits.AD-IQ3_XXS(3.82 GB) was taken down the same evening: it picked the original's next word only 74.6% of the time, below the 75% we publish at.
Pick a file
KL divergence is how far the quantized model's predictions drift from the
original weights. Lower is better, and zero means identical. top-1 is how
often it picks the same next word the original would have picked. Raw logs are
in the metrics repo.
| File | Size on disk | Bits per weight | KL divergence | top-1 |
|---|---|---|---|---|
NVIDIA-Nemotron-3.5-Bolt-E4B-Q8_0.gguf |
8.03 GB | 8.54 | 0.0169 | 96.04% |
NVIDIA-Nemotron-3.5-Bolt-E4B-AD-Q6_K.gguf |
7.38 GB | 7.84 | 0.0260 | 94.94% |
NVIDIA-Nemotron-3.5-Bolt-E4B-AD-Q5_K_M.gguf |
5.48 GB | 5.83 | 0.0431 | 93.70% |
NVIDIA-Nemotron-3.5-Bolt-E4B-AD-Q4_K_M.gguf |
5.06 GB | 5.38 | 0.0912 | 91.06% |
NVIDIA-Nemotron-3.5-Bolt-E4B-AD-IQ4_XS.gguf |
4.48 GB | 4.76 | 0.1728 | 86.57% |
NVIDIA-Nemotron-3.5-Bolt-E4B-AD-IQ3_S.gguf |
4.03 GB | 4.29 | 0.4316 | 78.81% |
Other builds, same stand
| File | Size on disk | KL divergence | top-1 |
|---|---|---|---|
| lmstudio-community NVIDIA-Nemotron-3.5-Bolt-E4B-Q8_0.gguf | 8.03 GB | 0.0169 | 96.04% |
| unsloth NVIDIA-Nemotron-3.5-Bolt-E4B-UD-Q6_K_XL.gguf | 7.11 GB | 0.0348 | 94.39% |
| lmstudio-community NVIDIA-Nemotron-3.5-Bolt-E4B-Q6_K.gguf | 6.22 GB | 0.0620 | 91.96% |
| nvidia Nemotron-3.5-Bolt-E4B-Q4_K_M.gguf | 6.18 GB | 0.2411 | 84.06% |
| unsloth NVIDIA-Nemotron-3.5-Bolt-E4B-UD-Q5_K_XL.gguf | 5.87 GB | 0.0752 | 91.39% |
| unsloth NVIDIA-Nemotron-3.5-Bolt-E4B-UD-Q4_K_XL.gguf | 4.76 GB | 0.0960 | 90.29% |
| unsloth NVIDIA-Nemotron-3.5-Bolt-E4B-UD-Q3_K_XL.gguf | 4.22 GB | 0.1816 | 86.39% |
| unsloth NVIDIA-Nemotron-3.5-Bolt-E4B-UD-IQ3_XXS.gguf | 3.70 GB | 0.5055 | 77.80% |
[!IMPORTANT] This model is unusually sensitive to quantization. Even a plain 8-bit copy picks the original's next word only 96% of the time on our text (most models reach 98% or more), and it falls quickly below 5 GB.
AD-IQ3_Schanges the next word too often (top-1 below 80%): use it only if nothing larger fits.
AD- marks an Atomic Dynamic layout. The rest of the name is the type of
the FFN up projections, the largest tensor group. Q8_0 is plain 8-bit
throughout. Compare files by size on disk, not by name.
What we measured on this model: the FFN and attention are what matter. About
a third of the weights are one table, the per-layer embeddings (262,144 rows of
42 x 256), and the embedding is also the output head; at the 4-bit point,
putting either of them back at 8 bits changed almost nothing. So the files
below AD-Q6_K keep the whole FFN one step up from what their name suggests
(in AD-Q4_K_M: q5_k, with the first three and last eight layers at q6_k),
lift attention one or two steps (in AD-Q4_K_M: query q5_k, output q6_k,
which alone took its KL divergence from 0.107 to 0.094 for 66 MB), and take the
bytes from the table (iq4_nl) and the head (q4_k or q5_k). The last 18
layers reuse the key-value cache of earlier ones, so their own key and value
projections, which NVIDIA's checkpoint still carries, are never read; they are
stored at q4_0.
Running it
llama-server -m NVIDIA-Nemotron-3.5-Bolt-E4B-AD-Q4_K_M.gguf -ngl 99 -c 32768 --jinja \
--temp 1.0 --top-p 0.95
The chat template is inside every file. Thinking is off unless you turn it on:
llama-server -m NVIDIA-Nemotron-3.5-Bolt-E4B-AD-Q4_K_M.gguf -ngl 99 -c 32768 --jinja \
--temp 1.0 --top-p 0.95 --chat-template-kwargs '{"enable_thinking": true}'
Temperature 1.0 and top-p 0.95 are NVIDIA's recommended settings, for thinking on and off.
Images and audio
mmproj-NVIDIA-Nemotron-3.5-Bolt-E4B-F16.gguf (0.99 GB) is the projector for the
image and audio towers in NVIDIA's checkpoint, shared by every quant. NVIDIA
serves this model as text only, and we have not tested image or audio input yet.
How we measured
Reference: the original BF16 weights, converted to GGUF and run unquantized.
Held-out text: eval_neutral from our
calibration dataset
(30 languages), never used for calibration, 24 chunks at 4096 context.
Every file in the comparison, ours and the others, was run with the same
reference logits, text, context and llama.cpp build (36e36e63) on one
A100-SXM4-40GB.
A second held-out text, eval_code (16 chunks at 4096, its own BF16 reference):
AD-Q4_K_M 0.0311 KL divergence and 95.34% top-1, Unsloth's UD-Q4_K_XL
0.0363 and 95.16%; AD-Q5_K_M 0.0156 and 96.80%.
Model details
Gemma 4 E4B architecture: 42 layers, hidden size 2560, a sliding window of 512
tokens with a full-attention layer every sixth, the last 18 layers reusing the
key-value cache of earlier ones, per-layer embeddings, vocabulary 262,144, tied
input and output embeddings. Context up to 64K tokens (NVIDIA's figure; we
measured at 4096). Converted with upstream llama.cpp's converter at 36e36e63;
the files need a llama.cpp with gemma4 support.
License
Use of the model is governed by NVIDIA's OpenMDW License Agreement, version 1.1. NVIDIA post-trained it from Google's Gemma 4 (Gemma-4-E4B-it), whose use is governed by the Apache License, Version 2.0.
Quantized by AtomicChat.