SR: Fast and Faithful RL Rollouts via Self-Sparse Speculative Decoding
Organizations: The Hong Kong University of Science and Technology (Guangzhou)
Abstract
Fast rollout generation for long-context reinforcement learning with verifiable rewards (RLVR) requires reducing KV-cache traffic without changing the response groups used for policy optimization. In our profiled RLVR workloads, attention accounts for 72--76% of autoregressive decoding kernel time. Sparse attention reduces these reads, but sampling directly from a sparse policy changes the response groups used for learning. For group-relative optimization, we show that even exact response-wise reweighting does not generally recover the expected dense-policy update because the advantage of each response depends on the rewards of other group members. We propose Self-Sparse Speculative Rollouts (SR). It uses sparse attention to propose tokens, then generates responses through full-attention verification and exact speculative sampling. Drafting and verification share the same policy parameter, eliminating the need to train or update a separate drafter. The resulting response groups follow the dense-policy distribution. Under SR, we characterize speedup conditions and the costs of drafting and verification. We found that dense verification still requires the complete historical KV cache. A KV-aware scheduler therefore limits KV-cache repeated offloading and restoration while maintaining rollout parallelism. % OR thrashing In a matched ablation with an aggressive sparse drafting budget, SR maintains stable training while direct sparse sampling with training-side correction becomes unstable. On long-context mathematical reasoning, SR achieves the end-to-end training throughput of autoregressive rollouts on Qwen3 model, with comparable task performance.
Figures & tables
| Model | Method | Benchmarks | Efficiency | ||||
|---|---|---|---|---|---|---|---|
| AIME26 | ArXiv-Math | Rollout (min) | Step (min) | Throughput/Speedup | |||
| Qwen3-1.7B | AR | 37.2 | 9.95 | N/A | 10.5 (base) | 13.9 (base) | 2308.6 / |
| N-gram Lookup | 37.1 | 9.84 | 1.31 | 12.5 ( ) | 19.0 ( ) | 1671.0 / | |
| History Retrieval | 36.0 | 9.77 | 2.03 | 10.4 ( ) | 13.3 ( ) | 2412.7 / | |
| Auxiliary Proposer | 36.7 | 9.87 | 1.89 | 9.1 ( ) | 12.4 ( ) | 2562.0 / | |
| Ours | 37.1 | 9.89 | 5.59 | 6.5 (-38.6%) | 9.9 (-28.5%) | 3213.8 / 1.39 | |
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| State | Before actor update | Before the next rollout |
|---|---|---|
| Requests and KV | Release request state and KV resources. | Start new requests with KV capacity fixed for the rollout. |
| Rollout model | Retain parameter buffers on GPU. | Synchronize the updated actor snapshot into these buffers. |
| CUDA graphs | Discard captures tied to released KV storage; retain the planned batch sizes. | Recapture the planned sizes for graph replay during generation. |
| Item | Setting |
|---|---|
| Model | Qwen3-8B, DAPO step-60 checkpoint |
| Hardware | NVIDIA H100 80GB HBM3 |
| Parallelism | one rollout-engine replica, TP |
| Precision | BF16 |
| Workload | equal-length synthetic prompts, fixed concurrency, ignore EOS |
| Sampling | temperature 0 (deterministic systems workload) |
| Attention | FFN | QKVO | LM head | Other | |||
|---|---|---|---|---|---|---|---|
| 8K | 2K | 4 | 0.96 (19.4%) | 2.18 (43.8%) | 0.83 (16.6%) | 0.21 (4.1%) | 0.80 (16.1%) |
| 8K | 4K | 2 | 0.93 (18.8%) | 2.18 (44.2%) | 0.82 (16.6%) | 0.20 (4.2%) | 0.80 (16.2%) |
| 8K | 8K | 1 | 0.98 (19.8%) | 2.17 (43.7%) | 0.82 (16.5%) | 0.20 (4.1%) | 0.79 (16.0%) |
| 16K | 2K | 8 | 1.16 (22.4%) | 2.19 (42.1%) | 0.83 (16.0%) | 0.21 (4.0%) | 0.81 (15.6%) |
| 64K | 4K | 16 | 2.34 (36.2%) | 2.24 (34.6%) | 0.85 (13.2%) | 0.21 (3.3%) | 0.82 (12.7%) |
| 128K | 8K | 16 | 3.85 (48.4%) | 2.23 (28.1%) | 0.85 (10.7%) | 0.21 (2.6%) | 0.82 (10.3%) |
| Full attention | S 3 R attention | Reduction | |||
|---|---|---|---|---|---|
| 16 | 4K | 64K | 2.31 | 1.42 | 38.3% |
| 16 | 8K | 128K | 3.83 | 1.89 | 50.6% |
| 16 | 16K | 256K | 6.82 | 2.79 | 59.2% |
| 32 | 4K | 128K | 3.80 | 1.96 | 48.5% |
| 32 | 8K | 256K | 6.83 | 2.85 | 58.3% |
| 32 | 16K | 512K | 12.91 | 4.68 | 63.7% |
| AR ( ) | Draft ( ) | Verify ( ) | Total | ||||
|---|---|---|---|---|---|---|---|
| 16 | 4K | 64K | 54.42 | 40.06 | 28.06 | 68.12 | |
| 16 | 8K | 128K | 65.55 | 39.15 | 27.97 | 67.12 | |
| 16 | 16K | 256K | 88.51 | 42.38 | 28.10 | 70.48 | 76.2% |
| 32 | 4K | 128K | 66.70 | 40.89 | 29.03 | 69.92 | |
| 32 | 8K | 256K | 88.12 | 43.01 | 26.86 | 69.87 | 75.8% |
| 32 | 16K | 512K | 133.18 | 43.73 | 28.56 | 72.29 | 46.7% |
Speculative Decoding
Speculative decoding accelerates generation by drafting multiple tokens and verifying them in parallel with a larger target model.
See all 311 papers