Mitigating Distribution Sharpening in Math RLVR via Distribution-Aligned Hint Synthesis and Backward Hint Annealing
Organizations: CyCraft AI Lab, Taiwan
Abstract
In reinforcement learning with verifiable rewards (RLVR), challenging math questions whose sampled groups remain uniformly incorrect yield no informative update, letting easier questions dominate actor updates. This imbalance can contribute to distribution sharpening: low- accuracy improves while problem coverage contracts. Hint scaffolding can restore informative updates by revealing a prefix of a verified teacher solution. However, existing hint-based approaches still face two issues: teacher--student distribution mismatch and the need to reduce hint exposure to match no-hint evaluation. We address these issues through two components. Distribution-Aligned Hint Synthesis (DAHS) constructs verified teacher hints conditioned on student-style responses. Backward Hint Annealing (BHA) anneals hint exposure across length buckets as bucket accuracy improves. BHA also uses per-question hint dropout to keep no-hint rollouts throughout RL training. Under the DAPO training framework, our method improves both pass@1 and pass@2048 over DAPO on AIME24/25/26 for Qwen3-1.7B-Base and Qwen3-4B-Base, and improves pass@1 on five secondary math benchmarks (Olympiad, MATH500, Minerva Math, AMC23, and GSM8K). On Llama-3.2-1B-Instruct, the gains concentrate in the high- regime without recovering the base model's coverage. Overall, when verified teacher prefixes are available, DAHS+BHA mitigates DAPO-induced contraction of high- problem coverage in the evaluated challenging-math RLVR settings.
Figures & tables
| AIME24 | AIME25 | AIME26 | |||||
|---|---|---|---|---|---|---|---|
| Model | Method | pass@1 | pass@2048 | pass@1 | pass@2048 | pass@1 | pass@2048 |
| Qwen3-1.7B | Base | 3.3 | 76.7 | 3.0 | 63.3 | 1.8 | 70.0 |
| SFT | 2.4 | 76.7 | 1.5 | 70.0 | 2.3 | 70.0 | |
| DAPO | 11.4 | 66.7 | 7.3 | 66.7 | 5.8 | 63.3 | |
| BREAD | 12.6 | 66.7 | 5.9 | 70.0 | 6.7 | 66.7 | |
| HLS | 13.9 | 60.0 | 7.8 | 73.3 | 6.9 | 66.7 | |
| Qwen3-1.7B | Qwen3-4B | ||
|---|---|---|---|
| alt | alt | alt | |
| 0.2 | |||
| [ , ] | [ , ] | [ , ] | |
| 0.4 | |||
| [ , ] | [ , ] | [ , ] | |
| 0.6 | |||
Appendix figures & tables20 assets
Supplementary material from the paper’s appendix.
Appendix
| AIME24 | AIME25 | AIME26 | ||||
|---|---|---|---|---|---|---|
| Run | p@1 | p@2048 | p@1 | p@2048 | p@1 | p@2048 |
| 11.7 | 60.0 | 8.3 | 70.0 | 6.3 | 63.3 | |
| (default) | 13.2 | 70.0 | 8.9 | 73.3 | 7.4 | 73.3 |
| 12.4 | 70.0 | 8.9 | 73.3 | 6.5 | 60.0 | |
| Name | Value | Description |
|---|---|---|
| Group size (number of rollouts per prompt). | ||
| Number of prompts per rollout step after filtering. | ||
| Number of candidate prompts per sampling attempt. | ||
| No-prefix dropout probability. | ||
| Per-prompt budget; we limit to . | ||
| Stochastic cutoff window in Eq. 2 . |
| Teacher | Yield | Calls | RL setting |
|---|---|---|---|
| gpt-oss-120b | 94.55% | 1.39 | Main |
| Qwen3-14B | 87.8% | 3.20 | Paired |
| Method | Hint signal | Granularity | Activation | Rollouts | Update |
|---|---|---|---|---|---|
| BREAD | Expert solution prefix | Per-question stop-at-first-signal | All-incorrect groups | Branched from prefix | Suffix-only |
| StepHint | Stepwise CoT prefix | Per-question, multiple hint levels | Always on | Mixed hint levels in one group | Hint + suffix, positive-only on hint |
| HINT | High-level abstract hint | Per-question | Ineffective rollouts | Re-sampled with hint | Full response (hint in prompt) |
| Hint-Limited Search | Student-aligned verified prefix (DAHS) | Per-question ratio search | Decaying global hint limit | Extra search rollouts | Suffix-only |
| DAHS+BHA (Ours) | Student-aligned verified prefix (DAHS) | Per-bucket ratio | Bucket-accuracy annealing + per-question dropout | No extra rollouts over DAPO | Suffix-only |
| AIME24 | AIME25 | AIME26 | ||||
|---|---|---|---|---|---|---|
| pass@1 | pass@2048 | pass@1 | pass@2048 | pass@1 | pass@2048 | |
| 0.0 | 8.7 | 73.3 | 4.8 | 60.0 | 5.7 | 73.3 |
| 0.25 | 12.3 | 70.0 | 7.7 | 66.7 | 5.4 | 70.0 |
| 0.5 | 13.1 | 76.7 | 8.7 | 66.7 | 6.5 | 66.7 |
| 0.75 | 13.2 | 70.0 | 8.9 | 73.3 | 7.4 | 73.3 |
| 1.0 (DAPO) | 11.4 | 66.7 | 7.3 | 66.7 | 5.8 | 63.3 |
| AIME24 | AIME25 | AIME26 | ||||
| Variant | pass@1 | pass@2048 | pass@1 | pass@2048 | pass@1 | pass@2048 |
| Qwen3-1.7B-Base | ||||||
| Non-aligned | 13.5 | 63.3 | 8.2 | 66.7 | 7.2 | 66.7 |
| DAHS | 13.2 | 70.0 | 8.9 | 73.3 | 7.4 | 73.3 |
| Llama-3.2-1B-Instruct | ||||||
| Non-aligned | 3.2 | 50.0 | 0.1 | 36.7 | 0.6 | 23.3 |
| Model | Context | pass@1 | pass@50 | pass@100 |
|---|---|---|---|---|
| Base | prefix | 0.030 [0.024, 0.036] | 0.352 [0.313, 0.396] | 0.430 [0.385, 0.482] |
| prefix + clean | 0.050 [0.041, 0.060] | 0.428 [0.384, 0.472] | 0.499 [0.449, 0.546] | |
| prefix + corrupted | 0.008 [0.005, 0.011] | 0.153 [0.124, 0.184] | 0.219 [0.179, 0.259] | |
| DAHS+BHA | prefix | 0.070 [0.060, 0.081] | 0.502 [0.458, 0.545] | 0.569 [0.523, 0.615] |
| prefix + clean | 0.091 [0.079, 0.102] | 0.570 [0.526, 0.613] | 0.632 [0.589, 0.675] | |
| prefix + corrupted | 0.017 [0.013, 0.021] | 0.247 [0.213, 0.282] | 0.331 [0.288, 0.375] |
| Base | BHA | ||||||
|---|---|---|---|---|---|---|---|
| Model | alt | alt | alt | alt | |||
| 1.7B | 0 | 10.8 | 29.7 | ||||
| 0.2 | 12.1 | 8.7 | 13.7 | 28.1 | 27.3 | 30.6 | |
| 0.4 | 14.5 | 13.6 | 21.2 | 33.0 | 32.3 | 39.0 | |
| 0.6 | 23.1 | 17.6 | 28.2 | 45.1 | 39.4 | 46.4 | |
| 4B | 0 | 25.3 | 49.8 | ||||
| Olympiad | MATH500 | Minerva | AMC23 | GSM8K | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Method | pass@1 | pass@8 | pass@1 | pass@8 | pass@1 | pass@8 | pass@1 | pass@8 | pass@1 | pass@8 |
| Base | 14.4 | 40.7 | 36.9 | 72.2 | 9.8 | 30.5 | 25.0 | 70.0 | 60.5 | 93.6 |
| DAPO | 26.4 | 40.9 | 53.1 | 65.2 | 15.4 | 26.8 | 46.9 | 77.5 | 84.8 | 94.8 |
| BREAD | 25.5 | 40.7 | 52.8 | 68.0 | 19.1 | 34.6 | 46.6 | 70.0 | 83.6 | 95.1 |
| BHA (Ours) | 26.9 | 41.2 | 53.7 | 67.6 | 17.2 | 30.9 | 47.2 | 72.5 | 85.0 | 95.8 |
| Olympiad | MATH500 | Minerva | AMC23 | GSM8K | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Method | pass@1 | pass@128 | pass@1 | pass@128 | pass@1 | pass@128 | pass@1 | pass@8 | pass@1 | pass@8 |
| Base | 28.7 | 73.3 | 52.3 | 95.4 | 22.1 | 65.1 | 41.9 | 87.5 | 77.6 | 97.3 |
| DAPO | 34.0 | 55.9 | 59.8 | 72.4 | 19.4 | 43.8 | 67.8 | 90.0 | 92.6 | 97.4 |
| BHA (Ours) | 35.2 | 59.7 | 60.2 | 72.8 | 20.8 | 47.4 | 70.6 | 90.0 | 93.3 | 97.3 |
| Llama-3.2-1B | Llama-3.2-3B | gemma-3-1b-pt | ||||
|---|---|---|---|---|---|---|
| Count | chatml | raw | chatml | raw | chatml | raw |
| Verified-correct rollouts (/2048) | 1 | 0 | 1 | 2 | 0 | 0 |
| Keepable questions (/256) | 1 | 0 | 1 | 2 | 0 | 0 |
| Lenient matches (/2048) | 3 | 2 | 4 | 4 | 0 | 1 |
| Benchmark | Base | DAPO | BHA | BHA Base [95% CI] ( ) | BHA DAPO [95% CI] ( ) | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| AIME24 | 1 | 3.34 | 11.38 | 13.25 | ( 0.001) | (0.055) | ||||
| 64 | 33.03 | 36.80 | 39.26 | (0.024) | (0.102) | |||||
| 1024 | 66.25 | 61.00 | 60.75 | (0.925) | (0.518) | |||||
| 2048 | 76.65 | 66.62 | 69.98 | (1.000) | (0.413) | |||||
| AIME25 | 1 | 2.95 | 7.30 | 8.92 | ( 0.001) | (0.078) | ||||
| 64 | 31.25 | 34.81 | 42.71 | (0.017) | ( 0.001) | |||||
| Benchmark | Base | DAPO | BHA | DAPO Base [95% CI] ( ) | BHA Base [95% CI] ( ) | BHA DAPO [95% CI] ( ) | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AIME24 | 1 | 9.43 | 21.96 | 25.38 | ( 0.001) | ( 0.001) | ( 0.001) | ||||||
| 64 | 42.84 | 60.63 | 70.86 | ( 0.001) | ( 0.001) | ( 0.001) | |||||||
| 1024 | 74.82 | 77.68 | 81.44 | (0.289) | (0.078) | ( 0.001) | |||||||
| 2048 | 83.30 | 79.86 | 83.23 | (0.823) | (0.659) | (0.361) | |||||||
| AIME25 | 1 | 7.42 | 20.90 | 25.33 | ( 0.001) | ( 0.001) | (0.003) | ||||||
| 64 | 43.99 | 50.38 | 61.98 | (0.146) | (0.002) | ( 0.001) | |||||||
| Benchmark | Base | DAPO | BHA | DAPO Base [95% CI] ( ) | BHA Base [95% CI] ( ) | BHA DAPO [95% CI] ( ) | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AIME24 | 1 | 0.85 | 2.64 | 2.45 | (0.129) | (0.050) | (0.613) | ||||||
| 64 | 22.49 | 17.15 | 20.22 | (0.974) | (0.928) | (0.089) | |||||||
| 1024 | 61.49 | 36.54 | 48.52 | (1.000) | (0.963) | (0.005) | |||||||
| 2048 | 69.87 | 43.43 | 56.65 | (1.000) | (0.927) | (0.013) | |||||||
| AIME25 | 1 | 0.13 | 0.03 | 0.07 | (1.000) | (0.941) | (0.080) | ||||||
| 64 | 7.23 | 1.79 | 4.10 | (1.000) | (0.974) | (0.088) | |||||||
| Model | Benchmark | Base | DAPO | BHA |
|---|---|---|---|---|
| Qwen3-1.7B | AIME24 | 23 | 20 | 21 |
| AIME25 | 19 | 20 | 22 | |
| AIME26 | 21 | 19 | 22 | |
| Qwen3-4B | AIME24 | 25 | 24 | 25 |
| AIME25 | 22 | 20 | 26 | |
| AIME26 | 21 | 23 | 24 |
| AIME | Method | mean entropy | high-entropy frac. | avg. tokens |
|---|---|---|---|---|
| 24 | DAPO | 0.2718 | 0.1623 0.0793 | 2199 |
| BHA | 0.2532 | 0.1501 0.0904 | 3528 | |
| 25 | DAPO | 0.2705 | 0.1610 0.0679 | 1610 |
| BHA | 0.2658 | 0.1574 0.0763 | 2702 | |
| 26 | DAPO | 0.2631 | 0.1564 0.0692 | 2068 |
| BHA | 0.2357 | 0.1389 0.0717 | 3715 |
| AIME | Method | self-BLEU 2 | dist-1 | dist-2 | len. std | Vendi | Vendi-emb. |
|---|---|---|---|---|---|---|---|
| 24 | Base | 0.9235 | 0.00300 | 0.01219 | 2722.9 | 24.25 | 3.293 |
| DAPO | 0.9781 | 0.00218 | 0.00970 | 751.8 | 11.16 | 1.478 | |
| BHA | 0.9688 | 0.00143 | 0.00771 | 1587.5 | 12.06 | 1.497 | |
| 25 | Base | 0.9164 | 0.00292 | 0.01304 | 2500.6 | 28.84 | 3.201 |
| DAPO | 0.9791 | 0.00201 | 0.01016 | 489.1 | 13.17 | 1.475 | |
| BHA | 0.9713 | 0.00141 | 0.00830 | 1345.5 | 14.19 | 1.484 |
Reinforcement Learning
Reinforcement learning studies how agents learn sequential decisions from rewards and interaction, balancing exploration, performance, safety, and adaptation.
See all 1,717 papers