Conceptio › Archive › arXiv CS
arXiv CS open access

UE5M3 FP4 Block Scaling for Stable Language Model Pretraining

2026 · arxiv_cs
arXiv CS · Papers · 2026
Open Source ↗Direct PDF ↓
deep-learningmachine-learningneural-networks
Conceptio Open Archive

Analyze & explore related research in Conceptio

Connect this record directly into your research workflow or AI agent. Explore citations across open repositories, query full text, and export structured proof bundles.

TECHNICAL REPORT

arXiv:2609.02846v1 [cs.LG] 2 Sep 2026

GRAPHCORE RESEARCH

UE5M3 FP4 Block Scaling for Stable Language Model Pretraining A Simpler FP4 Pretraining Recipe with Delayed Tensor Scaling

REPORT FOCUS

Wider block-scale range, a proposed FP4 pretraining recipe, and a software model of native NVFP4 GEMM outputs.

Robert Hu, Carlo Luschi, and Paul Balanca Correspondence: robert.stats.hu@gmail.com

September 2026

GRAPHCORE RESEARCH

TECHNICAL REPORT

Abstract Stable 4-bit floating-point (FP4) pretraining is difficult because the E2M1 payload represents only a narrow range of magnitudes. NVIDIA’s Transformer Engine NVFP4 recipe addresses this with current-tensor scaling, a randomized Hadamard transform (RHT), and bfloat16 (BF16) final layers, adding work outside the FP4 matrix multiplications. We instead pair E2M1 payloads with unsigned E5M3 (UE5M3) block scales. Their wider range permits periodic tensor scaling, while our recipe applies selective stochastic rounding to backward gradients, omits RHT, and uses FP4 in all eligible internal linears. We pretrain a Nemotron-H 8B model for nearly 190 billion tokens. Compared with Transformer Engine NVFP4, the proposed block-16 recipe finishes with lower final-window training loss and, under their respective quantized-inference policies, lower validation loss measured as held-out negative log-likelihood. Its quantized-inference downstream point estimates are also higher on all three reported aggregates. A native NVFP4 execution ablation that jointly removes RHT and the BF16 final-block exemption increases measured model-body token throughput by 21.2%. These results demonstrate end-to-end software-emulated UE5M3 FP4 pretraining with a simpler recipe and motivate native support for UE5M3 block scaling.

1

Introduction

On the GB200 platform evaluated here, supported FP4 Tensor Core operations have four times the theoretical peak throughput of BF16 [22]. This makes FP4 attractive for both inference and pretraining. Inference can quantize fixed weights and calibrate scales after training; pretraining must repeatedly quantize changing activations, weights, and gradients while preserving the optimization signal. This report focuses on the latter problem: stable end-to-end UE5M3 FP4 pretraining. The use of FP4 can also reduce operand traffic because each payload element uses one quarter as many bits as BF16, although block- and tensor-scale metadata reduce the realized storage ratio. The small E2M1 codebook makes pretraining sensitive to scale selection, outliers, rounding, and accumulation. Current tensor-scale reductions, RHT operators, and BF16 final layers can stabilize optimization, but each adds work outside the FP4 matrix multiplications. We ask whether the use of a wider block-scale format can retain stability with a simpler recipe. FP8 training is now well established [19]. FP4 is a harder target. The E2M1 FP4 payload used by MXFP4 and NVFP4 contains one sign bit, two exponent bits, and one fraction bit; its largest magnitude is only 6. Scaling is therefore required to represent the dynamic range of activations, weights, and gradients. Microscaling uses one scale per small block—typically 16 or 32 elements— rather than one scale for the entire tensor [11, 24, 28]. NVIDIA demonstrated end-to-end pretraining with NVFP4 by combining the format with RHT for the weight-gradient GEMM, two-dimensional (2D) weight scaling, SR for the back-propagated output gradient in both backward GEMMs, and BF16 final layers [22]. The Transformer Engine (TE) recipe also computes a tensor maximum before each quantization. These reductions, RHT operators, and BF16 final layers increase runtime work and implementation complexity. We therefore ask: Can a block-scale format with more dynamic range make FP4 training stable with a simpler pretraining recipe? UE5M3 FP4 combines 4-bit E2M1 payloads with 8-bit UE5M3 block scales. Because block scales are nonnegative, UE5M3 removes the unused sign bit from E4M3 and uses five exponent bits plus three UE5M3 FP4 pretraining

1

GRAPHCORE RESEARCH

TECHNICAL REPORT

fraction bits. Recent FP4-training studies evaluate differentiable and mixed-precision quantization, MXFP4, native FP4 linear layers, and end-to-end NVFP4 pretraining [4, 6, 8, 10, 22, 26, 32, 33, 35]. Hu et al. and Fasoli et al. specifically examine UE5M3 as a block-scale format [13, 18]. We investigate the numerical recipe required for end-to-end UE5M3 FP4 pretraining. We make four contributions: • We introduce a UE5M3 FP4 recipe with per-operand, 50-step periodic sample-and-hold tensor

scaling, 2D weight scaling, and SR only for the upstream-gradient operand in the two backward GEMMs. The recipe omits RHT and uses FP4 in all 112 eligible internal linears. • We train one seed-42 Nemotron-H 8B trajectory per configuration for 188.7 billion tokens.

Across 12 checkpoints per trajectory, with quantization active for every FP4 path, the proposed block-16 path finishes below native Transformer Engine NVFP4 in held-out NLL. A pinned 146-task likelihood evaluation provides downstream results for all seven final checkpoints. • We derive a range bound that links the UE5M3 scale target to stale-maximum headroom and

small-scale representation: the default target provides roughly 137× growth headroom, while the targeted T = 2048 override retains 30×. • We identify a software FP4 GEMM output model that matches the tested native reduction

and rounding behavior in deterministic full-model controls. A separate joint native NVFP4 execution ablation records 21.2% higher model-body token throughput after disabling RHT and using FP4 in the 16 otherwise BF16-exempt final-block projections.

2

Related Work

4-bit training predates native FP4 tensor cores: Sun et al. combined INT4 weights and activations with a radix-4 floating-point gradient format and adaptive gradient scaling [29], while Chmiel et al. combined logarithmic gradient quantization with unbiased rounding [7]. Both studies identify gradient range and quantization bias as central constraints on 4-bit training. Large language model (LLM) studies subsequently tested different formats for weights, activations, and gradients. The initial microscaling experiments use MXFP4 weights with MXFP6 activations and gradients [11]. Wang et al. use simulated E2M1 weight and activation quantization with differentiable gradient estimation and sparse outlier compensation, whereas Zhou et al. use different precisions across modules and training stages [33, 35]. Tseng et al. place the backward GEMMs in MXFP4 using SR and RHT [32]; TetraJet studies oscillation in MXFP4 vision-transformer training [5]; and Metis applies spectral-domain quantization to 4-bit weights, activations, and gradients (W4A4G4) in LLM training [3]. Complementary scaling-law experiments quantify the effects of exponent–fraction allocation, scale granularity, model size, and token budget [30]. Recent work increasingly targets FP4 across the major forward, data-gradient, and weight-gradient GEMMs. Quartet analyzes forward reconstruction and backward-estimator error; FP4 All the Way develops selective SR for fully quantized GEMMs; and Quartet II replaces conventional SR with a lower-error unbiased microscaling estimator [4, 8, 26]. NVIDIA’s long-horizon NVFP4 recipe combines RHT, 2D scaling, SR, and BF16 final layers [22]. Chmiel et al. simulate NVFP4 training of a 7B model on 256 Intel Gaudi2 accelerators. They use SR for the back-propagated gradient in both backward GEMMs and additionally for the saved forward activation used to form weight gradients;

UE5M3 FP4 pretraining

2

GRAPHCORE RESEARCH

TECHNICAL REPORT

weights and forward activations otherwise use nearest rounding [8]. To close the remaining loss gap, they add a short quantization-aware fine-tuning phase that keeps the forward pass in FP4 but runs the backward and update GEMMs in BF16. Our recipe instead uses UE5M3 block scales, rounds the saved activation to nearest-even, applies SR only to the back-propagated output gradient, uses periodic sample-and-hold tensor references, and completes without a BF16 backward/update phase. TetraJet-v2 adds oscillation suppression and outlier control, while Four Over Six selects between two block targets to reduce NVFP4 quantization error [6, 10]. Rahimifar et al. instead use transposition-invariant 2D blocks, with MXFP8 retained for sensitive query and key projections [27]. A unified study by Agrusa et al. compares these ingredients on dense and mixture-of-experts models at horizons up to 1 trillion tokens and reports that its evaluated 8B NVFP4 recipes still require BF16 final layers at long horizons [1], providing a longer-horizon comparison point for our 188.7-billion-token experiments. Other hardware and scope extensions include native MXFP4 experiments on AMD hardware, which isolate weight-gradient quantization as a major failure source [9]; HiFloat4 training on Ascend neural processing units (NPUs) [31]; and FP4 quantization of optimizer and attention components [12]. Within this broader literature, Hu et al. identify UE5M3 as a range–precision compromise for FP4 training, and Fasoli et al. analyze its scale coverage using pretrained-model tensor distributions [13, 18]. Our study tests whether this wider unsigned block scale permits delayed tensor scaling without RHT or a BF16 exemption for final-block projections and extends software emulation beyond operand quantization to the observed native NVFP4 GEMM outputs.

3

Background: FP4 Microscaling

3.1

Low-precision floating-point formats

A floating-point number format stores a sign, an exponent, and a fraction field. Together with any implicit leading bit, the fraction field forms the significand: x ≈ (−1)s × significand × 2exponent .

(1)

The notation EeMm means e exponent bits and m explicit fraction bits; a sign bit is normally separate. More exponent bits increase the range between very small and very large numbers. More fraction bits place more representable points inside that range. Quantization maps a high-precision value to one of these representable points. Let QF (x) denote rounding x into format F . Values with magnitude above the largest finite value can saturate or overflow, whereas nonzero values with magnitude below the smallest positive representable value can underflow to zero. Saturation clips an outlier’s magnitude, while underflow can remove a small component entirely, such as an element of a weight gradient.

3.2

Microscaling

Microscaling keeps the payload narrow but gives each block B a scale sB . We use B = |B| for the number of payload values in a block. For a tensor-level multiplier g, a value is reconstructed as  bi = g sbB qi , x

UE5M3 FP4 pretraining

qi = QE2M1

xi g sbB



,

i ∈ B.

(2)

3

GRAPHCORE RESEARCH

TECHNICAL REPORT

Blockwise scaling lets the E2M1 codebook track each block’s local magnitude rather than the dynamic range of the full tensor. Table 1 summarizes the relevant systems. MXFP4 is the Open Compute Project (OCP) standard: 32 E2M1 values share an E8M0 scale. E8M0 has a very wide exponent range, but no fraction bits, so its scales are powers of two. NVFP4 instead uses a block of 16 and a finer E4M3 scale. Because E4M3 has less range, NVFP4 adds a 32-bit floating-point (FP32) scale for the whole tensor [21]. The global scale aligns the tensor with the range of the local E4M3 scales. Table 1: Summary of considered FP4 block formats. The payload is E2M1 in all three FP4 systems; the systems differ in how each block is scaled. System

Block size

Scale format

Tensor-scale rule

Useful scale codes

Main tradeoff

MXFP4

32

unsigned E8M0

none

NVFP4

16

signed E4M3

FP32 global scale

UE5M3 FP4

16

unsigned E5M3

optional; delayed

All codes are nonnegative; no fraction bits Three fraction bits; negative codes are unusable for scales Three fraction bits; every code is nonnegative

Very wide range; coarse power-of-two steps Fine local spacing; narrower positive range Fine local spacing over a much wider useful range

3.3

The NVIDIA/Transformer Engine NVFP4 pretraining recipe

An outlier is much larger than the other values in its 16-value quantization block. It can determine the scale and leave few distinct E2M1 values for the remaining entries. Across blocks, the limited positive range of the E4M3 block scale constrains the ratio of local scales under one tensor scale. NVIDIA’s NVFP4 pretraining recipe uses the following techniques to manage these effects [22]: • Randomized Hadamard transform (RHT). The recipe applies matched transforms only

to the saved activation and output-gradient operands of the weight-gradient GEMM. The orthogonal transforms redistribute large coordinates before quantization while preserving the full-precision dot product. Similar rotations are widely used to suppress quantization outliers [2]. • Two-dimensional weight scaling. A 16 × 16 weight tile shares scale information so that

the rowwise and columnwise views used in forward and backward GEMMs remain consistent. • Stochastic rounding. The back-propagated output-gradient tensor is stochastically rounded

when it is quantized for both backward GEMMs; weights and forward activations use nearest rounding. • BF16 final layers. The published recipe leaves the eligible linear projections in its final eight

hybrid blocks in BF16 rather than quantizing those projections to FP4. • Tensor scaling. The maximum absolute value (amax) of a tensor sets the FP32 global scale.

Current scaling requires finding that maximum before quantization. Transformer Engine’s documented FP8 DelayedScaling records an amax at every quantization and derives the next scale from an amax-history window [20]. Together, these operations define the Transformer Engine NVFP4 recipe used as the baseline in this report. We use D for the number of optimizer steps between tensor-maximum refreshes. UE5M3 FP4 pretraining

4

GRAPHCORE RESEARCH

TECHNICAL REPORT

The evaluated baseline uses current-tensor scaling (D = 1); Transformer Engine’s documented DelayedScaling mechanism applies to FP8.

4

Unsigned E5M3 Block Scales

4.1

Reallocating the unused sign bit

A block scale is a magnitude, so it is never negative. Signed E4M3 reserves one of its eight bits for a sign that is always zero. UE5M3 reuses this bit as a fifth exponent bit: E4M3 scale: [sign][4 exponent][3 fraction] UE5M3 scale: [5 exponent][3 fraction] Hu et al. introduced UE5M3 as an FP4 scale-format choice; Fasoli et al. later analyzed its scale coverage over pretrained-model tensor distributions [13, 18]. At a fixed exponent, E4M3 and UE5M3 have the same spacing because both keep three fraction bits. UE5M3 does not create an extra fraction bit. Instead, it stops spending about half of the code space on negative values that a scale can never use. The result is roughly twice as many useful nonnegative scale encodings, which increases the range of the resulting floating-point format. In practice, UE5M3 offers more usable nonnegative scale encodings over a wider range, although its relative spacing is not finer where the two formats overlap. For the finite format used here, the largest UE5M3 value is 

1 1 1 15 + + 2 = 1.875 × 32768 = 61,440. 2 4 8 

Umax = 1 +

(3)

Its smallest normal value is 2−14 and its smallest subnormal is 2−17 . Table 2 compares this with the finite E4M3 scale used by NVFP4. The maximum is about 137× larger, and the smallest nonzero value is 256× smaller. Table 2: 8-bit block-scale formats. Both have three fraction bits, but UE5M3 uses every code for a nonnegative scale and spends the recovered sign bit on range.

Format

Sign bits

Exponent bits

Fraction bits

Smallest subnormal

Largest finite

E4M3 UE5M3

1 0

4 5

3 3

2−9 2−17

448 61,440

Under a shared tensor reference, one block may contain small values while another contains a large outlier. E4M3 can run out of block-scale range, forcing the tensor-wide scale to move and making small blocks less precise. UE5M3 can represent both block scales directly over a much wider interval. Fasoli et al. show that this can remove global scaling for weights and activations in their setting [13]. Our implementation instead retains a tensor reference and refreshes it once every 50 optimizer steps.

5

Training Method

UE5M3 FP4 pretraining

5

GRAPHCORE RESEARCH

5.1

TECHNICAL REPORT

Periodic refresh of tensor maxima

For an operand x at step t, define its current maximum magnitude as at = max |xt,i |. i

(4)

Current scaling uses at immediately. Our periodic-refresh implementation instead samples and caches at only on refresh steps. Let τt−1 be the most recent refresh step before step t. The reference used at step t is ( at , if no cache exists or t − τt−1 ≥ D, et = a (5) aτt−1 , otherwise, et = a et−1 = aτt−1 . Thus a et−1 is the cached amax On a refresh step, τt = t; otherwise τt = τt−1 and a from the most recent refresh, not a D-step window maximum (a sample-and-hold rule).

If r is a refresh step, the cache holds ar for r ≤ t < r + D and replaces it with the newly sampled ar+D at the next refresh. This periodic-refresh rule is the implementation evaluated here. It differs from Transformer Engine’s history-based FP8 DelayedScaling, which records an amax at each iteration and uses the window maximum by default (or the most recent entry when configured) [20]. Each quantized activation, weight, and gradient operand has a separate cache. We use D = 50 with no additional multiplicative safety margin (factor 1). The block maximum is still computed when that block is quantized; the tensor-wide maximum reduction and cached-reference update occur only on refresh steps. The caches start empty at process launch and are not serialized in checkpoints, so a resumed training process starts a new periodic-refresh phase rather than restoring the previous held maxima. Avoiding block-scale saturation requires the current tensor maximum to remain within the cached reference’s headroom. The next subsection quantifies that condition.

5.2

Treating NVIDIA’s fixed 448 scale as a tunable target

The NVIDIA recipe maps the tensor reference to a fixed scale target of 448, the largest positive finite E4M3 value. We retain 448 as our default, but the much wider UE5M3 codebook lets us ask what happens when this target is moved. We denote the chosen target by T . It is not an input clamp and does not change the 4-bit E2M1 payload; it only changes where the current tensor lands inside the block-scale codebook, whose largest UE5M3 value is 61,440. The target moves the finite block-scale codebook over the real block maxima. On a refresh step, the encoder measures a tensor maximum g. For the next D − 1 steps it keeps that same reference, even if the tensor changes. The target T chooses where a block as large as g lands in the codebook. Increasing T slides the representable real-value window downward, helping smaller block scales stay nonzero. Decreasing T slides the window upward, leaving more room if the tensor grows before the next refresh. It does not add bits or change the spacing within an exponent band. et be the cached tensor reference. Let F = 6 be the largest E2M1 payload magnitude and let g = a The encoder first forms the tensor multiplier

G=

UE5M3 FP4 pretraining

TF . g

(6)

6

GRAPHCORE RESEARCH

TECHNICAL REPORT

For a block with maximum magnitude aB , the ideal block-scale code before UE5M3 rounding is therefore aB G aB T uB = = , sbB = QUE5M3 (uB ). (7) F g Thus, if aB = g, the ideal block-scale code is exactly T . Worked example. Suppose the last measured tensor maximum was g = 100 and is held fixed for 50 steps. Table 3 shows the real block-maximum window implied by the smallest nonzero UE5M3 code, 2−17 , and the largest code, 61,440. A target of 2,048 maps the same block to a code that is 2,048/448 ≈ 4.6 times larger than a target of 448. This preserves smaller scales, but the largest block that fits before saturation falls by the same factor. Table 3: Changing T slides one fixed UE5M3 codebook over the real block maxima. Values use g = 100; “growth room” is the largest supported block maximum divided by the cached tensor maximum. Target T 448 2,048

Code for aB = g

Smallest nonzero aB

Largest aB

Growth room

448 2,048

1.7 × 10−6 3.7 × 10−7

13,714 3,000

137× 30×

Proposition 1 (unsaturated delayed-scale range). Let U be the largest finite block-scale code. Under Equation 7, block B avoids scale saturation exactly when Ug . (8) T If at is the current tensor maximum and ρt = at /g measures how stale the cache has become, then every block is unsaturated whenever aB ≤

T ρt ≤ U,

or equivalently

T ≤

U . ρt

(9)

The proof is one substitution: saturation starts at uB > U , and uB = aB T /g. This proposition formalizes the window in Table 3. A smaller T leaves more overflow headroom when the current tensor grows above its cached reference. A larger T keeps smaller block scales away from zero but leaves less room for growth. The delay D and target T must therefore be chosen together: a longer delay allows a larger stale ratio ρt , which generally favors a smaller target. For E4M3, NVIDIA’s fixed choice gives U = T = 448. Under this mapping, a tensor already at its cached maximum has no additional stale-growth headroom. With UE5M3, U = 61,440 while the default target remains 448. At T = 448, Equation 9 allows a stale ratio up to roughly 137× before block-scale saturation. Raising the target to 2,048 spends some of that headroom to map small block scales about 4.6× farther from zero. The extended range can be allocated between stale-maximum headroom and the representation of smaller block scales without changing the E2M1 payload. For the 8B model, the proposed recipe uses T = 448 by default for all FP4 operands. We raise it to T = 2048 only for dY in the weight-gradient GEMMs of the four final MLP mixer.down_proj modules (zero-based layers 45, 47, 49, and 51). This moves their block-scale codes farther from zero, increasing the underflow margin for small gradient components while retaining 61,440/2,048 = 30× stale-growth headroom. UE5M3 FP4 pretraining

7

GRAPHCORE RESEARCH

TECHNICAL REPORT

Checkpoint snapshot. Figure 1 compares the step-30,000 BF16 reference and proposed block-16 checkpoints. We load their stored BF16 master weights and run one fixed, zero-dropout BF16 training-mode forward/backward pass on the first 8,192-token sequence in the held-out order, without an optimizer update. Pooled over the four modules, the saved activation X is 96.35% zero for the BF16 checkpoint and 75.41% zero for the proposed checkpoint, with maxima of 1,408 and 48,384, respectively. The corresponding dY tensors are nearly dense (about 0.03% zeros in both), while the weights and block maxima formed from dY T contain no zeros.

10

−2

10

−4

10

−6

BF16 Proposed B=16

Exact zero mass (not plotted) BF16: 96.35%; Proposed B=16: 75.41%

−15

10

−10 −5 log10 magnitude

0

5

B. Down-projection weight |W| 10−1 10−3 10−5 10−7 −10

10−2 10−4 Exact zero mass (not plotted) BF16: 0.032%; Proposed B=16: 0.026%

−16

−14

−12 −10 log10 magnitude

−8

−8

−6 −4 log10 magnitude

−2

D. dY T block-scale code (current amax)

C. Upstream gradient |dY|

0

10−6

Nonzero density per decade

A. Down-projection input |X|

Density per decade

Nonzero density per decade

Nonzero density per decade

Step-30,000 late-layer value and scale-target distributions

−6

10

−1

BF16

T = 448

Proposed B=16

T = 2048

10−3 10−5 0

1 2 3 log10 raw UE5M3 scale code

One held-out 8,192-token sequence; BF16 execution of loaded master weights. Scale codes use each module's current dY amax.

Figure 1: Step-30,000 checkpoint snapshot for the four final MLP mixer.down_proj modules. Absolute-value histograms pool the saved activation X, stored BF16 master weight W , and upstream gradient dY over one fixed held-out sequence. The scale-code distributions map block-16 maxima of dY T in its weight-gradient GEMM layout to ideal pre-rounding UE5M3 scale codes under T = 448 and T = 2048.

Using each module’s current dY amax as g, neither target produces a scale code that rounds to zero before repair or a saturated scale code in this snapshot. It therefore illustrates codebook placement rather than an observed underflow or saturation event. This is one held-out checkpoint snapshot, not a training-wide distribution or a replay of the D = 50 cache history. The dY histogram and its block maxima describe training-only quantities and have no inference analogue. Matched smaller-model control. An earlier 350M experiment provides a concrete training example. Both runs used the same source revision, seed 42, 10,000 updates, and D = 50. The control UE5M3 FP4 pretraining

8

GRAPHCORE RESEARCH

TECHNICAL REPORT

used T = 448 throughout; the comparison changed only the dY target to T = 2048 in the feed_forward.w2 weight-gradient GEMMs of the final four layers. Over the final 250 updates, the mean of the ten logged losses was 2.90904 at T = 448 and 2.90248 with the targeted T = 2048 override, a difference of −0.00656 (Table 4). Table 4: Matched 350M scale-target control. The final-window mean is the arithmetic mean of ten global-average training-loss values logged every 25 updates from steps 9,775 through 10,000; the step-10,000 column is the final logged value. Values are rounded to five decimal places, and each row is one seed-42 trajectory.

Wgrad-dY target in final four feed_forward.w2 layers

Final-window mean training loss

Step-10,000 training loss

2.90904 2.90248

2.86274 2.85795

T = 448 (default) T = 2048

This smaller-model control motivated the targeted override. The 8B experiment evaluates the complete recipe rather than an isolated scale-target ablation.

5.3

Stochastic rounding preserves small gradients in expectation

Suppose z lies between adjacent representable values q − and q + . SR chooses

QSR (z) =

   −  q ,   +  q ,

q+ − z , q+ − q− z − q− with probability + . q − q− with probability

(10)

Then E[QSR (z)] = z. This construction is unbiased. Each draw introduces zero-mean rounding error instead of systematically removing values below a deterministic rounding threshold. Unbiased SR is widely used in low-precision training [16, 25]. Practical implementations must also handle randomness carefully: natural constructions that use only a few random bits can introduce bias even though the ideal rule in Equation 10 is unbiased [14]. For a linear Y = XW T , the two backward GEMMs are dX = dY W and dW = dY T X. We use SR only for the E2M1 payload of the upstream-gradient operand dY in both GEMMs. The saved activation X, weight W , forward operands, and all block-scale codes use deterministic round-tonearest, ties-to-even. Transformer Engine likewise applies SR to the dY operand in these two backward GEMMs [21, 22]; the primary recipes differ in their scale format and lifecycle, RHT, and final-block precision rather than in which backward operand receives SR.

5.4

Recipe comparison

Table 5 compares the format, scale lifecycle, rounding, layer coverage, and GEMM path of the two primary recipes. “All eligible” means the converted feed-forward-network (FFN), attention, and Mamba-block input/output linear projections. The output projection is outside this set and evaluated in FP32 in both recipes.

UE5M3 FP4 pretraining

9

GRAPHCORE RESEARCH

TECHNICAL REPORT

Table 5: Detailed comparison of the Transformer Engine NVFP4 recipe and our proposed UE5M3 FP4 recipe. Component

Transformer Engine NVFP4 recipe

Our proposed UE5M3 FP4 recipe

Payload / block scale Tensor reference

E2M1 payload, signed E4M3 scale, blocks of 16 Current amax (D = 1)

Scale target T

Fixed at 448

RHT

Saved-activation and output-gradient operands of the weight-gradient GEMM only 2D, aligned with both GEMM views Transformer Engine nearest rounding on forward operands

E2M1 payload, unsigned E5M3 scale, blocks of 16 Separate cached activation, weight, and gradient maxima, refreshed every D = 50 steps T = 448 by default; T = 2048 only for Wgrad-dY in the four final MLP mixer.down_proj modules (zero-based layers 45, 47, 49, and 51) None

Weight scaling Deterministic rounding

Stochastic rounding Eligible-linear coverage

Matrix-multiply path

Upstream-gradient (dY ) operand in dX = dY W and dW = dY T X 96 use FP4; 16 projections in the final eight hybrid blocks remain BF16; output head in FP32 Native Blackwell FP4 through Transformer Engine

2D, aligned with both GEMM views Ties-to-even on activations, weights, and block scales; a block scale that rounds to zero is replaced with 1 Upstream-gradient (dY ) operand in dX = dY W and dW = dY T X All 112 use FP4; no BF16 exemption; output head in FP32 Custom quantization plus a software FP4 GEMM model matched to native-output probes, described in Section 6

The proposed run uses a deterministic zero-scale rule: after UE5M3 rounding, any zero blockscale code is replaced with 1 before reciprocal computation and dequantization. This zero-scale replacement rule is separate from SR, which randomly chooses neighboring payload values to preserve their expectation. Table 6 adds two controls for format–recipe interactions.

UE5M3 FP4 pretraining

10

GRAPHCORE RESEARCH

TECHNICAL REPORT

Table 6: Experimental recipe matrix. “Native” means Transformer Engine’s hardware FP4 path; “probe-matched” means a software FP4 GEMM model fitted to native-output probes and specified in Section 6. The table reports the effective tensor-scale refresh interval in optimizer steps. Recipe

Block scale

D

RHT

Final blocks with BF16 linears

GEMM

Purpose

E4M3

1

yes

8

native

UE5M3

50

no

0

probe-matched

E4M3

1

no

0

native

UE5M3

1

yes

8

probe-matched

Published baseline Primary experiment Native execution ablation Transformer Engine settings with UE5M3 block scales

Transformer Engine NVFP4 recipe Proposed UE5M3 FP4 recipe Native NVFP4 no-RHT/all-linears ablation UE5M3 FP4 with Transformer Engine settings

The proposed recipe applies the T = 2048 override only to the Wgrad-dY operands in these four final MLP modules. Its default block size is 16; the block-size control changes only this value to 32 while retaining the same seed, data, optimizer, delayed-scaling controls, upstream-gradient SR, layer coverage, GEMM emulator, and 30,000-step schedule.

6

Modeling Observed Native NVFP4 GEMM Outputs

6.1

Accumulation-path sensitivity

A dot product computes y=

K X

ak bk .

(11)

k=1

In exact arithmetic, the order of addition does not matter. In floating-point arithmetic, each intermediate sum is rounded, so changing the reduction order or rounding mode can change the answer. This means two systems can decode identical FP4 values and scales but still produce different GEMM outputs. Our decoded-operand control reconstructs the FP4 operands as FP32 tensors and applies a standard Torch matrix multiplication before returning the result to BF16. Here, “FP32 tensors” describes operand storage; the matrix multiplication can still use the accelerated arithmetic selected by the Torch/CUDA runtime. This decoded-operand path can group products differently and can round at different moments from an FP4 tensor core. In the first sensitive example, native Transformer Engine returned 0.1630859375 while the software path returned 0.162109375: one BF16 step apart. Although the discrepancy is only one BF16 step, it enters backpropagation and can affect later updates.

6.2

The observed reduction and product lattice

Targeted probes of the tested Blackwell/Transformer Engine path support an output model with three rules: 1. split the dot product into groups of 64 products; UE5M3 FP4 pretraining

11

GRAPHCORE RESEARCH

TECHNICAL REPORT

2. make one FP32 partial sum per group, rounded to nearest-even; 3. add the group totals in physical order, choosing the FP32 value toward zero whenever an addition is inexact. These empirical rules describe the outputs of the evaluated hardware and software stack. In equations, let   64j+63 X

pj = RNE32 

ak bk  ,

(12)

k=64j

where RNE32 denotes FP32 round-to-nearest, ties-to-even. We write RTZ32 for FP32 round-towardzero. Combine the partials in physical order using round-toward-zero on every inexact cross-group addition: c0 = 0, cj+1 = RTZ32 (cj + pj ). (13) The decisive permutation witness is built from decoded products that are already exact multiples of 1/1024. Our emulator therefore optionally canonicalizes the unscaled result on that product lattice with round-to-nearest, ties-to-even, and only then applies the scale product α: y=α

RNE(1024cJ ) . 1024

(14)

The emulator implements Equation 14 as torch.round(1024 * c) / 1024. Thus an exact halfgrid case selects the grid point whose integer index is even; it is not rounded toward zero. The multiplication and division by 1,024 are power-of-two shifts, and the encoded tensor-scale product α is applied after this operation. No snap, 1/1024, and finer grids agree on all 258 permutation witnesses. We use ties-to-even 1/1024 canonicalization as the emulator’s explicit output rule. Round-toward-zero does not mean that every result is rounded downward. A positive intermediate moves down, while a negative intermediate moves up, so both move slightly closer to zero. This sign-dependent rule is selected solely by native-output parity. The implementation uses a Triton GEMM with one BF16 dot product per 64-wide slice, FP32 partial sums, round-toward-zero additions, and optional product-lattice canonicalization. We call this numerical model the probe-matched FP4 emulator.

6.3

Final-grid granularity and identifiability

We vary the final-grid denominator d. For d > 0, the emulator computes Qd (c) =

RNE(dc) , d

|Qd (c) − c| ≤

1 . 2d

(15)

A smaller denominator means a coarser grid: it has a larger worst-case error and maps the wider interval [−1/(2d), +1/(2d)] to zero. A larger denominator means a finer grid. Setting d = 0 disables the operation. We use powers of two so multiplication and division by d are exact binary exponent shifts before the rounding step. Table 7 applies six choices to the same 258 native permutation labels used to identify the cross-group rule. Coarser grids destroy native bins: 1/512 loses all 37 occurrences of odd bin −3371, and 1/256 merges additional bins. In contrast, 1/1024, both finer grids, and no final snap are identical on this corpus because its decoded products already lie on the 1/1024 lattice. UE5M3 FP4 pretraining

12

GRAPHCORE RESEARCH

TECHNICAL REPORT

Table 7: Final-grid denominator sweep on 258 native FP32 permutation witnesses. “None” means d = 0. Grid

None

1/256

1/512

1/1024

1/2048

1/4096

Exact native bins Match rate (%)

258 100.0

180 69.8

221 85.7

258 100.0

258 100.0

258 100.0

Among the tested denominators, d = 1024 is the coarsest canonicalization that preserves all 258 native matches, so we use it in the emulator.

6.4

End-to-end parity test

We compared native Transformer Engine NVFP4 against the custom quantizer plus the probematched emulator in the paper’s 1.2B model configuration. This configuration has 20 layers, width 2,048, vocabulary size 131,072, and exactly 1,291,929,600 trainable scalar parameters; “1.2B” is a rounded label. Both paths started from the same BF16 parameter tensors and used the same synthetic input and target (batch size 1, sequence length 64, model seed 1,234, and batch seed 5,678). Each path quantized the same 96 linear modules, kept the final four transformer layers in BF16, and kept the output projection in FP32. RHT and 2D weight scaling were enabled. SR was disabled so repeated values could be compared exactly rather than statistically. The custom path used the probe-matched emulator in the forward GEMM, the data-gradient GEMM that propagates error to the preceding layer, and the weight-gradient GEMM that forms each parameter update direction. We then ran one cross-entropy forward and backward pass. The result was: • logits exactly equal; • loss difference exactly zero; • every named parameter had a gradient in both paths, with no missing tensors; • the compared gradient count was 1,291,929,600, exactly equal to the model’s parameter count;

and • gradient relative L2 error and maximum absolute error both zero.

The 1.29B comparison covers the complete parameter-gradient vector, including gradients for quantized modules and the high-precision embedding, BF16 final layers, and output modules. The global checker casts each BF16 gradient losslessly to FP32 before subtraction, establishing equality of every represented BF16 value. Appendix D extends this check through 100 complete AdamW updates and compares raw tensor storage rather than only represented gradient values. Appendix B gives the witness construction, group-width and rounding ablations, broader sampled-output comparisons, and final-grid identifiability results used to select the emulator.

7

Experiments

UE5M3 FP4 pretraining

13

GRAPHCORE RESEARCH

7.1

TECHNICAL REPORT

Setup

We use the Nemotron-H 8B configuration, a hybrid architecture in which most self-attention layers are replaced by Mamba layers [23]. We match the disclosed architecture, sequence length, global batch, optimizer, and schedule from Appendix A.2 of the NVFP4 paper, then substitute the data blend and train for 188.7 billion tokens. Table 8 records each match and substitution. NVIDIA reports a 1T-token, two-phase blend, but the underlying 8B examples and mixture weights are unavailable. We instead use a fixed OLMo-family mixture containing 82% DataComp-LM and 18% other OLMo data. Table 8: Comparison with NVIDIA’s 8B setup. “Exact” denotes a field-by-field match; “Partial” means that only the listed fields match; “Shortened” and “Substituted” identify the stated horizon and data changes. Component

NVIDIA 8B setup

This study

Match

Hybrid blocks

52 total: 4 attention, 24 FFN, 24 Mamba-2 Hidden 4,096; FFN 21,504 32 query heads; 4 key/value heads 8 groups; state 128; head 64; expansion 2; convolution width 4 8,192 tokens; global batch 768 AdamW, β1 = 0.9, β2 = 0.95, weight decay 0.1 Warmup–Stable–Decay (WSD): 8 × 10−4 , decaying to 8 × 10−6 over the final 15% 1 trillion tokens

Same 52-block arrangement

Exact

Hidden 4,096; FFN 21,504 32 query heads; 4 key/value heads Same five dimensions

Exact Exact Exact

8,192 tokens; global batch 768 Same optimizer and coefficients

Exact Exact

Constant through 85%, then linear decay to 1% of peak

Exact

30,000 steps, or 30,000 × 768 × 8,192 = 188.7 billion tokens Fixed internal 82/18 OLMo-family mixture Same BF16 and Transformer Engine NVFP4 precision placement

Shortened

32 GB200 ranks; seed 42; global-norm clipping at 1.0

Partial

Core widths Attention Mamba-2 Sequence / batch Optimizer Learning rate

Training horizon

Training data Precision baselines

Execution controls

Two blend phases; exact 8B examples and mixture unavailable BF16; NVFP4 linears with eligible projections in the final eight blocks in BF16; output projection in FP32 Blackwell FP4; world size, seed, and clipping not disclosed

Substituted Exact

The architecture, optimizer, schedule, sequence and batch sizes, and precision placement—including the FP32 output projection—match the NVIDIA 8B setup. The deliberate differences are the shorter training horizon and substituted data mixture; world size, seed, and clipping are reported as study-specific execution controls because the NVIDIA values are not disclosed. All seven trajectories reach 30,000 optimizer steps. The Transformer Engine NVFP4 trajectory was resumed at step 15,000 with its model, optimizer, and schedule state restored; its data-order and random-number streams restarted from seed 42. Each configuration has one seed-42 trajectory, so the reported loss and downstream-score differences are descriptive comparisons rather than estimates of seed-to-seed variability or statistical significance.

7.2

Inference with delayed scaling

Delayed scaling introduces state during pretraining: the scale used at a given step depends on a maximum measured earlier. That state is an execution detail, not part of the learned model, so it UE5M3 FP4 pretraining

14

GRAPHCORE RESEARCH

TECHNICAL REPORT

is not available when a checkpoint is loaded for inference. We therefore initialize inference scales explicitly rather than attempting to reconstruct the final training cache. Our main UE5M3 FP4 evaluations preserve the same design principle used in pretraining. We keep each weight tensor’s amax reference fixed because weights do not change during inference, while activation references refresh every 50 inference batches and remain fixed between refreshes. We start from an empty cache and use one fixed evaluation order, making this stateful policy deterministic and comparable across checkpoints. Table 9 lists this policy and two stateless sensitivity checks; calibration data are disjoint from validation. Every UE5M3 FP4 result includes FP4 fake quantization of the eligible weights and activations; the native NVFP4 results execute those operations in Transformer Engine, and the BF16 control remains unquantized. Thus the evaluation measures FP4 weight and activation error under an explicitly defined inference-scale policy. Table 9: Activation-scale choices used for quantized inference. Policy

Scale rule

Role in this study

Delayed, D = 50

Refresh every 50 batches and hold between refreshes Recompute for every batch

Main evaluation for the proposed recipe

Current, D = 1 Calibrated frozen

7.3

Estimate on separate calibration data, then hold fixed

Transformer Engine setting and sensitivity check Stateless sensitivity check

Pretraining quality and stability

Six trajectories descend smoothly after early training; the native NVFP4 no-RHT/all-linears ablation exhibits repeated loss spikes. Figure 2 shows the complete trajectories.

UE5M3 FP4 pretraining

15

GRAPHCORE RESEARCH

TECHNICAL REPORT

Nemotron-H 8B training on the internal OLMo mixture (seed 42) 9

Native NVFP4 ablation: full spike range

Training loss (250-step moving mean)

8 7 6.0 5.5

BF16

Proposed UE5M3, B=32 (probe-matched)

TE NVFP4

UE5M3 with TE settings

UE5M3, B=16 (decoded-operand)

Native NVFP4 ablation

Proposed UE5M3, B=16 (probe-matched)

5.0 4.5 4.0 3.5 3.0 2.5 5000

10000

15000 Optimizer step

20000

25000

30000

Figure 2: Training loss for the completed 8B runs. Lower is better. The split vertical axis keeps the main trajectories readable while showing the full native-NVFP4 ablation spike range. The dashed line marks the Transformer Engine optimizer resume. Curves average 10 logged values, or 250 optimizer steps. B is the number of values in each microscaling block; “probe-matched” denotes the probe-matched GEMM output model.

During the final 5,000 steps, all four UE5M3 FP4 trajectories have lower final-window means and endpoint losses than the Transformer Engine NVFP4 trajectory (Figure 3).

UE5M3 FP4 pretraining

16

GRAPHCORE RESEARCH

TECHNICAL REPORT

Final 5,000 optimizer steps

7

Native NVFP4 ablation: full spike range

5

Training loss minus TE NVFP4 recipe

Training loss (250-step moving mean)

3

2.50

BF16 UE5M3 with TE settings Proposed UE5M3, B=16 (probe-matched)

Proposed UE5M3, B=32 (probe-matched) UE5M3, B=16 (decoded-operand)

TE NVFP4 Native NVFP4 ablation

2.45 2.40 2.35 2.30 2.25

0.00

−0.05

−0.10 25000

26000

27000 28000 Optimizer step

29000

30000

Figure 3: The final 5,000 optimizer steps. Curves use the same 250-step moving mean as Figure 2. The split upper panels include the full native-NVFP4 ablation trajectory. The dashed line marks the start of linear decay; the gray band is the final reporting window. In the bottom panel, negative values indicate lower loss than the Transformer Engine NVFP4 recipe.

Table 10 and Figure 4 summarize the final 250-step window and report the endpoint separately.

UE5M3 FP4 pretraining

17

GRAPHCORE RESEARCH

TECHNICAL REPORT

Table 10: Completed 30,000-step pretraining runs. Lower training loss is better. “Window mean” is the arithmetic mean of ten logged training losses with steps in (29,750, 30,000]; gradient norm is the pre-clipping global norm. Run

Window-mean training loss

Endpoint training loss

Endpoint gradient norm

2.2651 2.2902

2.2620 2.2874

0.0544 0.0352

2.3090

2.3065

0.0417

2.3241

2.3216

0.0374

2.3157

2.3128

0.0396

2.3474

2.3349

0.0349

2.4420

2.4391

0.4551

BF16 UE5M3 FP4 with Transformer Engine settings Proposed UE5M3 FP4, B = 16, probe-matched Proposed UE5M3 FP4, B = 32, probe-matched Proposed UE5M3 FP4, B = 16, decoded-operand Torch Transformer Engine NVFP4 recipe Native NVFP4 no-RHT/all-linears ablation (D = 1)

Completed 30,000-step runs BF16

UE5M3 FP4 with Transformer Engine settings

Proposed UE5M3 FP4, B=16, probe-matched

Proposed UE5M3 FP4, B=32, probe-matched

Proposed UE5M3 FP4, B=16, decoded-operand Torch

Transformer Engine NVFP4 recipe

Native NVFP4 no-RHT/all-linears ablation (D=1)

2.20

2.2651

2.2902

2.3090

2.3241

2.3157

2.3474

2.4420

2.25 2.30 2.35 2.40 2.45 Mean training loss over the final 10 logged batches

Figure 4: Means of the ten logged training losses in the final 250-step window. The white marker is the exact endpoint training loss.

The lowest FP4 final-window loss is 2.2902 for UE5M3 FP4 with Transformer Engine settings, UE5M3 FP4 pretraining

18

GRAPHCORE RESEARCH

TECHNICAL REPORT

compared with 2.3474 for native Transformer Engine NVFP4. Our proposed block-16 recipe reaches 2.3090 while omitting RHT and applying FP4 to all 112 eligible internal linears. Its matched block-32 control reaches 2.3241, and its decoded-operand GEMM control reaches 2.3157. Within these single trajectories, the comparisons favor block size 16 and the probe-matched GEMM output model for the proposed recipe. Stability with all eligible linears in FP4. Figure 5 compares the proposed UE5M3 FP4 recipe with a native NVFP4 ablation that also removes RHT and the BF16 exemption for the final-block projections. This is a comparison of complete recipes rather than an isolation of the scale format: the two runs also differ in scale lifecycle and GEMM numerics. After step 2,500, the proposed trajectory records no logged loss above 3 and no pre-clipping gradient norm above 1. The native NVFP4 ablation records 205 losses above 3 and 89 gradient norms above 1, and finishes with a final-window loss of 2.4420 versus 2.3090.

9

Pre-clipping gradient-norm trajectory

UE5M3 FP4 (D=50) Native NVFP4 ablation (D=1)

8

100 Gradient norm (250-step median)

Training loss (250-step moving mean)

Training-loss trajectory

7 6 5 4

10−1 UE5M3 FP4 (D=50) Native NVFP4 ablation (D=1)

3 5000 10000 15000 20000 25000 30000 Optimizer step

5000 10000 15000 20000 25000 30000 Optimizer step

Figure 5: Training stability when all 112 eligible internal linears use FP4. The proposed UE5M3 FP4 recipe uses periodic scaling with D = 50; the native NVFP4 ablation uses current-tensor scaling and otherwise removes RHT and the final-block BF16 exemption. Loss uses a 250-step moving mean and gradient norm a 250-step moving median.

Effect of the GEMM output model. A paired block-16 control changes only how the software GEMM models native FP4 reduction and output rounding. The probe-matched emulator reaches a final-window loss of 2.3090, compared with 2.3157 for a standard matrix multiplication on reconstructed operands; the endpoint has the same ordering. Figure 6 shows that this small difference persists through the final decay window. Section 6 and Appendix B define the two numerical models.

UE5M3 FP4 pretraining

19

GRAPHCORE RESEARCH

TECHNICAL REPORT

8B GEMM output-path comparison A. Final 5,000 steps

2.42 2.40 2.38 2.36 2.34 2.32

B. Training-loss difference after warmup 0.00

Proposed UE5M3, B=16 (probe-matched) UE5M3, B=16 (decoded-operand)

Training-loss difference (probe-matched − decoded)

Training loss (250-step moving mean)

2.44

25000 26000 27000 28000 29000 30000 Optimizer step

−0.01 −0.02 −0.03 −0.04 −0.05 −0.06 −0.07

Final-window difference: -0.0067

5000

10000 15000 20000 25000 30000 Optimizer step

Figure 6: Matched block-16 UE5M3 FP4 runs that differ only in their software GEMM output model. (A) Final 5,000 steps. (B) Probe-matched loss minus the decoded-operand control after warm-up; negative values favor the probe-matched emulator.

7.4

Quantized held-out validation across checkpoints

We evaluate 12 checkpoints from steps 2,500 through 30,000 for all seven trajectories on the same fixed validation stream of 768 ordered 8,192-token sequences (6,291,456 tokens), using the inference paths in Table 11.

UE5M3 FP4 pretraining

20

GRAPHCORE RESEARCH

TECHNICAL REPORT

A. Held-out validation under each inference recipe BF16-trained, unquantized UE5M3 FP4 with TE settings (D=1) Proposed UE5M3 FP4, B=16 (D=50) Proposed UE5M3 FP4, B=32 (D=50)

3.0

Held-out NLL

2.9 2.8

UE5M3 FP4, B=16, decoded-operand Torch matmul (D=50) TE NVFP4 recipe (D=1) Native NVFP4 no-RHT/all-linears (D=1)

7.68

2.7 2.6 2.5 2.4 2.3

Relative NLL vs BF16 (%) 100(LBF16 − L)/LBF16

2.2

B. Relative held-out NLL from BF16 (negative is worse)

0.0 −2.5 −5.0 −7.5 −10.0

-204.90%

5000

10000

15000 Optimizer step

20000

25000

30000

Figure 7: Held-out NLL under quantized inference at 12 checkpoints; BF16 is unquantized. Panel A shows absolute NLL. Panel B follows NVIDIA et al. [22] and reports 100(LBF16 − Lrun )/LBF16 , so negative is worse than BF16. Triangles mark the off-axis native ablation value at step 7,500; Table 11 lists each path’s activation-scale policy.

Table 11: Step-30,000 results on the fixed validation stream. Lower NLL is better. FP4 indicates whether the configured eligible linears execute with quantized weights and activations during inference. Bold marks the lowest FP4 NLL; BF16 is the unquantized control. Path

Activation scaling

FP4

NLL

BF16-trained trajectory, unquantized inference UE5M3 FP4 with Transformer Engine settings Proposed UE5M3 FP4, B = 16, probe-matched Transformer Engine NVFP4 recipe Proposed UE5M3 FP4, B = 16, decoded-operand Torch Proposed UE5M3 FP4, B = 32, probe-matched Native NVFP4 no-RHT/all-linears ablation

not applicable current, D = 1 delayed, D = 50 current, D = 1 delayed, D = 50 delayed, D = 50 current, D = 1

no yes yes yes yes yes yes

2.27834 2.30376 2.32230 2.32592 2.32900 2.33721 2.45468

Among the FP4 paths, the proposed block-16 UE5M3 FP4 path has lower NLL than the native Transformer Engine NVFP4 recipe at 8 of 12 checkpoints, including all four checkpoints from step

UE5M3 FP4 pretraining

21

GRAPHCORE RESEARCH

TECHNICAL REPORT

22,500 onward. At step 30,000 it reaches 2.32230 versus 2.32592, a difference of −0.00362 NLL. Its NLL decreases from 2.42755 at step 22,500 to 2.32230 at step 30,000. UE5M3 FP4 with Transformer Engine settings has lower NLL than native Transformer Engine NVFP4 at all 12 checkpoints and finishes at 2.30376, a difference of −0.02217 NLL. Appendix A compares the three inference-scale choices for the proposed block-16 checkpoint. Their step-30,000 held-out NLLs differ by less than 9.0×10−5 , and all remain below the native Transformer Engine NVFP4 result.

7.5

Quantized downstream evaluation at step 30,000

We compare the seven final checkpoints on the OLMES likelihood-based multiple-choice suite [15]. We report its Core 9 aggregate, MMLU [17], and MMLU-Pro multiple-choice accuracy [34]. Step-30,000 likelihood-based multiple-choice accuracy relative to BF16 Core 9 MCQA OLMES MMLU MMLU-Pro MC +0.00

BF16-trained, unquantized

+0.00

-0.70

UE5M3 FP4 with TE settings, D=1

-1.06

-1.32

Proposed UE5M3 FP4, B=16, D=50

+0.12

-0.66

-2.29

Proposed UE5M3 FP4, B=32, D=50

+0.00

-0.17

-1.49

-0.20

UE5M3 FP4, B=16, decoded-operand Torch matmul, D=50

-1.59

-1.32

-0.30

TE NVFP4 recipe, D=1

-1.45

-1.67

-0.18

-5.20

Native NVFP4 no-RHT/all-linears, D=1

−6

−3

-4.52

0

3

6 −6

−3

+0.05

0

3

6 −6

−3

0

3

6

Accuracy difference from BF16 (run minus BF16, percentage points) Delayed-scale paths use one fixed evaluation order.

Figure 8: Step-30,000 likelihood-based multiple-choice accuracy relative to the separately trained BF16 control. Values are percentage-point differences (run minus BF16), so positive values indicate higher accuracy. All quantized rows execute with their configured FP4 path active during inference. The D = 50 scores are fixed-order point estimates because delayed scale state depends on request order.

UE5M3 FP4 pretraining

22

GRAPHCORE RESEARCH

TECHNICAL REPORT

Table 12: Step-30,000 OLMES accuracy. Values are percentages; higher is better. Bold marks the highest FP4 result in each column. BF16 is the unquantized control. Path

Inference precision

Scale policy

Core 9

MMLU

MMLU-Pro MC

BF16-trained trajectory UE5M3 FP4 with Transformer Engine settings Proposed UE5M3 FP4, B = 16, probe-matched Proposed UE5M3 FP4, B = 32, probe-matched Proposed UE5M3 FP4, B = 16, decoded-operand Torch Transformer Engine NVFP4 recipe Native NVFP4 no-RHT/all-linears ablation

unquantized fake FP4

not applicable current, D = 1

65.14 64.43

39.64 38.57

11.24 11.36

fake FP4

delayed, D = 50

63.82

38.97

11.06

fake FP4

delayed, D = 50

62.85

38.14

11.04

fake FP4

delayed, D = 50

63.54

38.32

10.94

native FP4

current, D = 1

63.69

37.96

11.05

native FP4

current, D = 1

59.94

35.11

11.29

Among the FP4 paths, relative to the native Transformer Engine NVFP4 checkpoint, proposed block-16 UE5M3 FP4 is higher by 0.13, 1.01, and 0.01 percentage points on Core 9, OLMES MMLU, and MMLU-Pro MC, respectively. UE5M3 FP4 with Transformer Engine settings is higher by 0.74, 0.61, and 0.31 percentage points.

7.6

Native NVFP4 execution ablation

The Blackwell/Transformer Engine FP4 path evaluated here exposes native NVFP4 with E4M3 block scales, not UE5M3 block scales [21]. We therefore measure the joint execution effect of removing RHT and moving 16 eligible final-block projections from BF16 to FP4. Both native NVFP4 configurations use Transformer Engine current-tensor scaling (D = 1), SR, and two-dimensional weight scaling. We measure synchronized forward and backward execution of the 8B model body on one NVIDIA GB200 after warm-up. Data loading, optimization, distributed communication, and compilation are excluded from the timed region. Table 13: Native-NVFP4 execution ablation. “100-step wall” is the sum of synchronized model-body forward/backward timings after warm-up. Recipe executed with native NVFP4

FP4 linears

BF16 linears

100-step wall

Tokens/s

Transformer Engine: RHT; 16 final-block linears in BF16 No RHT; all 112 eligible linears in FP4

96

16

31.877 s

3,212

112

0

26.298 s

3,894

Relative change

+16

−16

–

+21.2%

The joint change raises measured model-body throughput from 3,212 to 3,894 tokens per second, an increase of 21.2%. UE5M3 FP4 pretraining

23

GRAPHCORE RESEARCH

8

TECHNICAL REPORT

Conclusion

This work demonstrates end-to-end software-emulated UE5M3 FP4 pretraining on a NemotronH 8B model over 188.7 billion tokens. Our proposed recipe combines periodic sample-and-hold tensor scaling, two-dimensional weight scaling, and upstream-gradient SR while omitting RHT and applying FP4 to all 112 eligible internal linears instead of retaining a BF16 exemption for final-block projections. It achieves a lower final-window mean training loss than NVIDIA’s Transformer Engine NVFP4 recipe. UE5M3 FP4 with Transformer Engine settings produces the lowest final-window training loss among the completed FP4 trajectories. Under their configured quantized-inference paths, the proposed block-16 UE5M3 FP4 path has lower held-out NLL on the fixed validation stream than native Transformer Engine NVFP4 at 8 of 12 checkpoints, including all four final checkpoints, and finishes at 2.32230 versus 2.32592. UE5M3 FP4 with Transformer Engine settings has lower NLL at all 12 checkpoints and finishes at 2.30376. Among the FP4 paths at step 30,000, the proposed block-16 UE5M3 FP4 point estimates are higher than native Transformer Engine NVFP4 by 0.13, 1.01, and 0.01 percentage points on Core 9, OLMES MMLU, and MMLU-Pro MC, respectively. The UE5M3 FP4 path with Transformer Engine settings is higher by 0.74, 0.61, and 0.31 percentage points. In the native NVFP4 execution ablation, the no-RHT/all-linears configuration records 21.2% higher measured model-body token throughput than the Transformer Engine configuration. The probematched emulator also reproduces native model behavior in deterministic controls, supporting its use for the UE5M3 FP4 experiments. Because the evaluated Blackwell/Transformer Engine path supports E4M3 rather than UE5M3 block scales [21], these results motivate future accelerators to support UE5M3 block scaling directly and realize the UE5M3 FP4 recipe in hardware.

Generative-AI Disclosure OpenAI Codex was used extensively to assist with code development, experiment orchestration, analysis, programmatic figure generation, and drafting and editing this report. Each human author takes full responsibility for the code, experimental design and execution, analysis, numerical results, figures, citations, and text.

References [1] Anjulie Agrusa, Andrei Panferov, Elizabeth Wei, Keith Wyss, Paul Gibbons, Erik Schultheis, Tijmen Blankevoort, and Dan Alistarh. What matters for NVFP4 training? a scaling study of low-precision pre-training recipes. In Proceedings of the 43rd International Conference on Machine Learning, volume 306 of Proceedings of Machine Learning Research, 2026. URL https://openreview.net/forum?id=jlkIyaG32w. [2] Saleh Ashkboos, Amirkeivan Mohtashami, Maximilian L. Croci, Bo Li, Pashmina Cameron, Martin Jaggi, Dan Alistarh, Torsten Hoefler, and James Hensman. QuaRot: Outlier-free 4-bit inference in rotated LLMs. arXiv preprint arXiv:2404.00456, 2024. doi: 10.48550/arXiv.2404. 00456. URL https://arxiv.org/abs/2404.00456.

UE5M3 FP4 pretraining

24

GRAPHCORE RESEARCH

TECHNICAL REPORT

[3] Hengjie Cao, Mengyi Chen, Yifeng Yang, Ruijun Huang, Fang Dong, Jixian Zhou, Anrui Chen, Mingzhi Dong, Yujiang Wang, Jinlong Hou, Yuan Cheng, Fan Wu, Fan Yang, Tun Lu, Ning Gu, and Li Shang. Metis: Training LLMs with FP4 quantization. In International Conference on Learning Representations, 2026. URL https://openreview.net/forum?id=I2ZrCi5O84. [4] Roberto L. Castro, Andrei Panferov, Rush Tabesh, Oliver Sieberling, Jiale Chen, Mahdi Nikdan, Saleh Ashkboos, and Dan Alistarh. Quartet: Native FP4 training can be optimal for large language models. In Advances in Neural Information Processing Systems, volume 38, pages 43552–43572, 2025. doi: 10.52202/ 085713-1449. URL https://proceedings.neurips.cc/paper_files/paper/2025/hash/ 3e11872d3bc9bfba34e1752fef87639c-Abstract-Conference.html. [5] Yuxiang Chen, Haocheng Xi, Jun Zhu, and Jianfei Chen. Oscillation-reduced MXFP4 training for vision transformers. In Proceedings of the 42nd International Conference on Machine Learning, volume 267 of Proceedings of Machine Learning Research, pages 9400–9414, 2025. URL https://proceedings.mlr.press/v267/chen25bu.html. [6] Yuxiang Chen, Yifan Liu, Xiaoming Xu, Pengle Zhang, Michael Beyer, Martin Rapp, Jun Zhu, and Jianfei Chen. TetraJet-v2: Accurate NVFP4 training for large language models with oscillation suppression and outlier control. In Proceedings of the 43rd International Conference on Machine Learning, volume 306 of Proceedings of Machine Learning Research, 2026. URL https://arxiv.org/abs/2510.27527. [7] Brian Chmiel, Ron Banner, Elad Hoffer, Hilla Ben Yaacov, and Daniel Soudry. Accurate neural training with 4-bit matrix multiplications at standard formats. In International Conference on Learning Representations, 2023. URL https://arxiv.org/abs/2112.10769. [8] Brian Chmiel, Maxim Fishman, Ron Banner, and Daniel Soudry. FP4 all the way: Fully quantized training of large language models. In Advances in Neural Information Processing Systems, volume 38, pages 91130–91151. Curran Associates, Inc., 2025. doi: 10.52202/085713-3049. URL https://proceedings.neurips.cc/paper_files/paper/2025/ file/8340b085045cf13f1f0b6c2c4cc0a89c-Paper-Conference.pdf. [9] Musa Cim, Sarthak Arora, Poovaiah Palangappa, Miro Hodak, Ravi Dwivedula, Meena Arunachalam, and Mahmut Taylan Kandemir. Pretraining large language models with MXFP4 on native FP4 hardware. arXiv preprint arXiv:2605.09825, 2026. doi: 10.48550/arXiv.2605. 09825. URL https://arxiv.org/abs/2605.09825. [10] Jack Cook, Junxian Guo, Guangxuan Xiao, Yujun Lin, Keith Wyss, Mahdi Nazemi, Asit Mishra, Carlo del Mundo, Tijmen Blankevoort, and Song Han. Four over six: More accurate NVFP4 quantization with adaptive block scaling. arXiv preprint arXiv:2512.02010, 2025. doi: 10.48550/arXiv.2512.02010. URL https://arxiv.org/abs/2512.02010. [11] Bita Darvish Rouhani, Ritchie Zhao, Ankit More, Mathew Hall, Alireza Khodamoradi, Summer Deng, et al. Microscaling data formats for deep learning. arXiv preprint arXiv:2310.10537, 2023. doi: 10.48550/arXiv.2310.10537. URL https://arxiv.org/abs/2310.10537. [12] Siyu Ding, Mingchuan Ma, Jiabo Tong, Xingrun Xing, Ziming Wang, and Guoqi Li. Full-stack FP4: Stable LLM pretraining with quantized projections, optimizers, and attention. arXiv preprint arXiv:2607.04422, 2026. doi: 10.48550/arXiv.2607.04422. URL https://arxiv.org/ abs/2607.04422. UE5M3 FP4 pretraining

25

GRAPHCORE RESEARCH

TECHNICAL REPORT

[13] Andrea Fasoli, Monodeep Kar, Chi-Chun Liu, Swagath Venkataramani, Viji Srinivasan, Leland Chang, and Naigang Wang. Is finer better? the limits of microscaling formats in large language models. arXiv preprint arXiv:2601.19026, 2026. doi: 10.48550/arXiv.2601.19026. URL https://arxiv.org/abs/2601.19026. [14] Andrew W. Fitzgibbon and Stephen Felix. On stochastic rounding with few random bits. In 2025 IEEE 32nd Symposium on Computer Arithmetic (ARITH), pages 133–140, 2025. doi: 10. 1109/ARITH64983.2025.00029. URL https://doi.org/10.1109/ARITH64983.2025.00029. [15] Yuling Gu, Oyvind Tafjord, Bailey Kuehl, Dany Haddad, Jesse Dodge, and Hannaneh Hajishirzi. OLMES: A standard for language model evaluations. In Findings of the Association for Computational Linguistics: NAACL 2025, pages 5020–5048. Association for Computational Linguistics, 2025. doi: 10.18653/v1/2025.findings-naacl.282. URL https://aclanthology. org/2025.findings-naacl.282/. [16] Suyog Gupta, Ankur Agrawal, Kailash Gopalakrishnan, and Pritish Narayanan. Deep learning with limited numerical precision. In Proceedings of the 32nd International Conference on Machine Learning, volume 37 of Proceedings of Machine Learning Research, pages 1737–1746, 2015. URL https://proceedings.mlr.press/v37/gupta15.html. [17] Dan Hendrycks, Collin Burns, Steven Basart, Andy Zou, Mantas Mazeika, Dawn Song, and Jacob Steinhardt. Measuring massive multitask language understanding. In International Conference on Learning Representations, 2021. URL https://arxiv.org/abs/2009.03300. [18] Robert Hu, Carlo Luschi, and Paul Balanca. Elucidating the design space of FP4 training. arXiv preprint arXiv:2509.17791, 2025. doi: 10.48550/arXiv.2509.17791. URL https://arxiv. org/abs/2509.17791. [19] Paulius Micikevicius, Dusan Stosic, Neil Burgess, Marius Cornea, Pradeep Dubey, Richard Grisenthwaite, et al. FP8 formats for deep learning. arXiv preprint arXiv:2209.05433, 2022. doi: 10.48550/arXiv.2209.05433. URL https://arxiv.org/abs/2209.05433. [20] NVIDIA. FP8 delayed scaling: Transformer engine documentation. Online documentation, 2026. URL https://docs.nvidia.com/deeplearning/transformer-engine/user-guide/ features/low_precision_training/fp8_delayed_scaling/fp8_delayed_scaling.html. Accessed 2026-07-16. NVFP4: Transformer engine documentation. Online documentation, [21] NVIDIA. 2026. URL https://docs.nvidia.com/deeplearning/transformer-engine/user-guide/ features/low_precision_training/nvfp4/nvfp4.html. Accessed 2026-07-16. [22] NVIDIA, Felix Abecassis, Anjulie Agrusa, Dong Ahn, Jonah Alben, Stefania Alborghetti, et al. Pretraining large language models with NVFP4. arXiv preprint arXiv:2509.25149, 2025. doi: 10.48550/arXiv.2509.25149. URL https://arxiv.org/abs/2509.25149. [23] NVIDIA, Aaron Blakeman, Aarti Basant, Abhinav Khattar, Adithya Renduchintala, Akhiad Bercovich, et al. Nemotron-H: A family of accurate and efficient hybrid Mamba–Transformer models. arXiv preprint arXiv:2504.03624, 2025. doi: 10.48550/arXiv.2504.03624. URL https://arxiv.org/abs/2504.03624. [24] Open Compute Project. OCP Microscaling Formats (MX) Specification, Version 1.0, September 2023. URL https://www.opencompute.org/documents/ ocp-microscaling-formats-mx-v1-0-spec-final-pdf. UE5M3 FP4 pretraining

26

GRAPHCORE RESEARCH

TECHNICAL REPORT

[25] Kaan Ozkara, Tao Yu, and Youngsuk Park. Stochastic rounding for LLM training: Theory and practice. In Proceedings of the 28th International Conference on Artificial Intelligence and Statistics, volume 258 of Proceedings of Machine Learning Research, pages 4402–4410, 2025. URL https://proceedings.mlr.press/v258/ozkara25b.html. [26] Andrei Panferov, Erik Schultheis, Soroush Tabesh, and Dan Alistarh. Quartet II: Accurate LLM pre-training in NVFP4 by improved unbiased gradient estimation. arXiv preprint arXiv:2601.22813, 2026. doi: 10.48550/arXiv.2601.22813. URL https://arxiv.org/abs/ 2601.22813. [27] Mehdi Rahimifar, Amin Darabi, Mehran Taghian Jazi, Xing Huang, Yao Wang, Zhijun Tu, Yufei Cui, Yunke Peng, and Hongliang Li. Stable FP4 training via transposition-invariant block quantization. arXiv preprint arXiv:2607.24953, 2026. doi: 10.48550/arXiv.2607.24953. URL https://arxiv.org/abs/2607.24953. [28] Bita Rouhani, Ritchie Zhao, Venmugil Elango, Rasoul Shafipour, Mathew Hall, Maral Mesmakhosroshahi, et al. With shared microexponents, a little shifting goes a long way. arXiv preprint arXiv:2302.08007, 2023. doi: 10.48550/arXiv.2302.08007. URL https: //arxiv.org/abs/2302.08007. [29] Xiao Sun, Naigang Wang, Chia-Yu Chen, Jiamin Ni, Ankur Agrawal, Xiaodong Cui, Swagath Venkataramani, Kaoutar El Maghraoui, Vijayalakshmi (Viji) Srinivasan, and Kailash Gopalakrishnan. Ultra-low precision 4-bit training of deep neural networks. In Advances in Neural Information Processing Systems, volume 33, pages 1796– 1807, 2020. URL https://proceedings.neurips.cc/paper_files/paper/2020/file/ 13b919438259814cd5be8cb45877d577-Paper.pdf. [30] Xingwu Sun, Shuaipeng Li, Ruobing Xie, Weidong Han, Kan Wu, Zhen Yang, Yixing Li, An Wang, Shuai Li, Jinbao Xue, Yu Cheng, Yangyu Tao, Zhanhui Kang, Cheng-Zhong Xu, Di Wang, and Jie Jiang. Scaling laws for floating–point quantization training. In Proceedings of the 42nd International Conference on Machine Learning, volume 267 of Proceedings of Machine Learning Research, pages 57544–57570, 2025. URL https://proceedings.mlr.press/v267/ sun25j.html. [31] Mehran Taghian, Yunke Peng, Xing Huang, Yao Wang, Yaoyuan Wang, Wei Guo, Yuanyong Luo, Tianchi Hu, et al. HiFloat4 format for language model pre-training on Ascend NPUs. arXiv preprint arXiv:2604.08826, 2026. doi: 10.48550/arXiv.2604.08826. URL https://arxiv. org/abs/2604.08826. [32] Albert Tseng, Tao Yu, and Youngsuk Park. Training LLMs with MXFP4. In Proceedings of the 28th International Conference on Artificial Intelligence and Statistics, volume 258 of Proceedings of Machine Learning Research, pages 1630–1638, 2025. URL https://proceedings. mlr.press/v258/tseng25a.html. [33] Ruizhe Wang, Yeyun Gong, Xiao Liu, Guoshuai Zhao, Ziyue Yang, Baining Guo, ZhengJun Zha, and Peng Cheng. Optimizing large language model training using FP4 quantization. In Proceedings of the 42nd International Conference on Machine Learning, volume 267 of Proceedings of Machine Learning Research, pages 62937–62957, 2025. URL https://proceedings.mlr.press/v267/wang25ae.html.

UE5M3 FP4 pretraining

27

GRAPHCORE RESEARCH

TECHNICAL REPORT

[34] Yubo Wang, Xueguang Ma, Ge Zhang, Yuansheng Ni, Abhranil Chandra, Shiguang Guo, Weiming Ren, Aaran Arulraj, Xuan He, Ziyan Jiang, Tianle Li, Max Ku, Kai Wang, Alex Zhuang, Rongqi Fan, Xiang Yue, and Wenhu Chen. MMLU-Pro: A more robust and challenging multi-task language understanding benchmark. In Advances in Neural Information Processing Systems, volume 37, pages 95266–95290, 2024. doi: 10.52202/ 079017-3018. URL https://proceedings.neurips.cc/paper_files/paper/2024/hash/ ad236edc564f3e3156e1b2feafb99a24-Abstract-Datasets_and_Benchmarks_Track.html. [35] Jiecheng Zhou, Ding Tang, Rong Fu, Boni Hu, Haoran Xu, Yi Wang, Zhilin Pei, Zhongling Su, Liang Liu, Xingcheng Zhang, and Weiming Zhang. Towards efficient pre-training: Exploring FP4 precision in large language models. arXiv preprint arXiv:2502.11458, 2025. doi: 10.48550/ arXiv.2502.11458. URL https://arxiv.org/abs/2502.11458.

UE5M3 FP4 pretraining

28

GRAPHCORE RESEARCH

A

TECHNICAL REPORT

Inference-Scale Sensitivity

For the proposed block-16 checkpoint, we compare the three policies summarized in Table 9. In every case, each loaded weight tensor’s amax is measured once and its tensor-wide reference remains fixed. The delayed cache starts from the first inference batch rather than restoring training state. The calibrated-frozen policy uses the largest activation amax observed for each eligible linear over 64 calibration sequences that are disjoint from validation. Delayed inference is order-dependent, so validation and downstream evaluation use fixed request orders. For the downstream suite, the scale state advances continuously rather than restarting at task boundaries. Table 14: Held-out NLL under three activation-scale policies for the proposed block-16 checkpoint. Every populated cell uses fake-quantized FP4 weights and activations on the same validation stream. Lower is better; an em dash denotes a policy not evaluated at that checkpoint. Checkpoint step

Current tensor, D = 1

Delayed, D = 50

Calibrated frozen

27,500 30,000

— 2.322215

2.364080 2.322305

2.364100 2.322243

At step 30,000, the largest difference among the three policies is only 8.99 × 10−5 NLL, and each remains below the native Transformer Engine NVFP4 result of 2.325921. The choice among them therefore does not change the point-estimate ordering at this checkpoint.

B

FP4 GEMM Simulation Details and Ablations

We infer the hardware addition behavior using several deliberately different probes, summarized in Table 16. Here an edge case means an output close to a rounding boundary, not a NaN, infinity, overflow, or zero-sized input. The seven primary witnesses are real scalar outputs from full 8192 × 2048 × 6144 feed_forward.w2 GEMMs in layers 2, 5, 7, 8, 9, and 11. They include five positive and two negative outputs with magnitudes from 1.5×10−5 to 1.16×10−1 . For every witness, the custom and TE paths had identical decoded FP4 operand values, used scale bytes, and global scale product. The decoded-operand Torch matmul nevertheless chose the adjacent BF16 value because its unrounded result lay only 2.3 × 10−9 to 2.2 × 10−8 from the midpoint between the two BF16 choices. These deliberately separating cells form a diagnostic witness set, on which the decoded-operand matmul matches 0/7 outputs. Table 15 lists the complete set; coordinates are zero-based and “offset” is the decoded-operand Torch result minus the BF16 midpoint.

UE5M3 FP4 pretraining

29

GRAPHCORE RESEARCH

TECHNICAL REPORT

Table 15: The seven real-model BF16-boundary witnesses. A positive midpoint offset lies above the boundary and a negative offset lies below it. Module L2.w2 L5.w2 L7.w2 L7.w2 L8.w2 L9.w2 L11.w2

Row 4,143 7,919 6,189 4,184 3,263 1,141 8,181

Column

Native BF16

Decoded-operand Torch BF16

Midpoint offset

11 240 809 558 1,005 252 1,658

1.4591217×10−4

1.4495850×10−4

1.5258789×10−5

1.5377998×10−5

2.2094727×10−2 −2.4199486×10−5 7.3909760×10−5 −1.1621094×10−1 7.6599121×10−3

2.1972656×10−2 −2.4318695×10−5 7.4386597×10−5 −1.1572266×10−1 7.6293945×10−3

−1.6793×10−8 +3.1214×10−9 −1.8626×10−8 −9.7316×10−9 +1.3788×10−8 +2.2352×10−8 −2.3283×10−9

Table 16: Probe classes used to fit and test the output model. Each class isolates a distinct source of agreement. Probe

Construction

What it isolates

Pass condition

Seven W2 witnesses

Real model cells whose decoded-operand Torch result is adjacent to native BF16; operands and scales already agree Reorder the 384 K-blocks of the discriminating 6,144-term witness while preserving the same products and exact dot product Construct positive-only and negative-only partial sums immediately around an FP32 rounding boundary Sample full 128 × 256 × 6144 packedrandom and TE-quantized GEMMs

Accumulation after quantization

Native final BF16 value and encoded product-lattice bin

Product grouping, traversal order, and cross-group rounding

Native FP32 grid bin for every permutation

Nearest versus toward-zero addition without cancellation ambiguity Behavior away from hand-selected BF16 boundaries Composition across forward, data-gradient, and weight-gradient GEMMs

Correct side of every separating threshold

258 order tests

Same-sign thresholds

Broad 512-cell probes

1.29B model probe

One complete 1.2B-model forward and backward pass

Exact native FP32 value and final BF16 value per sampled cell Logits, loss, and complete parameter-gradient vector

The discriminating witness is the negative output at layer 7, row 4,184, column 558. Native TE returns −2.4199486 × 10−5 . An exact decoded sum followed by product-lattice canonicalization lands in bin −3371, and 64-product groups combined with nearest rounding land in bin −3372. The native result is bin −3370; only toward-zero combination reaches that bin. Permuting this same witness’s K-blocks produces the 258 order tests: the mathematical dot product remains fixed, while native rounded outputs change with physical order. This is the case that separates the 6/7 and 7/7 candidate output models. Table 17 then builds the match one rule at a time.

UE5M3 FP4 pretraining

30

GRAPHCORE RESEARCH

TECHNICAL REPORT

Table 17: Output-model ladder against native Transformer Engine FP4 GEMM. Each row adds one probe-supported rule. Software output model

Added rule

What it tests

Decoded-operand Torch matmul

Decode FP4 values to FP32, call a standard matrix multiply, then return BF16 Exact decoded dot product, then RNE-map to its 1/1024 product lattice One partial per 64 products; nearest rounding between groups Same groups; round inexact cross-group additions toward zero

Exact sum + canonicalization

64-product groups + nearest

64-product groups + toward zero

Order tests

BF16 witnesses

Quantization only; native addition ignored

–

0/7

Whether final product-lattice mapping alone explains TE

–

6/7

Physical grouping alone

149/258

6/7

Complete tested output rule

258/258

7/7

Figure 9 adds two broader checks. In panel A, rounding toward zero matches more cases at every tested group size; groups of 64 are the only 258/258 match. On 512 packed-random outputs in panel B, the complete model matches 366 native FP32 values versus 6 for the RNE accumulation baseline. On wide TE-quantized operands it matches all 512, versus 485. Both methods happen to agree after BF16 conversion in these broad samples. This is why a BF16-only output comparison can miss the difference and why the sensitive cases matter. On the seven selected witnesses, all 7/7 modeled outputs match the native final BF16 values and encoded product-lattice bins; 5/7 also match the native pre-BF16 FP32 value.

UE5M3 FP4 pretraining

31

GRAPHCORE RESEARCH

TECHNICAL REPORT

A. 64-product groups with toward-zero addition: 258/258

Nearest between groups

143/258 55.4%

144/258 55.8%

149/258 57.8%

100 90

144/258 55.8%

80 70 Toward zero between groups

244/258 94.6%

16

251/258 97.3%

258/258 100.0%

32 64 Products per partial sum

RNE accumulation baseline 100.0% 94.7% Probe-matched emulator

80

71.5%

60 40 20 0

1.2%

Packed random

TE-quantized wide

60 50

128

C. Seven BF16-boundary witnesses Exact native BF16 witnesses (%)

Exact native FP32 cells (%)

B. Broad 512-output checks 100

242/258 93.8%

Exact native outputs (%)

Probe match to tested native Blackwell FP4 outputs

7/7

100 6/7

6/7

80 60 40 20 0

0/7 Decoded-operandExact + BF16 final snap

64 + nearest

64 + toward zero

Figure 9: Probe evidence for the tested native Blackwell FP4 outputs. (A) Reordering fixed products supports 64-product groups and toward-zero additions. (B) Broader samples compare exact native FP32 outputs. (C) Seven sensitive BF16-boundary cases show which rules are necessary. The final 1.2B check reproduces exact logits and loss and the complete 1,291,929,600-entry parameter-gradient vector in represented numerical value.

A third probe with TE quantization, RHT, and 2D weights gives 512/512 matches for both methods. In the denominator sweep of Table 7, 1/1024, finer grids, and no final canonicalization all match the 258 order tests, while the coarser grids fail. The 1.2B test then matches every represented parameter-gradient value across one complete model forward and backward pass.

C

Statistical Consequences of the Probe-Matched Emulator

We characterize the statistical consequences of the output model in Equations 12–14 by holding the products fixed and changing only two choices: how 64-product partial sums are combined and whether the final encoded accumulator is canonicalized on the 1/1024 product lattice. The public NVIDIA Parallel Thread Execution (PTX) instruction-set contract leaves E2M1 matrix-multiply-accumulate (MMA) order and rounding unspecified. The main sweep uses 4,096 independent dot products of length 4,096. Inputs come from a unit Gaussian, a Gaussian with standard deviation 32, a variance-normalized Laplace distribution, a variance-normalized Student-t(3) distribution, and a contaminated Gaussian with 1% of values drawn with 25 times the base standard deviation. We test both uncorrelated operands and operands with correlation 0.25. Every case receives identical BF16 products under four accumulator variants: UE5M3 FP4 pretraining

32

GRAPHCORE RESEARCH

TECHNICAL REPORT

Variant

Operation

RNE RNE + grid RTZ RTZ + grid

Round-to-nearest-even FP32 cross-group additions RNE, then nearest-even mapping to multiples of 1/1024 Round-toward-zero FP32 cross-group additions RTZ, then nearest-even mapping to multiples of 1/1024

For an exact addition result s, one toward-zero rounding error has the form eRTZ = RTZ32 (s) − s = − sign(s)δ,

0 ≤ δ < ulp(s).

(16)

Here ulp(s) is the spacing between adjacent FP32 values at s, or one unit in the last place. Thus an inexact positive addition moves downward and an inexact negative addition moves upward: both move toward zero. A symmetric distribution can still have almost zero unconditional signed error because its positive and negative conditional biases cancel. Magnitude bias and signal gain are therefore more informative than mean signed error. Table 18 confirms this contraction. RNE accumulation is within approximately 0.004 parts per million (ppm) of zero magnitude/gain bias in the same cases. Increasing Gaussian variance does not remove the relative effect, and heavier tails make it slightly larger rather than changing its sign. Table 18: Relative effect of RTZ for BF16 K = 4,096 dots. Magnitude bias uses uncorrelated operands; gain error uses correlation 0.25. Negative values mean contraction toward zero. Distribution

Magnitude bias (ppm)

Gain error (ppm)

−1.169 −1.136 −1.185 −1.188 −1.293

−1.283 −1.281 −1.285 −1.311 −1.350

Gaussian Gaussian, σ = 32 Laplace Student-t(3) 1% contaminated Gaussian

A second probe uses linear regression with 2,048 examples and 2,048 features. The RTZ gradient retains cosine similarity of at least 0.999999999996 with the exact-accumulation gradient, but its gain errors are −1.065, −1.213, and −1.219 ppm for Gaussian, Student-t(3), and contaminatedGaussian inputs, respectively. The corresponding RNE errors are +0.011, +0.013, and −0.004 ppm. RTZ therefore preserves direction while attenuating amplitude by roughly 1 ppm. In the correlated (ρ = 0.25) E2M1-plus-E4M3 controls, input quantization contributes 1.24–1.83% relative root-mean-square error, whereas changing RNE to RTZ affects only the sixth or seventh decimal place. The product-lattice canonicalization behaves differently. With d = 1024 and ∆ = d−1 = 2−10 , Equation 15 becomes Q∆ (z) = ∆ RNE(z/∆),

|Q∆ (z) − z| ≤ ∆/2.

(17)

It maps every encoded accumulator in [−1/2048, +1/2048] to zero. After the tensor decode factor α, the corresponding real-value dead-zone interval is [−α/2048, +α/2048], with total width α/1024. For 4,096 exact-cancellation trials at 64-product partial-sum scale 1, RNE accumulation leaves UE5M3 FP4 pretraining

33

GRAPHCORE RESEARCH

TECHNICAL REPORT

root-mean-square (RMS) path-rounding residue of 6.34 × 10−7 and RTZ leaves 5.40 × 10−6 ; either gridded variant returns exact zero in every trial. When a genuine residual has standard deviation 1/4096, however, the grid maps 95.4% of outputs to zero, lowers gain to approximately 0.44, and raises root-mean-square error (RMSE) to 2.26 × 10−4 . At 64-product partial-sum scale 32, even the RTZ path error can exceed half a grid cell. We then repeat the near-cancellation probe while varying d. Each row in Table 19 uses the same 4,096 Gaussian partial-sum sequences and the same residual samples, so only the final grid changes. The true residual has standard deviation 1/4096, and the 64-product partial-sum scale is one. The expected tradeoff is visible directly: coarser grids remove cancellation residue aggressively but also erase the intended signal; finer grids preserve gain and reduce RMSE. Table 19: Effect of final-grid granularity on a genuine near-zero residual. “None” retains the RTZ result without final canonicalization. Grid

Mapped to zero (%)

Signal gain

RMSE

0.02 100.00 99.98 95.43 67.68 37.92

1.0002 0.0000 0.0083 0.4332 0.9964 1.0017

5.42 × 10−6 2.47 × 10−4 2.46 × 10−4 2.27 × 10−4 1.41 × 10−4 7.08 × 10−5

None 1/256 1/512 1/1024 1/2048 1/4096

Native-output constraint

60 40 20 0

Finer grids reduce snap error none 1/256 1/512

10 3 RMSE against exact residual

80

Coarser grids erase more signal

100 outputs mapped to zero (%)

exact native witnesses (%)

100

80 60 40 20

1/1024 1/2048 1/4096

10 4

10 5

0 none 1/256 1/512 1/1024 1/2048 1/4096

2 13

2 12 2 10 2 11 true residual standard deviation

29

2 13

2 12 2 10 2 11 true residual standard deviation

29

Figure 10: Final-grid granularity sweep. Left: coarser 1/256 and 1/512 grids fail native witnesses; 1/1024, finer grids, and no snap all match the 258 permutation witnesses. Center and right: coarser grids map more real near-zero residuals to zero and incur larger error.

C.1

Optimizer-level regression control

We first test whether the final-grid denominator changes optimization in a compact two-layer teacher–student regression, 256 → 256 → 64, with 81,920 trainable parameters. It uses 2,048 fixed training examples, 1,024 fixed evaluation examples, minibatches of 128, and 500 AdamW updates. The student uses the same E2M1/E5M3 quantization and probe-matched GEMM as the main experiments for the forward, data-gradient, and weight-gradient matrix products. We set the scale target to 448, update delayed amax every 50 steps, disable RHT, and change only d. For each of seeds 41, 42, and 43, all grid choices receive the same teacher, training set, initialization, minibatch order, and random stream. We run the experiment once with nearest-even gradient UE5M3 FP4 pretraining

34

GRAPHCORE RESEARCH

TECHNICAL REPORT

quantization and once with stochastic gradient quantization. In both cases, all 500 recorded losses, gradient norms, and zero-gradient rates are exactly equal to the no-grid trajectory. After the last update, all 81,920 parameter values are also bit exact. Table 20 counts the five nonzero denominators against no grid over three seeds, hence 15 comparisons per row. Table 20: Tiny regression control. Final-evaluation mean-squared-error (MSE) values are means over three seeds; exactness compares each nonzero grid with d = 0. Gradient rounding

BF16 final-eval MSE

Quantized final-eval MSE

Exact records

Exact states

0.001956 0.001956

0.027130 0.027578

15/15 15/15

15/15 15/15

Nearest-even Stochastic

Teacher/student regression

Generalization floor

10 2

0

100

200 300 optimizer step

400

500

Last 20 steps zero parameter gradients (%)

1/1024 1/2048 1/4096

final evaluation MSE

training MSE

bf16 none 1/256 1/512

10 2

6

bf1

e 4 8 6 6 2 non 1/25 1/51 1/102 1/204 1/409

0.0006 0.0005 0.0004 0.0003 0.0002 0.0001 0.0000

6

bf1

e 4 8 6 6 2 non 1/25 1/51 1/102 1/204 1/409

Figure 11: The 81,920-parameter regression control with nearest-even gradient quantization. All six quantized curves and bars overlap exactly. Repeating the experiment with stochastic gradient quantization gives the same grid invariance.

At the BF16 interface of this regression control, all tested final grids produce identical values and optimizer trajectories through 500 updates.

UE5M3 FP4 pretraining

35

GRAPHCORE RESEARCH

TECHNICAL REPORT

Signal gain −1 (ppm)

−0.25 −0.50 −0.75 −1.00

RNE RTZ

−1.25

gaussian

gaussian sigma32

laplace

0.00 −0.25 −0.50 −0.75 −1.00 −1.25 gaussian

student t3

−0.25 −0.50 −0.75 −1.00 −1.25

student contaminated t3 gaussian

C. Linear-regression gradient gain Gradient gain −1 (ppm)

B. Correlated dot products 0.00

contaminated gaussian

gaussian

RMSE against exact residual

Magnitude bias (ppm)

A. Zero-mean dot products 0.00

gaussian sigma32

laplace

student contaminated t3 gaussian

D. Near-cancellation residuals RNE

RTZ

RNE + grid

RTZ + grid

10−5 10−7 10−9 0.0e+00

2.4e-04

9.8e-04

1.6e-02

True residual standard deviation

Figure 12: Statistical effect of the probe-matched emulator. RTZ produces a small toward-zero gain contraction across Gaussian and heavy-tailed dot products and regression gradients. Optional product-lattice canonicalization can eliminate exact-cancellation residue, but it also suppresses genuine residuals below its scale-dependent threshold.

D

Hundred-Step Full-Model Native Parity

The one-step model check in Figure 9 establishes composed forward/backward equality. We extend the test through 100 AdamW updates to compare evolving parameters and optimizer state. The validator uses the exact 1,291,929,600-parameter model: 20 layers, width 2,048, vocabulary 131,072, 96 quantized linears, and the final four transformer layers kept in BF16. Both trajectories use BF16 model tensors, batch size 1, sequence length 64, RHT, 2D weight quantization, and no SR. AdamW uses learning rate 10−4 , weight decay 0.1, and non-fused, non-foreach updates. Native Transformer Engine and probe-matched trajectories run sequentially from one shared initial state. Step s deterministically constructs a new synthetic token batch from seed 5678 + s − 1. Before each update, the validator compares the complete logits tensor and scalar loss. After 100 updates, it scans every gradient, parameter, and AdamW tensor state. The native Transformer Engine runtime is held fixed throughout the comparison.

UE5M3 FP4 pretraining

36

GRAPHCORE RESEARCH

TECHNICAL REPORT

Table 21: Raw-storage parity after 100 full 1.292B-model AdamW updates. Object

Result

Compared values

Per-step logits Per-step losses Final parameters Final AdamW tensor states Final gradients

Byte-exact at every step Byte-exact at every step Byte-exact Byte-exact One BF16 element differs by two units in the last place (ULPs)

100/100 tensors 100/100 scalars 1,291,929,600 2,583,859,363 1,291,929,600

The complete gradient scan finds exactly one element that differs by two BF16 ULPs; the remaining 1,291,929,599 gradient elements are byte-exact. This transient difference does not alter the parameter update or either Adam moment: all final parameters and optimizer tensor-state values remain byte-exact.

E

Reproducibility Statement

Code and reproduction instructions for the portable UE5M3 FP4 reference implementation are available at https://github.com/MrHuff/ue5m3-fp4.

UE5M3 FP4 pretraining

37

Related documents

Record · ID 632826 · SHA-256 21544a6b12e39290
Retrieved via Conceptio: every document is proof-bundled with source, license, and retrieval metadata.
Bring this data into your agent: Connect via MCP or API · 20 free credits to start · no card required
Read the Docs → · View CLI source on GitHub · Conceptio Open Knowledge Archive