FP8 RL training switches off the penalty on garbled answers

1 month ago

Train an AI model with eight-bit numbers, and a hundred rounds in, it starts writing garbage. That format, FP8, stores every number in eight bits instead of sixteen, so the math runs faster and each number gets rounded more coarsely. The training is reinforcement learning. The model tries an answer, gets a grade, and gets nudged toward what scored well and away from what scored badly. The model is Qwen three from Alibaba, practising on math. Qwen three has eight billion parameters, the numbers a model adjusts as it learns. The standard sixteen-bit run, called BF16, stays steady. This paper traces the blow-up to rounding noise that switches off the penalty for garbled answers.

Ask about this presentation

Chapters

  1. 0:008-bit AI training runs fine for 100 steps, then writes garbage
  2. 0:39The standard correction is on in every run, and the answers still turn to garbage
  3. 1:01The safety check stops pushing down a bad answer’s word once it has dropped 20%
  4. 1:37Rounding noise tips a bad answer’s words past the limit, and their penalty switches off
  5. 2:15The ratio multiplies the rounding error up to 2.9 times, and the lost penalties land on garbled answers
  6. 2:52Moving the limit to 0.6 stops the blow-up and lowers the training reward
  7. 3:11Calibrated Clipping sets the 8-bit limit to stop the same share of words full precision would
  8. 3:47On Qwen3 8B the fix lifts the finest 8-bit run from 54.1 to 58.6, level with full precision at 57.6
  9. 4:20On a second recipe, the fix wins back most of the drop and stays 3 to 4.4 points short
  10. 4:45The 1.5 times speed-up was measured with the fix’s full-precision checks left out
  11. 5:10On the two coarser roundings, the fix’s limits get stuck at the edges of their search range
  12. 5:35Read it for the diagnosis of why 8-bit training stops punishing garbage
Show transcript
  1. Train an AI model with eight-bit numbers, and a hundred rounds in, it starts writing garbage. That format, FP8, stores every number in eight bits instead of sixteen, so the math runs faster and each number gets rounded more coarsely. The training is reinforcement learning. The model tries an answer, gets a grade, and gets nudged toward what scored well and away from what scored badly. The model is Qwen three from Alibaba, practising on math. Qwen three has eight billion parameters, the numbers a model adjusts as it learns. The standard sixteen-bit run, called BF16, stays steady. This paper traces the blow-up to rounding noise that switches off the penalty for garbled answers.

    Slide text
    8-bit AI training runs fine for 100 steps, then writes garbage
    Qwen3 8B on math · full-precision BF16 stays flat while three FP8 runs surge
    Figure 1 from the paper: entropy, eval accuracy and clip fraction over 300 training steps for BF16, FP8 rollout with BF16 training, and tensorwise, rowwise and blockwise FP8
    the blow-up
    Tensorwise · Rowwise · Blockwise = three ways of setting the rounding, coarse to fine
    FP8-Rollout-BF16-Train = 8 bits only for writing answers
    Eval Accuracy = test score · Training Step = one round of grading and nudging
    Clip Fraction = share of words the safety check stops pushing
    BF16 · full precision, the flat blue line
    Entropy = how scattered the word choices are
    Figure 1 · Qwen3-8B-Base learning math (GRPO, DeepScaleR) · the first 300 of 500 training steps
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  2. In this kind of training, one copy of the model writes the answers and a second copy learns from the grades. Earlier work put only the writing copy in eight bits, and a standard correction handled the small disagreement between the two copies. That setup trains as steadily as full precision. This paper keeps the correction on in every run and puts the learning copy in eight bits too. The blow-up comes anyway.

    Slide text
    The standard correction is on in every run, and the answers still turn to garbage
    8 bits only for writing answers trains fine · the break comes when learning goes to 8 bits too
    top bracket · scrambled characters
    lower bracket · a tidy ending
    high-entropy = scattered word choices
    TIS = the standard correction for the two copies disagreeing
    Figure 8 · “an example of a high-entropy response containing garbled and fragmented tokens” · TIS on in every run (Sec. 3)
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  3. The recipe here, GRPO, grades each answer against other answers to the same question. Its safety check comes from an older method called PPO. For every word in an answer, PPO compares two probabilities. The first is how likely the updated model makes that word. The second is how likely the same model made it before this round of updates. Dividing the first by the second gives the ratio. When an answer is graded worse than average, training pushes each of its words down. Once a word's ratio falls to zero point eight, a drop of twenty percent, PPO stops pushing it. Good answers get a matching limit on the way up.

    Slide text
    The safety check stops pushing down a bad answer’s word once it has dropped 20%
    The ratio compares each word’s probability now and before this round of updates
    ratio = a word’s probability now, divided by its probability before this round
    0.6
    0.8
    1.0
    a badly graded answer’s word, pushed down
    the push stops here for badly graded answers
    a matching limit for good answers
    ours · from Eq. 1 and 2 · GRPO uses PPO’s clipped update, lower limit 0.8
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  4. In full eight-bit training, both probabilities in the ratio come out of rounded math, each a little off. Dividing one rounded number by another stacks the two errors together. Take a word from a badly graded answer, with a true ratio of, say, zero point eight two. That word is still inside the limit, so training should keep pushing it down. Rounding noise can make the ratio read zero point seven nine instead. PPO reads that as a word that has already dropped enough, and stops pushing. The word escapes its penalty. The same slip repeats across many garbled answers, so the model never unlearns them. The garbled answers pile up until the run falls apart. The paper calls this over-clipping.

    Slide text
    Rounding noise tips a bad answer’s words past the limit, and their penalty switches off
    The paper calls it over-clipping
    1each probability is rounded a little
    2the ratio divides one rounded number by another
    3a true 0.82 reads as 0.79
    4the push stops · the word keeps its probability
    5garbled answers pile up
    0.8 limit
    0.82 · still pushed
    0.79 · stopped
    our example
    our diagram · from Sec. 3 and Eq. 2 · the paper calls this over-clipping · the 0.82 and 0.79 are illustrative
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  5. The three FP8 runs round differently: one scale for a whole table of numbers, one for each row, or one for each small block. Smaller blocks round more precisely. In the ratio, the rounding error grows by one point six five times with the finest rounding, and by two point nine times with the coarsest. On the row-by-row run, late in training, about seventy percent of the wrongly stopped words sit at the lower limit, the punishment side. Most of those words, often eighty to ninety percent, come from the garbled answers. Only six point six four percent of the garbled answers were graded better than average, so nearly all of them were due a penalty.

    Slide text
    The ratio multiplies the rounding error up to 2.9 times, and the lost penalties land on garbled answers
    Figure 4 is the row-by-row run, late in training
    bar names: one scale per table · per row · per block
    Prob = one probability · Ratio = one divided by the other
    NMAE = average rounding error, as a share of the true value
    Figure 4 left panel, not shown: about 70% of wrongly stopped words sit at the lower limit
    Proportion = share of those from garbled answers · steps 200 to 300: often 80 to 90%
    Figure 3 · Figure 4, row-by-row FP8 run · 6.64% of garbled answers were graded above average (Sec. 3)
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  6. To test the lower limit as the cause, the authors dropped it from zero point eight to zero point six on the row-by-row run. The blow-up never came. The training reward, the grade the model earns while it learns, stayed below full precision. The authors read the lower reward as punishing too hard, so the limit has to land in the right place.

    Slide text
    Moving the limit to 0.6 stops the blow-up and lowers the training reward
    The model now gets punished too hard, so the limit has to move by the right amount
    Figure 5 from the paper: entropy, reward and response length over 300 steps for BF16 and rowwise FP8 with the lower limit at 0.6; entropy stays flat, reward and length stay below BF16
    no blow-up
    clip_low=0.6 · lower limit moved from 0.8 to 0.6
    Reward = the grade it earns while learning · step 300: about 0.55 against 0.65
    Entropy stays flat, like full precision
    Response Length = how long its answers run · shorter
    Figure 5 · Qwen3-8B-Base, row-by-row FP8 with the lower limit at 0.6, against BF16 · reward is measured during training
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  7. The paper's fix is called Calibrated Clipping. Every twenty rounds of training, the method runs the batch through a sixteen-bit copy of the model. The method counts the share of badly graded words that full precision would stop pushing at zero point eight. Then it sets the eight-bit limit to stop the same share. Noise pushes extra words past the old limit, so the new limit sits lower. With the finest rounding at eight billion parameters, the lower limit lands between about zero point five four and zero point six six. The method also sets the upper limit to give good and bad answers the same balance of pushes as full precision.

    Slide text
    Calibrated Clipping sets the 8-bit limit to stop the same share of words full precision would
    Rechecked every 20 training steps · on the finest rounding the lower limit sits near 0.54 to 0.66
    1
    lower limitstop the same share of badly graded words that full precision stops at 0.8
    2
    upper limitgive good and bad answers the same balance of pushes as full precision
    timingevery 20 training steps · checked on a 16-bit copy that is not trained
    red line = finest rounding · about 0.54 to 0.66
    Lower Bound = the lower limit the fix set
    Algorithm 1, Sec. 4 · inset: Figure 12, left panel, Qwen3-8B-Base · the fix is called Calibrated Clipping
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  8. On Qwen three at eight billion parameters, averaged over eight math tests, full precision scores fifty-seven point six. Plain eight-bit scores forty-six point one, forty-seven, and fifty-four point one, from the coarsest rounding to the finest. With Calibrated Clipping, the same three settings score fifty-five point nine, fifty-six point five, and fifty-eight point six. Each score is a single number, and the paper reports no repeats or error bars. Changing only how often the fix rechecks moves one score by almost two points, more than the finest rounding's one-point lead.

    Slide text
    On Qwen3 8B the fix lifts the finest 8-bit run from 54.1 to 58.6, level with full precision at 57.6
    Average of eight math tests · at 32B, 53.4 against 51.9
    coarsest
    row-by-row
    finest
    plain 8-bit
    46.1
    47.0
    54.1
    with Calibrated Clipping
    55.9
    56.5
    58.6
    57.6
    full precision (BF16)
    inside the 1.8-point swing one setting change causes (Table 4)
    Qwen2.5 32B · full precision 51.9 · plain 8-bit 49.0 to 50.8 · finest with the fix 53.4
    Table 1 · GRPO · average of 8 math tests · best-scoring snapshot of each run · a single number per setting, no repeats or error bars
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  9. A second recipe, DAPO, trains Qwen three at fourteen billion parameters. On AIME, a hard American high-school math competition, full precision solves fifty point nine percent of the problems. Plain eight-bit solves thirty-five point seven to forty-one point six percent. With the fix, eight-bit solves forty-six point five to forty-seven point nine percent. The fix wins back most of the drop and still stops three to four and a half points short.

    Slide text
    On a second recipe, the fix wins back most of the drop and stays 3 to 4.4 points short
    Qwen3 14B on AIME 2024 · full precision solves 50.9%
    full precision (BF16) 50.9%
    plain 8-bit · three roundings 35.7% to 41.6%
    with Calibrated Clipping · three roundings 46.5% to 47.9%
    still 3 to 4.4 points short
    0% 20% 40% 60%
    coding (Table 3, Qwen3 8B) · with the fix 47.88 to 48.75 against 49.61
    Table 2 · DAPO recipe · Qwen3-14B-Base · AIME 2024, a US high-school math competition · averaged over 32 tries per problem
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  10. The paper's speed claim, up to one and a half times faster training, comes from a separate test of plain eight-bit training. The figure's caption says that test leaves out the full-precision checks. The introduction calls the fix's extra cost negligible, and the paper reports no full training time with the fix switched on. The finest rounding, the one that came out level with full precision, is also the slowest, at one point one to one point two times as fast.

    Slide text
    The 1.5 times speed-up was measured with the fix’s full-precision checks left out
    The finest rounding, the one that matched full precision, runs 1.1 to 1.2 times as fast
    “The offline TorchAO benchmark isolates training-phase throughput and excludes periodic BF16 reference passes.”
    Throughput (TPS) = training speed, in word pieces per second
    TorchAO = PyTorch’s number-format toolkit · reference passes = the fix’s 16-bit checks
    4K · 8K · 16K = answer length in word pieces · OOM = ran out of memory
    red 1.1 and 1.2 = finest rounding · level with full precision at 8B
    Figure 7 and its caption · plain 8-bit training speed against BF16 · Qwen3 8B, Qwen3 14B, Qwen2.5 32B
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  11. The fix still needs a sixteen-bit copy of the model for its checks. On the two coarser roundings at eight billion parameters, the lower limit slides to zero point five, the bottom of its search range, and stays there. The upper limit climbs to two, the top of its range. From then on, the edges of the range set both limits, and the match to full precision stops steering them. Every model in the paper is a Qwen, from eight to thirty-two billion parameters, tested on math and one coding set.

    Slide text
    On the two coarser roundings, the fix’s limits get stuck at the edges of their search range
    Qwen3 8B · lower limit on the 0.5 floor, upper limit on the 2.0 ceiling
    Lower Bound · Upper Bound = the two limits the fix set, step by step
    right panel · orange and green on 2.00: the ceiling
    left panel · orange and green on 0.50: the floor of its search range
    32B: the same floor from about step 200 (Figure 14)
    Figure 12 · Qwen3-8B-Base, GRPO · the fix searches 0.5 to 0.9 for the lower limit and 1.2 to 2.0 for the upper (Sec. 4)
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint
  12. Read it if you train models with low-precision numbers. Section three gives two measurements to repeat on your own training: how often the check stops pushing, and how far the ratio drifts from full precision. Hold off on implementing it, because the paper links no code. The paper is by Fanchao Chen and seven co-authors, a preprint on arXiv, the open archive for research papers, posted before peer review.

    Slide text
    Read it for the diagnosis of why 8-bit training stops punishing garbage
    Qwen models from 8B to 32B · no code linked
    Read it
    Section 3 · the diagnosis, with two checks to run on your own training
    the fix levels the finest rounding with full precision at 8B
    no code linked · a single number per setting · full training time with the fix unmeasured
    Fanchao Chen, Ziheng Jiang, Ziyun Wei, Zheng Zhong, Du Li, Chi Zhang, Haibin Lin, Shivaram Venkataraman
    University of Wisconsin-Madison · ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs”
    arXiv 2609.22870 v1 · 19 September 2026 · preprint, not peer reviewed
    Chen, Jiang, Wei, Zhong, Li, Zhang, Lin, Venkataraman · UW-Madison, ByteDance Seed
    “Towards Full Pipeline FP8 Reinforcement Learning for LLMs” · arXiv 2609.22870 v1 · Sep 2026 · preprint

What happened in AI today, in your inbox

One short email each evening. Read it and you’re caught up.

Built with ❤️ in New York