From Tokens to Steps: Verification-Aware Speculative Decoding for Efficient Multi-Step Reasoning

Kiran Purohit, Ramasuri Narayanam, Soumyabrata Pal
4/16/2026
cs.CL

No confident code implementation found for this paper.

Abstract

Speculative decoding (SD) accelerates large language model inference by allowing a lightweight draft model to propose outputs that a stronger target model verifies. However, its token-centric nature allows erroneous steps to propagate. Prior approaches mitigate this using external reward models, but incur additional latency, computational overhead, and limit generalizability. We propose SpecGuard, a verification-aware speculative decoding framework that performs step-level verification using only model-internal signals. At each step, SpecGuard samples multiple draft candidates and selects the most consistent step, which is then validated using an ensemble of two lightweight model-internal signals: (i) an attention-based grounding score that measures attribution to the input and previously accepted steps, and (ii) a log-probability-based score that captures token-level confidence. These signals jointly determine whether a step is accepted or recomputed using the target, allocating compute selectively. Experiments across a range of reasoning benchmarks show that SpecGuard improves accuracy by 3.6% while reducing latency by ~11%, outperforming both SD and reward-guided SD.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{purohit2026from,
  title  = {From Tokens to Steps: Verification-Aware Speculative Decoding for Efficient Multi-Step Reasoning},
  author = {Kiran Purohit and Ramasuri Narayanam and Soumyabrata Pal},
  year   = {2026},
  eprint = {2604.15244},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2604.15244v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2604.15244.svg)](https://codeofpaper.com/paper/2604.15244)

Discussion