As frontier language models scale into hundreds of billions of parameters, memory bandwidth and VRAM capacity remain the primary bottlenecks in production inference serving. While 8-bit floating-point formats (FP8 E4M3 and E5M2) achieved mainstream adoption across Hopper and Ada generation hardware, the industry is transitioning to 4-bit floating-point (FP4) arithmetic to double inference throughput and halve memory footprints.
Directly quantizing deep transformer weights and activations into 4-bit floating-point numbers introduces severe numerical challenges. Without structural modifications, standard FP4 formats lack the dynamic range required to represent activation outliers, triggering catastrophic perplexity degradation.
To overcome this precision floor, modern inference architectures rely on microscaling (MX) formats. Rather than applying a single uniform scale factor across an entire tensor or channel, microscaling partitions matrices into fine-grained blocks of elements that share a localized scaling factor. Two primary 4-bit microscaling standards have emerged: the Open Compute Project vendor-neutral OCP Microscaling Formats Specification and NVIDIA's Blackwell-optimized NVFP4 architecture.
This analysis examines the bit-level layouts, hardware execution pipelines, outlier mitigation techniques, serving economics, and empirical accuracy trade-offs between NVFP4 and MXFP4 in production LLM serving.
The Numerical Ceiling of Standard 4-Bit Floating Point
Standard 4-bit floating point representations use the E2M1 specification defined by IEEE working groups and the OCP Microscaling Formats Specification. An E2M1 byte allocation consists of:
- 1 sign bit
- 2 exponent bits with an exponent bias of 1
- 1 mantissa bit
With only 4 bits, an E2M1 float encodes exactly 16 bit patterns representing 15 distinct real numerical values and zero:
Standard E2M1 FP4 Bit Layout (4 bits per element):
┌──────┬────────────┬──────────┐
│ Sign │ Exponent │ Mantissa │
│ 1b │ 2b │ 1b │
└──────┴────────────┴──────────┘
Distinct representable values: {0, ±0.5, ±1.0, ±1.5, ±2.0, ±3.0, ±4.0, ±6.0}The dynamic range (the ratio of the maximum representable value to the smallest non-zero normalized value) is 12 (6.0 / 0.5). In contrast, FP8 E4M3 provides a dynamic range of 448, and BF16 provides over 10^38.
In production LLMs, activation tensors exhibit extreme kurtosis. Specific feature channels develop systematic outlier activations whose magnitudes can exceed the median activation value by factors of 50x to 100x. If a single global scale factor is applied across a channel, normal activations collapse into subnormal zero bins (underflow), destroying representational capacity. If the scale factor targets the median distribution, outliers clip at plus or minus 6.0, introducing severe gradient and attention map distortions.
Microscaling resolves this conflict by localizing the dynamic range adjustment to micro-blocks.
Format Specifications: OCP MXFP4 vs. NVIDIA NVFP4
While both standards adopt E2M1 for individual values, they diverge fundamentally in block granularity, scaling representation, and hardware implementation, as detailed in NVIDIA's technical documentation on NVFP4 and the OCP MX specification.

1. OCP MXFP4 (Open Compute Project Standard)
The OCP MX standard defines a vendor-agnostic representation supported across multi-vendor accelerators (including AMD CDNA/ROCm, Intel, ARM, and specialized NPUs):
- Block Size: 32 contiguous elements.
- Scale Format: E8M0 (8-bit shared exponent, 0 mantissa bits, bias = 127).
- Scale Value: The scale is strictly a power of two: 2^(e - 127), where e is between 0 and 255.
- Total Storage Overhead: 32 elements require 128 bits of data plus 8 bits of scale metadata, totaling 136 bits.
- Effective Bitwidth: 4.25 bits per element (6.25% metadata overhead).
- Hardware Logic: Because the scale is strictly a power-of-two exponent, hardware dequantization does not require a full floating-point multiplier in the tensor core ALU. The scale application reduces to an integer addition on the exponent field or a fixed bit-shift, minimizing silicon area and static power consumption.
2. NVIDIA NVFP4 (Blackwell Architecture)
NVIDIA's Blackwell Tensor Core architecture implements a specialized dual-level scaling scheme designed for higher numerical fidelity:
- Block Size: 16 contiguous elements (half the OCP block size).
- Inner Block Scale Format: FP8 E4M3 (1 sign bit, 4 exponent bits, 3 mantissa bits).
- Outer Tensor Scale Format: Single FP32 scalar per tensor (or per large sub-matrix tile).
- Effective Value Calculation: Each element equals the E2M1 value multiplied by its local FP8 block scale and the global FP32 tensor scale.
- Total Storage Overhead: 16 elements require 64 bits of data plus 8 bits of FP8 scale metadata, totaling 72 bits (plus amortized FP32 scale).
- Effective Bitwidth: 4.50 bits per element (12.5% metadata overhead).
- Hardware Logic: NVFP4 utilizes dedicated FP8 multiplier stages within Blackwell Tensor Cores prior to FP32 accumulation. NVIDIA trades approximately 12% additional Tensor Core silicon area to support the 16-element block size and FP8 scale arithmetic.
Comparative Format Layout Summary:
OCP MXFP4:
[ E8M0 Scale (8b) ] -> Controls 32 x E2M1 Elements (128b)
Total: 136 bits / 32 elements = 4.25 bits/element
NVIDIA NVFP4:
[ Global FP32 Scale ] -> [ FP8 E4M3 Scale (8b) ] -> Controls 16 x E2M1 Elements (64b)
Total: 72 bits / 16 elements = 4.50 bits/elementOutlier Mitigation and Post-Training Quantization (PTQ) Recipes
Even with micro-block scaling, raw post-training quantization to FP4 causes degradation on dense reasoning benchmarks if outliers are concentrated within a single 16- or 32-element block.
Outlier Distribution in Transformer Linear Projections:
Raw Activation Matrix (Severe Kurtosis):
[ 0.12, 0.08, 48.20, 0.15, ... ] <-- Outlier 48.20 forces block scale up,
[ 0.05, 0.11, 0.09, 0.04, ... ] collapsing surrounding values to 0.
After Randomized Hadamard Transformation (QuaRot / SpinQuant):
[ 1.42, -1.18, 1.65, 1.21, ... ] <-- Outlier energy is rotated uniformly,
[ 0.95, 1.04, -0.88, 1.12, ... ] enabling near-lossless 4-bit block quantization.1. Orthogonal Rotations (QuaRot and SpinQuant)
The primary method for preserving FP4 accuracy without modifying model weights during inference is applying offline orthogonal transformations, introduced by QuaRot.
Because matrix multiplications are invariant to orthogonal rotations (where Q * Q^T equals the identity matrix), inference engines insert randomized Walsh-Hadamard transform (RHT) matrices into the transformer architecture:
- Weight matrices are transformed offline into rotated weights.
- LayerNorm and RMSNorm layers incorporate the rotation matrix directly into their weights.
- Intermediate activation vectors are multiplied by the rotation matrix, rotating activation vectors into a spherical distribution without changing model outputs.
This rotation eliminates concentrated activation spikes, dispersing outlier energy uniformly across all channels. When segmented into 16-element (NVFP4) or 32-element (MXFP4) blocks, every block exhibits similar variance, preventing underflow collapse.
2. Microscaled Residual GPTQ (MR-GPTQ)
For weight quantization, standard Round-to-Nearest Even (RTNE) rounding leads to cumulative second-order error accumulation. Microscaled Residual GPTQ, analyzed in quantization error reduction studies, modifies the classical optimal brain surgeon algorithm for micro-block boundaries:
- Computes the inverse Hessian matrix using a calibration dataset.
- Quantizes weights in sequential 16- or 32-element blocks.
- Immediately updates the remaining unquantized weights in the layer using the quantization residual vector.
MR-GPTQ ensures that rounding errors within an individual micro-block are dynamically compensated for by adjacent weights in the same linear layer.
Tensor Core Execution and Serving Economics
The economic viability of 4-bit microscaling depends on how memory bandwidth savings and Tensor Core compute density interact across the two phases of LLM inference:
LLM Serving Bottlenecks by Phase:
Prefill Phase (Prompt Processing):
- Bound: Compute / Arithmetic Intensity Bound
- FP4 Impact: Blackwell FP4 Tensor Cores deliver 2x dense TFLOPS over FP8,
cutting time-to-first-token (TTFT) by up to 45%.
Decode Phase (Token Generation):
- Bound: High-Bandwidth Memory (HBM) Bandwidth Bound
- FP4 Impact: 4-bit weights reduce byte transfers per token by ~1.78x over FP8,
increasing token generation throughput (tokens/s/GPU) proportionally.1. VRAM Capacity and Density Scaling
In a 70-billion parameter model (such as Llama-3-70B):
- BF16 Baseline: 140 GB (Requires 2x 80GB GPUs).
- FP8 Serving: 70 GB (Fits on 1x 80GB GPU, but leaves minimal memory for KV cache at long context).
- NVFP4 Serving (4.50 bpe): 39.4 GB (Leaves over 40 GB of VRAM on an 80GB GPU dedicated exclusively to dynamic KV cache allocation).
By reducing model weight footprint below 40 GB, a single 80GB GPU can host larger batch sizes, directly scaling concurrent user capacity without cross-GPU communication overhead.
2. Decode Throughput and Arithmetic Intensity
During the auto-regressive decode phase, batch sizes are often small, making inference entirely memory-bandwidth bound. Every newly generated token requires streaming the entire weight matrix from HBM into on-chip SRAM:
On an NVIDIA B200 GPU with 8.0 TB/s memory bandwidth:
- Streaming FP8 weights (70 GB) takes approximately 8.75 milliseconds.
- Streaming NVFP4 weights (39.4 GB) takes approximately 4.92 milliseconds.
This reduction delivers an immediate 1.78x speedup in pure token generation latency, independent of compute scaling.
Empirical Benchmark Performance and Perplexity Analysis
Empirical evaluations comparing NVFP4 and MXFP4 across model scales (from 8B to 70B+ parameters) highlight clear differences in accuracy preservation across benchmarks compiled from FP4 All the Way and MXFP4 studies:
WikiText-2 Perplexity Comparison (Llama-3-70B)
- BF16 Baseline: 2.85 Perplexity (Reference baseline)
- FP8 (E4M3): 2.87 Perplexity (+0.70% degradation)
- OCP MXFP4 (No rotation): 3.22 Perplexity (+12.98% degradation)
- OCP MXFP4 (QuaRot + MR-GPTQ): 2.94 Perplexity (+3.15% degradation)
- NVIDIA NVFP4 (No rotation): 2.96 Perplexity (+3.86% degradation)
- NVIDIA NVFP4 (QuaRot + MR-GPTQ): 2.88 Perplexity (+1.05% degradation)
Downstream Reasoning Accuracy Recovery (70B Parameter Scale)
On complex zero-shot and few-shot reasoning tasks (MMLU, GSM8K, HumanEval, ARC-Challenge):
- NVFP4 (Block 16 + FP8 Scale): Recovers 99.1% of BF16 baseline performance on MMLU and 98.4% on GSM8K when paired with QuaRot rotation.
- MXFP4 (Block 32 + E8M0 Scale): Recovers 97.2% of BF16 baseline performance on MMLU and 94.8% on GSM8K with identical rotation. The coarser 32-element block size and power-of-two scale limitation introduce measurable precision loss in multi-step arithmetic reasoning chains.
Production Serving Decision Framework
When architecting production LLM serving infrastructure, the choice between NVFP4, MXFP4, and FP8 should follow a structured decision workflow:
Production Quantization Decision Tree:
Target Infrastructure:
├─ NVIDIA Blackwell (B100 / B200 / GB200)
│ ├─ Workload: Strict Low-Latency Serving / High Concurrency -> Deploy NVFP4 (W4A4) with QuaRot
│ └─ Workload: Deep Mathematical / Code Synthesis -> Evaluate NVFP4 vs FP8 (W8A8)
│
├─ Multi-Vendor Hardware (AMD MI300X/MI350, Intel Gaudi, Cloud NPUs)
│ ├─ Workload: Standard Chat / Summarization -> Deploy OCP MXFP4 with MR-GPTQ
│ └─ Workload: Complex Reasoning -> Deploy MXFP6 or FP8 (W8A8)
│
└─ Hopper / Ada Generation (H100, L40S)
└─ Hardware lacks native FP4 Tensor Cores -> Deploy FP8 (E4M3) or INT4 (Marlin / GPTQ)Engineering Recommendations:
- Adopt Mixed-Precision Topologies: In production pipelines, keep attention QKV projections and the first and last transformer layers in FP8 or BF16, while quantizing high-parameter Feed-Forward Network (FFN/MLP) layers (which represent approximately 65% of total parameters) into NVFP4 or MXFP4. This hybrid strategy preserves reasoning capabilities while capturing the majority of memory savings.
- Standardize on Offline Hadamard Rotations: Never deploy FP4 microscaling without pre-rotation (QuaRot or SpinQuant). Rotating weights and LayerNorm weights offline adds zero runtime inference overhead while recovering 80% of quantization loss.
- Account for KV Cache Precision Separately: Quantizing weights to FP4 does not require quantizing the KV cache to FP4. For long-context serving, standardizing on FP8 KV caches alongside FP4 model weights preserves attention resolution while maximizing context capacity.
Sources
- Microscaling Formats for Deep Learning (Rouhani et al.)
- Introducing NVFP4 for Efficient and Accurate Low-Precision Inference (NVIDIA Developer Blog)
- FP4 All the Way: Fully Quantized Training of LLMs
- Unveiling the Potential of Quantization with MXFP4: Strategies for Quantization Error Reduction
- QuaRot: Outlier-Free 4-Bit Inference in Large Language Models
- AMD ROCm Software Tools: High-Accuracy MXFP4 and MXFP6 Quantization



