| Sampling | |
|---|---|
| question; -th sampled answer; its -th token | |
| answers per question (8 here); length of in tokens | |
| policy being trained; policy that sampled the current data (the paper's β) | |
| probability of given and | |
| optimizer updates per batch of sampled answers (the staleness) | |
| a minibatch of answers (32 questions' groups) | |
| Rewards and ratios | |
| reward of (1 if correct, else 0); its group-normalized advantage | |
| token ratio | |
| prefix ratio (the paper's ) | |
| Veto | |
| position of the first trigger token in ( if none) | |
| veto mask: 0 for a negative-advantage answer with a trigger, else 1 | |
| masking scopes: trigger tokens; all tokens after the first trigger; those minus the triggers; the whole answer | |
| chi-square divergence; mass of the retained tokens and the factor it shrinks by, in the appendix bound (Step 4) | |
| Constants | |
| GRPO's clip range, 0.2, giving the interval [0.8, 1.2] | |
| μ-GRPO's relaxed clip interval for the token ratio | |
| trigger threshold on , | |
Context. GRPOgroup relative policy optimization: PPO without a value model, in which every token of an answer gets the answer's reward minus its group's mean reward, divided by the group's standard deviation, as advantage for RL with verifiable rewardsreinforcement learning in which a program checks each answer and returns the reward, here 1 for a correct final answer and 0 otherwise is usually run close to on-policy: the current model samples a batch of answers, a few gradient steps are taken on it (four is a common choice), and then the model samples again. Each refresh moves the new weights from the training engine to the inference engine that generates answers, and to switch quickly between the two, systems keep the trainer's parameters and optimizer state on the GPUs during generation, which leaves less memory for generating. Training is already somewhat off-policy in practice, through this reuse of each batch, through asynchronous pipelines and through numerical differences between the two engines. Tian et al. (2026) ask how much further the data can lag behind the policy, and push GRPO to over a thousand updates per batch of samples.
Stale samples still carry useful gradient after more than a thousand updates, and what goes wrong at that staleness is specific and can be filtered out. With GRPO's usual clip interval, more and more stale tokens fall outside it and stop contributing, so learning stalls. With a much wider interval, training learns fast at first and then collapses, because the clip's lower bound was what stopped the update from pushing down tokens of below-average answers: without it, the same sampled answers are suppressed again and again, and their tokens become far less likely than when they were sampled. The damage comes from the tokens that follow such a token (one that has become far less likely), which the policy is still trained on although the prefix they follow has become very unlikely under it. Dropping any below-average answer that contains such a token, together with the wide interval, lets GRPO train in four stages of 1024 updates each. On four of five models this matched or beat ordinary GRPO, with end-to-end training time 1.53 times shorter on average over the five models.
Setting. For a question , the sampling policy the policy that generated the current data, frozen while it is used; is the policy being trained (the paper writes for the sampling policy) draws the number of answers sampled per question, 8 in the experiments answers ; write for token of , for its length, and for the probability of given and . Each answer gets a reward and every one of its tokens the advantage , with and the mean and standard deviation of the rewards in the group of ; negative for answers below the group's average. The staleness the number of optimizer updates made on one batch of sampled answers: the batch's number of questions divided by the number per update; is fully on-policy counts the updates made before the data are refreshed; ordinary GRPO uses , and μ-GRPO uses with 32 questions per update. With , the probability ratio of token of , computed from the log-probabilities stored at sampling time the ratio of token , ; GRPO maximizes the per-token clipped objective , averaged over the tokens of each answer and then over answers, with GRPO's clip range, giving the interval [0.8, 1.2] and no KL term. μ-GRPO widens the interval to and adds a rule the paper calls the negative-advantage veto. A token is a triggera token of an answer with negative advantage whose ratio has fallen below : the current policy finds it at least times less likely than the sampling policy did if and , with the trigger threshold on a token's ratio; let the veto mask of : 0 if has negative advantage and contains a trigger token at the current update, 1 otherwise; recomputed at every update and not differentiated be 0 for an answer with a trigger and 1 otherwise. Over a minibatch of answers, μ-GRPO maximizesTraining runs in stages: is frozen, generates answers to 32,768 questions (1024 updates times 32) with their log-probabilities, is released from memory, and the trainer makes 1024 updates on that data before the next stage begins from the updated policy.
Main findings (empirical apart from an appendix bound). (a) At , GRPO with its usual clip loses accuracy: on Qwen2.5-Math-7B the average over five math benchmarksAMC 2023 and 2024, AIME 2024 and 2025, and MATH500, scored by pass@1 averaged over 16 samples per problem for AIME and 4 for the others falls from 47.3% at to 41.8%. μ-GRPO at gets 48.0%. (b) Against ordinary GRPO at , μ-GRPO matches or improves the average on four of five models (1.7B to 8B), with the largest gain on DeepSeek-7Bthe paper's name for DeepSeek-R1-Distill-Qwen-7B, Qwen2.5-Math-7B fine-tuned on reasoning traces of DeepSeek-R1 (68.6% against 66.1%) and a loss on Qwen3-8B-Base (48.2% against 50.3%), and it makes generation time 1.82 times and end-to-end training time 1.53 times shorter, each the mean over the five models of GRPO's time divided by μ-GRPO's. (c) Relaxing the clip without the veto collapses mid-training; vetoing only the trigger tokens still collapses, while vetoing the tokens after the first trigger is stable. (d) The veto removes few tokens, on average over stages 0.17% to 4.03% of tokens depending on the model, and the result is similar for the three veto scopes that include the post-trigger tokens.
Consequences. For GRPO-style training on verifiable rewards, rollouts can be generated in a few large batches and reused for about a thousand updates, which removes most weight synchronizations and lets generation use all the GPU memory, provided the clip interval is wide and below-average answers containing a token whose ratio has fallen below are dropped. With stale data, ordinary clipping is the wrong safeguard in two ways: it stops too many useful tokens, and it is the only thing limiting how far below-average answers are pushed down, so removing it requires another limit. The rule for the veto follows from the cause: once a sampled answer contains a token the current policy has nearly ruled out, the rest of that answer follows a prefix the policy would almost never produce, so its later tokens should not be trained on.
At high staleness, the usual clip discards useful signal and a relaxed clip learns fast and then collapses. On Qwen2.5-Math-7B at , the interval [0.8, 1.2] clips a growing fraction of tokens as moves away from the frozen , and accuracy plateaus below that of GRPO at . Widening it to keeps the clipped fraction low and recovers the fast early gains, which shows that the stale data still carry useful gradient, but this run collapses partway through. Neither interval works alone.
The clip's lower bound is what stops below-average answers from being pushed down, and collapse follows the loss of that bound. For , the clipped term equals , so its gradient is zero once : with the usual interval, a token of a below-average answer stops being pushed down when its probability has fallen by more than 20%. With the lower bound at 0 that stop is gone, and the gradient of such a token is at every remaining update of the stage. Over a thousand updates on the same frozen samples, below-average answers are suppressed again and again. In the paper's runs, the mean ratio of negative-advantage tokens falls sharply before each collapse, while in stable runs it stays near 1. Tokens with very small ratios are therefore used as triggers.
The harmful updates are on the tokens after the first trigger, and masking the triggers alone does not help. Let the position of the first trigger token in , and if has none be the position of the first trigger in . Under the interval, the authors mask, in negative-advantage answers only, one of four sets: the trigger tokens ; all tokens after , ; those minus the triggers, ; or the whole answer once it has a trigger, . Masking collapses like no masking at all. Masking , which keeps the trigger tokens and removes the others after them, is stable, as are the larger sets that contain it. So a trigger marks the point after which updates become harmful, and the harmful updates are on the tokens after it, whose own ratios are not small. In the final runs μ-GRPO uses , the simplest of the three stable scopes.
Tokens after a trigger follow a prefix the current policy would almost never produce, and the per-token ratio cannot see this. The probability that produces the first tokens of , relative to , is the prefix ratio, how much more or less likely the current policy is than the sampling policy to produce the first tokens of (the paper writes )Once a trigger appears at , its ratio (below ) is a factor of every later . GRPO weights each later token by its own only, which can be near 1, so these tokens keep receiving full updates although the current policy would almost never reach them. The trigger tokens themselves are harmless by comparison, because their own small ratio multiplies their gradient. In an appendix the authors make the mismatch precise: they compare the distribution of (answer, position) pairs under with the one in which the answer's prefix up to that position comes from instead, and show that a divergence, a measure of how far a distribution is from that is large where has much less mass than between them is at least when a retained set of tokens has mass under the first and at most under the second, which grows without bound as even if every retained token has ratio 1.
A few large stages replace a thousand small refreshes, and stale data keep their value. Over 4096 updates, GRPO at refreshes its data and synchronizes weights 1024 times; μ-GRPO at does so four times. With few refreshes, the inference engine can run alone on the GPUs during generation, with more memory for generating in parallel. Two experiments on Qwen2.5-Math-7B separate staleness from the amount of data. With one fixed set of answers (8 per question on the whole training set) and only the batch size varied, the smallest batch, 32 questions per update and so , gives the best average, 44.2% against 41.9% for 256 questions per update (): more updates outweigh the higher staleness. With the number of updates fixed at 4096 and the number of stages varied, 8, 4 and 2 stages give 47.3%, 48.0% and 46.1%, and a single stage () gives 45.7%, so the data still need an occasional refresh.
Results change little across reasonable settings, the veto acts rarely, and the wide interval also helps on fresh data. All on Qwen2.5-Math-7B (average accuracy): a trigger threshold of , , and gives 45.2, 46.4, 48.0 and 47.6, so too large a threshold vetoes answers too early; an upper clip bound of 3, 5, 10 and none gives 47.3, 48.0, 47.8 and 43.6, so some upper bound is still needed. The veto scopes , and give 47.9, 47.6 and 48.0. The fraction of tokens vetoed is largest in the first stage (15.24% for this model, under 0.4% in later stages). Run at , μ-GRPO's update rule gets 47.7% against GRPO's 47.3%, with the veto never triggering and the clipped fraction falling from to , which suggests that GRPO's usual interval is tighter than needed even on fresh data.
The speedup carries over to code and to asynchronous training. On Qwen2.5-Coder-7B trained on code_contests and scored on LiveCodeBencha benchmark of recent competitive-programming problems scored by hidden tests; here pass@4, GRPO and μ-GRPO reach 39.3% and 38.6% from 8.2%, with training time cut from 98.9 to 45.7 hours (2.16 times). In a fully asynchronous setup, with generation and training on separate GPUs and samples allowed to lag up to 1024 updates behind, μ-GRPO keeps GRPO's accuracy on Qwen2.5-Math-7B (47.7% against 47.9%) and cuts training time from 22.3 to 17.4 hours, as the share of the trainer's time spent waiting for samples falls from 24.2% to 0.6%.
Limits. No seeds or error bars are reported, and the reported checkpoint is the best of those evaluated every 200 updates, chosen by its average on the same five test benchmarks. The models are 1.7B to 8B with 4k to 8k-token contexts on four GPUs, trained on one math dataset; whether a thousand updates of staleness is safe for larger models or longer answers is not tested. μ-GRPO is behind GRPO on the largest model, Qwen3-8B-Base, and within two points of M2POa method for stale data (Zheng et al., 2025) that masks high-variance tokens until a batch-level second moment of the importance weights is below a threshold, 0.04 here, the closest earlier method, on every model, while faster than it (1.49 times on average). The 2.2-times speedup in the paper's opening figure is a time-to-accuracy ratio on DeepSeek-7B: the wall-clock time GRPO took to reach its best accuracy divided by the time μ-GRPO took to reach the same accuracy. That model's end-to-end training time fell only 1.21 times (61.9 to 51.3 hours, my computation from the paper's Table 1), and the abstract's "around 2×" speedup in training time is above the table's five-model average of 1.53.
Terms
- Staleness
- optimizer updates per batch of sampled answers; GRPO usually 4, μ-GRPO 1024
- Clipping dilemma
- at high staleness [0.8, 1.2] stalls learning, [0, 5] learns then collapses
- Lower clip bound
- for it stops a token's push-down once ; removes that stop
- Trigger token
- and
- Post-trigger suffix
- tokens after the first trigger; their updates cause the collapse ( masking is stable, is not)
- Prefix ratio
- ; a trigger makes it tiny for every later token
- Negative-advantage veto
- for a below-average answer with a trigger (scope ), recomputed every update
- Staged training
- 4 stages of 1024 updates: 4 weight syncs instead of 1024 over 4096 updates
- Speed
- generation 1.82× and end-to-end training 1.53× shorter (mean of per-model time ratios, five models)
- Veto fraction
- 0.17% to 4.03% of tokens averaged over stages, by model; highest in the first stage for four of five models
Quiz
- Run at , μ-GRPO's update rule gets 47.7% against GRPO's 47.3%, with the veto never triggering. What does this suggest?With no veto activity, the only difference is the interval, which cut the clipped fraction from to . The gain is small, so the main benefit of μ-GRPO remains the staleness it allows.
- The paper's opening figure shows a 2.2-times speedup on DeepSeek-7B. How should that number be read?Both methods run 4096 updates; μ-GRPO reaches GRPO's best accuracy partway through, and the figure compares the times at which each method reaches it. Table 1 gives 61.9 against 51.3 hours for the full runs on DeepSeek-7B, and 1.53 times averaged over the five models.
Sources
- Minghao Tian, Yunfei Xie, and Chen Wei. How Off-Policy Can GRPO Be? μ-GRPO for Efficient LLM Reinforcement Learning. arXiv preprint, 2026.
- Haizhong Zheng, Jiawei Zhao, and Beidi Chen. Prosperity before Collapse: How Far Can Off-Policy RL Reach with Stale Data on LLMs? arXiv preprint, 2025.
- Zhihong Shao et al. DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. arXiv preprint, 2024.