{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2608-20359","title":"Self-Speculation for Faster Reasoning Models","arxiv_id":"2608.20359","date":"2026-06-17","proceeding":null,"authors":["Ravisri Valluri","Tung Nguyen","Aditya Grover"],"abstract":"Large language models (LLMs) are deployed for increasingly complex tasks involving planning and multi-step decision making, but high-quality performance on these tasks often requires generating long reasoning traces. This is a poor fit for latency-sensitive and interactive applications like voice assistants or coding agents, where generation latency can strongly affect user experience. Existing acceleration methods typically focus on token-level generation, without utilizing the structure of reasoning workflows. We introduce SSR: Self-Speculation for Reasoning Models, a training-free self-speculative decoding method that leverages the chain-of-thought (CoT) as a source of speculation. SSR uses the partial-CoT answer distribution as the drafter and the full-CoT distribution as the verifier, deriving both from the same model at different reasoning budgets. This builds on the observation that later partial-CoT responses often exhibit greater semantic and lexical overlap with the full-budget response. Due to this overlap, SSR can accept long draft prefixes at once, leading to large speedups on structured and long-form generation tasks. To further exploit draft-response overlap beyond the contiguous prefix accepted by standard speculative decoding, SSR also incorporates suffix decoding, using the draft to seed a suffix cache and recover useful spans beyond the accepted prefix, further reducing latency on tasks with high lexical overlap between the draft and the final response. We evaluate SSR on multiple structured and long-form generation tasks where it is most useful, and demonstrate a relative improvement of up to 24.1% on total generation latency for popular open-source models such as Qwen3.5 and Gemma-4.","url_abs":"https://arxiv.org/abs/2608.20359","url_pdf":"https://arxiv.org/pdf/2608.20359","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2608.20359","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2608.20359"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Ravi-VK/SSR","reach":null}],"summary":{"ran":9,"unverified":1},"by_repo_kind":{"found_in_text":{"samples":10,"ran":9,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":10,"samples":[{"code_sha256_prefix":"552e4370076a1a01","entry":"async_request_deepspeed_mii","repo":"Ravi-VK/SSR","repo_kind":"found_in_text","path":"vllm/benchmarks/backend_request_func.py","file_url":"https://github.com/Ravi-VK/SSR/blob/HEAD/vllm/benchmarks/backend_request_func.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"552e4370076a1a01"}},{"code_sha256_prefix":"7ee13b8d142453c0","entry":"async_request_tgi","repo":"Ravi-VK/SSR","repo_kind":"found_in_text","path":"vllm/benchmarks/backend_request_func.py","file_url":"https://github.com/Ravi-VK/SSR/blob/HEAD/vllm/benchmarks/backend_request_func.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7ee13b8d142453c0"}},{"code_sha256_prefix":"f0b0f51ad4ed00c9","entry":"async_request_trt_llm","repo":"Ravi-VK/SSR","repo_kind":"found_in_text","path":"vllm/benchmarks/backend_request_func.py","file_url":"https://github.com/Ravi-VK/SSR/blob/HEAD/vllm/benchmarks/backend_request_func.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f0b0f51ad4ed00c9"}},{"code_sha256_prefix":"0d3217ca36de88a0","entry":"builtin_hash","repo":"Ravi-VK/SSR","repo_kind":"found_in_text","path":"vllm/benchmarks/benchmark_hash.py","file_url":"https://github.com/Ravi-VK/SSR/blob/HEAD/vllm/benchmarks/benchmark_hash.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0d3217ca36de88a0"}},{"code_sha256_prefix":"c8c099368807b154","entry":"check_wheel_size","repo":"Ravi-VK/SSR","repo_kind":"found_in_text","path":"vllm/.buildkite/check-wheel-size.py","file_url":"https://github.com/Ravi-VK/SSR/blob/HEAD/vllm/.buildkite/check-wheel-size.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c8c099368807b154"}},{"code_sha256_prefix":"a696f84b9b36ab84","entry":"format_model_inspection","repo":"Ravi-VK/SSR","repo_kind":"found_in_text","path":"vllm/vllm/model_inspection.py","file_url":"https://github.com/Ravi-VK/SSR/blob/HEAD/vllm/vllm/model_inspection.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a696f84b9b36ab84"}},{"code_sha256_prefix":"5da7378b95e80006","entry":"repeat_prompts","repo":"Ravi-VK/SSR","repo_kind":"found_in_text","path":"vllm/benchmarks/benchmark_long_document_qa_throughput.py","file_url":"https://github.com/Ravi-VK/SSR/blob/HEAD/vllm/benchmarks/benchmark_long_document_qa_throughput.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5da7378b95e80006"}},{"code_sha256_prefix":"200fa66e8ece71e2","entry":"sample_requests_from_dataset","repo":"Ravi-VK/SSR","repo_kind":"found_in_text","path":"vllm/benchmarks/benchmark_prefix_caching.py","file_url":"https://github.com/Ravi-VK/SSR/blob/HEAD/vllm/benchmarks/benchmark_prefix_caching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"200fa66e8ece71e2"}},{"code_sha256_prefix":"b534d2300709c9f8","entry":"sample_tokens","repo":"Ravi-VK/SSR","repo_kind":"found_in_text","path":"vllm/benchmarks/benchmark_prefix_caching.py","file_url":"https://github.com/Ravi-VK/SSR/blob/HEAD/vllm/benchmarks/benchmark_prefix_caching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b534d2300709c9f8"}},{"code_sha256_prefix":"8151aa7d79db94a2","entry":"sample_requests_from_random","repo":"Ravi-VK/SSR","repo_kind":"found_in_text","path":"vllm/benchmarks/benchmark_prefix_caching.py","file_url":"https://github.com/Ravi-VK/SSR/blob/HEAD/vllm/benchmarks/benchmark_prefix_caching.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8151aa7d79db94a2"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CL","source":"arxiv_2026.jsonl"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,264 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9581,"papers_checked":6264},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}