StepBack: Step-Level Error-Localized Resampling for Efficient Test-Time Reasoning
Organizations: Department of Computer Science, North Carolina State University
Abstract
Self-consistency (SC) is a widely used decoding strategy for improving chain-of-thought reasoning, but it requires sampling many complete reasoning trajectories with a preset budget. Its efficient variants reduce the cost mainly by stopping full-trajectory sampling early or distributing the number of samples across questions. In this paper, we propose StepBack, a step-level error-localized resampling method for efficient test-time reasoning. Given a small set of draft trajectories, StepBack localizes likely first error positions using lightweight signals and then resamples the detected error step and its suffix, followed by majority answer voting. Empirically, StepBack matches the accuracy of SC on average across seven mathematical reasoning and multi-hop QA benchmarks, while reducing token usage by up to 41.26%. In addition, by nature, StepBack can be combined with adaptive inference methods such as Adaptive Consistency, further improving their inference-time efficiency.
Figures & tables
| Dataset | Method | Accuracy | Tokens / Q | Savings |
|---|---|---|---|---|
| GSM8K | SC@32 | 91.21% | 9506 | – |
| Oracle error-localized resampling | 91.89% | 3427 | 64.0% | |
| Oracle error-localized resampling | 92.27% | 5449 | 42.7% | |
| MATH500 | SC@32 | 72.80% | 18335 | – |
| Oracle error-localized resampling | 72.40% | 9815 | 46.5% | |
| Oracle error-localized resampling | 73.00% | 12615 | 31.2% |
| Greedy | SC@32 | NLL-signal | PRM-signal | ||||||||
| Dataset | Acc | Acc | G/1kT | Acc | G/1kT | Acc | G/1kT | ||||
| Llama-3B | |||||||||||
| GSM8K | 77.41 | 88.02 | 1.488 | +0.00 | 34.47 | 2.270 | 9.14 | +0.99 | 34.77 | 2.494 | 10.47 |
| MATH500 | 42.20 | 53.40 | 0.691 | +0.60 | 24.22 | 0.961 | 8.23 | +1.20 | 20.81 | 0.966 | 9.18 |
| AMC2023 | 15.66 | 33.73 | 0.705 | -3.61 | 14.92 | 0.663 | 7.27 | +2.41 | 10.83 | 0.896 | 8.46 |
| AIME24 | 7.78 | 15.56 | 0.273 | -2.22 | 12.41 | 0.222 | 7.08 | -2.22 | 9.72 | 0.216 | 9.29 |
| Method | MATH500 | GSM8K | HotpotQA | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Acc. | PExp | Tok. | G/1kT | Acc. | PExp | Tok. | G/1kT | Acc. | PExp | Tok. | G/1kT | |
| CoT | 61.80 | 1.00 | 577 | 0.000 | 85.14 | 1.00 | 295 | 0.000 | 23.20 | 1.00 | 240 | 0.000 |
| SC | 72.80 | 32.00 | 18,335 | 0.600 | 91.21 | 32.00 | 9,506 | 0.638 | 33.00 | 32.00 | 7,643 | 1.282 |
| StepBack (ours) | 73.20 | 32.00 | 13,620 | 0.837 | 91.59 | 32.00 | 5,860 | 1.100 | 34.20 | 32.00 | 7,056 | 1.559 |
| AC | 72.80 | 16.57 | 11,386 | 0.966 | 91.13 | 10.84 | 3,509 | 1.707 | 33.00 | 28.09 | 6,792 | 1.443 |
| StepBack + AC | 72.60 | 15.46 | 8,749 | 1.234 | 92.34 | 9.81 | 2,166 | 3.326 | 34.80 | 28.11 | 6,286 | 1.845 |
Appendix figures & tables13 assets
Supplementary material from the paper’s appendix.
Appendix
| Field | Content |
|---|---|
| Question | James decides to run 3 sprints 3 times a week. He runs 60 meters each sprint. How many total meters does he run a week? |
| Gold answer | |
| Predicted answer | |
| Model response | To determine the total number of meters James runs in a week, we can break down the problem into smaller, manageable steps. 1. Calculate the total meters run per sprint: James runs 60 meters per sprint. 2. Calculate the total meters run per week for one sprint: James runs 3 sprints each week. Therefore, the total meters run in one week for one sprint is: . 3. Calculate the total meters run per week for all sprints: Since we have already calculated that James runs 180 meters per week for one sprint, we can state the final total meters run per week as: . Putting the final answer in the required format: |
| Annotated first error | Parsed Step 3, corresponding to the model’s numbered Step 2. |
| Reason | The model incorrectly interprets “3 sprints 3 times a week” as only 3 sprints per week instead of sprints per week. Therefore, it uses the wrong base for the weekly-distance calculation. |
| Method | Exact | Prev-1 | Not-Later | Mean Pre-Error Dist. |
|---|---|---|---|---|
| PRM-signal | 22.3% | 32.8% | 52.3% | 1.07 |
| PRM-signal | 21.4% | 31.2% | 48.6% | 0.98 |
| PRM-signal | 20.5% | 29.5% | 45.4% | 0.93 |
| NLL-signal | 15.5% | 26.4% | 43.5% | 1.23 |
| NLL-signal | 11.5% | 19.4% | 29.2% | 0.83 |
| NLL-signal | 8.7% | 13.8% | 19.5% | 0.20 |
| Dataset | Method | Accuracy | Tokens / Q | Savings |
|---|---|---|---|---|
| GSM8K | SC@32 | 91.21% | 9506 | – |
| Oracle error-localized resampling | 88.48% | 1580 | 83.4% | |
| Oracle error-localized resampling | 89.46% | 1863 | 80.4% | |
| Oracle error-localized resampling | 91.43% | 2381 | 74.9% | |
| Oracle error-localized resampling | 91.89% | 3427 | 64.0% | |
| Oracle error-localized resampling | 92.27% | 5449 | 42.7% |
| MATH | HotpotQA | Macro | (%) | |
| SC@32 | 80.00 | 44.00 | 62.00 | – |
| NLL-signal | ||||
| 0.05 | 80.00 | 45.00 | 62.50 | 19.67 |
| 0.1 † | 80.00 | 45.50 | 62.75 | 25.25 |
| 0.15 | 79.00 | 45.50 | 62.25 | 29.90 |
| 0.2 | 79.00 | 46.00 | 62.50 | 33.86 |
| Rollback rule | Acc | Acc | |
|---|---|---|---|
| SC@32 (no rollback) | 58.71 | – | – |
| Signal-free | |||
| Random | 58.47 | -0.24 | 20.40 |
| Fixed -25% | 58.62 | -0.09 | 5.29 |
| Fixed -50% | 58.59 | -0.12 | 16.41 |
| Fixed -75% | 58.76 | +0.05 | 33.66 |
| 4 8 | 8 4 | 16 2 | ||||
| Rollback rule | Acc | Acc | Acc | |||
| MATH500 | ||||||
| Random | 34.8 | 29.9 | 19.9 | |||
| Fixed -25% | 11.0 | 9.6 | 6.4 | |||
| Fixed -50% | 28.9 | 24.7 | 16.6 | |||
| Fixed -75% | 56.1 | 48.1 | 32.2 | |||
| 4 8 | 8 4 | 16 2 | ||||
| Rollback rule | Acc | Acc | Acc | |||
| Final-step | 56.53 | 76.87 | 58.23 | 66.10 | 58.76 | 44.07 |
| NLL-signal ( ) | 57.23 | 43.20 | 58.47 | 36.73 | 58.83 | 24.56 |
| PRM-signal ( ) | 58.59 | 29.75 | 58.79 | 25.61 | 58.88 | 16.96 |
| NLL-signal ( ) | 56.53 | 72.06 | 57.85 | 61.84 | 58.33 | 41.33 |
| PRM-signal ( ) | 58.21 | 64.53 | 59.29 | 55.03 | 58.95 | 36.76 |
| Allocation | Draft votes | Rewrite votes | Conflicts | Neither | ||
|---|---|---|---|---|---|---|
| 4 8 | 4 | 28 | 1,098 | 981 (89.34%) | 76 (6.92%) | 41 (3.73%) |
| 8 4 | 8 | 24 | 853 | 634 (74.33%) | 167 (19.58%) | 52 (6.10%) |
| 16 2 | 16 | 16 | 756 | 363 (48.02%) | 328 (43.39%) | 65 (8.60%) |
| Dataset | Greedy Acc | SC@32 | 1 32 | 2 16 | 4 8 | 8 4 | 16 2 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Acc | G/1kT | Acc | G/1kT | Acc | G/1kT | Acc | G/1kT | Acc | G/1kT | Acc | G/1kT | |||||||
| GSM8K | 85.14 | 91.21 | 0.64 | -0.99 | 74.60 | 2.10 | -0.23 | 71.74 | 2.17 | +0.53 | 67.24 | 2.12 | +0.22 | 57.38 | 1.55 | +0.38 | 38.37 | 1.10 |
| MATH500 | 61.80 | 72.80 | 0.60 | -2.00 | 48.74 | 0.96 | -2.20 | 45.89 | 0.89 | -0.40 | 42.70 | 1.01 | +0.60 | 36.70 | 1.00 | +0.40 | 25.60 | 0.84 |
| AMC2023 | 33.73 | 43.37 | 0.37 | +0.00 | 33.58 | 0.56 | +2.41 | 31.88 | 0.68 | +1.21 | 29.22 | 0.59 | +1.21 | 24.12 | 0.55 | +2.41 | 15.07 | 0.55 |
| AIME24 | 4.44 | 6.67 | 0.08 | +0.00 | 16.04 | 0.09 | +1.11 | 15.30 | 0.14 | +1.11 | 14.53 | 0.13 | +1.11 | 13.11 | 0.13 | +1.11 | 8.66 | 0.13 |
| OlympiadBench | 26.26 | 34.87 | 0.33 | -1.64 | 28.39 | 0.37 | +0.59 | 26.98 | 0.48 | +0.14 | 26.53 | 0.45 | +1.33 | 22.65 | 0.49 | +0.00 | 14.83 | 0.39 |
| Dataset | Greedy Acc | SC@32 | 1 32 | 2 16 | 4 8 | 8 4 | 16 2 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Acc | G/1kT | Acc | G/1kT | Acc | G/1kT | Acc | G/1kT | Acc | G/1kT | Acc | G/1kT | |||||||
| GSM8K | 85.14 | 91.21 | 0.64 | -4.25 | 67.97 | 0.60 | -4.40 | 65.44 | 0.51 | -0.69 | 60.89 | 1.45 | -0.46 | 51.87 | 1.23 | -0.45 | 34.64 | 0.90 |
| MATH500 | 61.80 | 72.80 | 0.60 | -6.20 | 48.90 | 0.51 | -8.20 | 48.02 | 0.29 | -3.40 | 44.80 | 0.75 | -0.60 | 37.90 | 0.91 | -0.40 | 25.46 | 0.78 |
| AMC2023 | 33.73 | 43.37 | 0.37 | -4.82 | 52.70 | 0.39 | -3.61 | 49.37 | 0.46 | +1.21 | 42.03 | 0.72 | +4.82 | 35.59 | 0.86 | +2.41 | 24.37 | 0.61 |
| AIME24 | 4.44 | 6.67 | 0.08 | -1.11 | 40.92 | 0.07 | -1.11 | 34.86 | 0.06 | +0.00 | 32.57 | 0.11 | +0.00 | 26.55 | 0.10 | +0.00 | 18.47 | 0.09 |
| OlympiadBench | 26.26 | 34.87 | 0.33 | -4.31 | 40.08 | 0.27 | -3.86 | 38.06 | 0.29 | -3.56 | 34.90 | 0.30 | +0.14 | 30.13 | 0.48 | -0.45 | 20.74 | 0.39 |
| PRM or Baseline | ms/sample | Config | Acc. | Acc | ||
|---|---|---|---|---|---|---|
| Baseline | SC@32 | – | – | 72.84 | +0.00 | 0.0 |
| w/ StepBack | Skywork-o1-Open-PRM-Qwen-2.5-1.5B | 13.7 | 4 8 | 71.88 | -0.96 | 36.0 |
| 13.7 | 8 4 | 73.20 | +0.36 | 23.8 | ||
| 13.7 | 16 2 | 72.48 | -0.36 | 24.6 | ||
| w/ StepBack | Qwen2.5-Math-PRM-7B | 19.7 | 4 8 | 72.40 | -0.44 | 39.1 |
| 19.7 | 8 4 | 73.20 | +0.36 | 26.8 |
| Asset | Type | Source / Version | License or Terms |
|---|---|---|---|
| GSM8K | Dataset | OpenAI grade-school-math / HF openai/gsm8k | MIT |
| MATH / MATH500 | Dataset | Hendrycks MATH / MATH500 split | MIT |
| OlympiadBench | Dataset | OpenBMB OlympiadBench | MIT |
| HotpotQA | Dataset | HotpotQA official release | CC BY-SA 4.0 |
| 2WikiMultihopQA | Dataset | Official 2WikiMultihopQA release | Apache 2.0 |
| Qwen2.5 models | Model checkpoint | HuggingFace Qwen release | Apache 2.0 or Qwen license, depending on model size |
| Method | Seed 42 | Seed 123 | Seed 456 | Seed 789 | Seed 1024 | Mean Acc. | Mean | SC |
|---|---|---|---|---|---|---|---|---|
| SC@32 | 72.8 | 72.8 | 72.6 | 73.0 | 73.0 | -- | ||
| PRM 4 8 | 72.2 | 72.0 | 72.6 | 72.6 | 72.6 | 0/5 | ||
| PRM 8 4 | 72.6 | 73.2 | 73.2 | 73.6 | 73.4 | 4/5 | ||
| PRM 16 2 | 73.2 | 73.0 | 74.6 | 74.2 | 72.8 | 4/5 |
Efficient Language Model Reasoning
Efficient language model reasoning studies how to improve problem-solving accuracy while reducing inference, memory, latency, and training costs.
See all 386 papers