Skip to content
,

NVFP4 Explained: NVIDIA's 4-Bit Format for Blackwell

NVFP4 stores values in FP4 E2M1 with an FP8 scale per 16 values and an FP32 tensor scale. How it works, NVFP4 vs MXFP4, memory and accuracy, and how to use it.

3 min read

NVFP4 Explained: NVIDIA's 4-Bit Format for Blackwell

Short answer

NVFP4 is NVIDIA's 4-bit floating-point format for Blackwell GPUs. Each value is an FP4 E2M1 number (1 sign, 2 exponent and 1 mantissa bit), every block of 16 values shares an FP8 (E4M3) scale, and each tensor gets one more FP32 scale. That averages about 4.5 bits per value, roughly 3.5 times smaller than FP16 and 1.8 times smaller than FP8, and NVIDIA reports 1% or less accuracy loss versus FP8 on DeepSeek-R1. It differs from the open MXFP4 format mainly in using smaller blocks and finer, non-power-of-two scales.

Why 4-bit needs scaling

An FP4 E2M1 number can only represent eight magnitudes: 0, 0.5, 1, 1.5, 2, 3, 4 and 6, plus their negatives. Real model weights and activations span a much wider range, so storing them directly in FP4 would lose almost everything. The solution is to store a scale factor with each small group of values: the 4-bit numbers describe each value's shape relative to its neighbours, and the scale says how big the whole group is. Try FP4 rounding yourself in the number format converter.

How NVFP4 works

  1. Elements: each value is stored as 4-bit E2M1.
  2. Micro-block scale: every 16 consecutive values share one 8-bit FP8 E4M3 scale. Because E4M3 has a mantissa, the scale can be any value like 1.375, not just a power of two, which fits each block more tightly.
  3. Tensor scale: one FP32 scale per tensor shifts the block scales into E4M3's range.

value = FP4 element × FP8 block scale (per 16 values) × FP32 tensor scale

The storage cost is 4 bits per value plus 8 bits per 16 values, which is 4.5 bits on average. Blackwell's fifth-generation Tensor Cores apply the scales in hardware during the matrix multiply.

NVFP4 vs MXFP4

NVFP4 (NVIDIA)MXFP4 (OCP standard)
Element formatFP4 E2M1FP4 E2M1
Block size16 values32 values
Block scaleFP8 E4M3 (fractional)E8M0 (powers of two only)
Extra scaleFP32 per tensorNone
Average bits per value4.54.25
AccuracyHigher, thanks to smaller blocks and finer scalesSlightly lower
HardwareNVIDIA BlackwellNVIDIA Blackwell, AMD MI355X and others
MXFP4 is defined in the Open Compute Project Microscaling (MX) specification. OpenAI released gpt-oss with its expert weights in MXFP4.

Memory, speed and accuracy

  • Memory: about 3.5 times smaller than FP16 and 1.8 times smaller than FP8. A 70B model drops from about 140 GB in FP16 to about 40 GB of weights.
  • Speed: Blackwell runs FP4 at twice its FP8 Tensor Core rate: 9 PFLOPS dense per B200 and 13.5 PFLOPS per B300.
  • Accuracy: NVIDIA reports that quantizing DeepSeek-R1-0528 from FP8 to NVFP4 with post-training quantization cost about 1% or less on key benchmarks, and even scored 2% higher on AIME 2024.

How to use NVFP4

  • Quantize a model with NVIDIA TensorRT Model Optimizer or LLM Compressor, using post-training quantization or quantization-aware training.
  • Deploy it with TensorRT-LLM or vLLM on Blackwell GPUs, including B200, B300, GB200 NVL72 and DGX Spark.
  • Or download pre-quantized NVFP4 checkpoints that NVIDIA publishes on Hugging Face for models such as DeepSeek-R1 and Llama.

Frequently asked questions

Does NVFP4 work on H100 or RTX 40-series GPUs?

Not with hardware acceleration. FP4 Tensor Cores arrived with Blackwell, so H100 and older GPUs can only emulate it, without the speedup.

Is NVFP4 the same as GGUF Q4?

No. Both use roughly 4.5–4.9 bits per weight with block scales, but GGUF Q4 types are integer formats for llama.cpp that are converted back to 16-bit for the math, while NVFP4 is a floating-point format that Blackwell Tensor Cores compute in directly. See LLM quantization explained.

Can models be trained in NVFP4?

NVFP4 was introduced mainly for inference, and NVIDIA has also demonstrated large-scale pretraining in NVFP4 with additional techniques. Most training today still uses BF16 or FP8.

Go deeper with FP16, BF16, FP8 and FP4 explained, or see the hardware in B200 vs H100.

Sources and further reading

Think you understand it now? Prove it.

Solve real Tensor Core math in the TensorCore.si Challenge and earn a certificate with your name.

Take the challenge

Leave a Reply

Your email address will not be published. Required fields are marked *