{"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/continuous-speculative-decoding-for","title":"Continuous Speculative Decoding for Autoregressive Image Generation","arxiv_id":"2411.11925","date":"2024-11-18","proceeding":null,"authors":["Zili Wang","Robert Zhang","Kun Ding","Qi Yang","Fei Li","Shiming Xiang"],"abstract":"Continuous-valued Autoregressive (AR) image generation models have demonstrated notable superiority over their discrete-token counterparts, showcasing considerable reconstruction quality and higher generation fidelity. However, the computational demands of the autoregressive framework result in significant inference overhead. While speculative decoding has proven effective in accelerating Large Language Models (LLMs), their adaptation to continuous-valued visual autoregressive models remains unexplored. This work generalizes the speculative decoding algorithm from discrete tokens to continuous space. By analyzing the intrinsic properties of output distribution, we establish a tailored acceptance criterion for the diffusion distributions prevalent in such models. To overcome the inconsistency that occurred in speculative decoding output distributions, we introduce denoising trajectory alignment and token pre-filling methods. Additionally, we identify the hard-to-sample distribution in the rejection phase. To mitigate this issue, we propose a meticulous acceptance-rejection sampling method with a proper upper bound, thereby circumventing complex integration. Experimental results show that our continuous speculative decoding achieves a remarkable $2.33\\times$ speed-up on off-the-shelf models while maintaining the output distribution. Codes will be available at https://github.com/MarkXCloud/CSpD","url_abs":"https://arxiv.org/abs/2411.11925v1","url_pdf":"https://arxiv.org/pdf/2411.11925v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"continuous-speculative-decoding-for","repo_url":"https://github.com/markxcloud/cspd","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-generation","task_name":"Image Generation"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2411.11925","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.11925"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/markxcloud/cspd","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":5,"ran_honours":3,"ran_fixture":1,"unverified":3},"by_repo_kind":{"official":{"samples":12,"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":0,"samples":[{"code_sha256_prefix":"9fcdaa6e423e8aa7","entry":"Normalize","repo":"markxcloud/cspd","repo_kind":"official","path":"models/vae.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/models/vae.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9fcdaa6e423e8aa7"}},{"code_sha256_prefix":"d6a68e210556f857","entry":"approx_standard_normal_cdf","repo":"markxcloud/cspd","repo_kind":"official","path":"diffusion/diffusion_utils.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/diffusion/diffusion_utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d6a68e210556f857"}},{"code_sha256_prefix":"1712a07966b542ee","entry":"center_crop_arr","repo":"markxcloud/cspd","repo_kind":"official","path":"util/crop.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/util/crop.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1712a07966b542ee"}},{"code_sha256_prefix":"3e0fa4efc22272d4","entry":"get_beta_schedule","repo":"markxcloud/cspd","repo_kind":"official","path":"diffusion/gaussian_diffusion.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/diffusion/gaussian_diffusion.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3e0fa4efc22272d4"}},{"code_sha256_prefix":"f6d7c009a8efb8b7","entry":"mean_flat","repo":"markxcloud/cspd","repo_kind":"official","path":"diffusion/gaussian_diffusion.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/diffusion/gaussian_diffusion.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f6d7c009a8efb8b7"}},{"code_sha256_prefix":"62fcb3912a967a50","entry":"modulate","repo":"markxcloud/cspd","repo_kind":"official","path":"models/diffloss.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/models/diffloss.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"62fcb3912a967a50"}},{"code_sha256_prefix":"3137073275f8c21a","entry":"nonlinearity","repo":"markxcloud/cspd","repo_kind":"official","path":"models/vae.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/models/vae.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3137073275f8c21a"}},{"code_sha256_prefix":"8afbfc42c6ea0448","entry":"normal_kl","repo":"markxcloud/cspd","repo_kind":"official","path":"diffusion/diffusion_utils.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/diffusion/diffusion_utils.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8afbfc42c6ea0448"}},{"code_sha256_prefix":"ea9dbc131adf582e","entry":"space_timesteps","repo":"markxcloud/cspd","repo_kind":"official","path":"diffusion/respace.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/diffusion/respace.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea9dbc131adf582e"}},{"code_sha256_prefix":"eb604f592f7a1064","entry":"discretized_gaussian_log_likelihood","repo":"markxcloud/cspd","repo_kind":"official","path":"diffusion/diffusion_utils.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/diffusion/diffusion_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eb604f592f7a1064"}},{"code_sha256_prefix":"4f55c34a92359642","entry":"get_named_beta_schedule","repo":"markxcloud/cspd","repo_kind":"official","path":"diffusion/gaussian_diffusion.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/diffusion/gaussian_diffusion.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4f55c34a92359642"}},{"code_sha256_prefix":"13ff96274ce1dd21","entry":"mask_by_order","repo":"markxcloud/cspd","repo_kind":"official","path":"models/mar.py","file_url":"https://github.com/markxcloud/cspd/blob/HEAD/models/mar.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"13ff96274ce1dd21"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}