{"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/sa-solver-stochastic-adams-solver-for-fast","title":"SA-Solver: Stochastic Adams Solver for Fast Sampling of Diffusion Models","arxiv_id":"2309.05019","date":"2023-09-10","proceeding":"NeurIPS 2023 11","authors":["Shuchen Xue","Mingyang Yi","Weijian Luo","Shifeng Zhang","Jiacheng Sun","Zhenguo Li","Zhi-Ming Ma"],"abstract":"Diffusion Probabilistic Models (DPMs) have achieved considerable success in generation tasks. As sampling from DPMs is equivalent to solving diffusion SDE or ODE which is time-consuming, numerous fast sampling methods built upon improved differential equation solvers are proposed. The majority of such techniques consider solving the diffusion ODE due to its superior efficiency. However, stochastic sampling could offer additional advantages in generating diverse and high-quality data. In this work, we engage in a comprehensive analysis of stochastic sampling from two aspects: variance-controlled diffusion SDE and linear multi-step SDE solver. Based on our analysis, we propose SA-Solver, which is an improved efficient stochastic Adams method for solving diffusion SDE to generate data with high quality. Our experiments show that SA-Solver achieves: 1) improved or comparable performance compared with the existing state-of-the-art sampling methods for few-step sampling; 2) SOTA FID scores on substantial benchmark datasets under a suitable number of function evaluations (NFEs).","url_abs":"https://arxiv.org/abs/2309.05019v2","url_pdf":"https://arxiv.org/pdf/2309.05019v2.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":"sa-solver-stochastic-adams-solver-for-fast","repo_url":"https://github.com/scxue/SA-Solver","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-generation","task_name":"Image Generation"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-generation-on-imagenet-512x512","task":"Image Generation","dataset":"ImageNet 512x512","model":"DiT-XL/2 with SA-Solver","rank_in_archive_order":37,"of":52,"metrics":{"FID":"2.80"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2309.05019","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.05019"}},"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":"deterministic:regex_extraction","url":"https://github.com/scxue/SA-Solver","reach":null}],"summary":{"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"official":{"samples":4,"ran":1,"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":"6665240d279136d7","entry":"interpolate_fn","repo":"scxue/sa-solver","repo_kind":"official","path":"sa_solver.py","file_url":"https://github.com/scxue/sa-solver/blob/HEAD/sa_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":2,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6665240d279136d7"}},{"code_sha256_prefix":"b44ded7a4e41e78f","entry":"SASolver","repo":"scxue/SA-Solver","repo_kind":"official","path":"sa_solver.py","file_url":"https://github.com/scxue/SA-Solver/blob/HEAD/sa_solver.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":"b44ded7a4e41e78f"}},{"code_sha256_prefix":"deacba079baac7e9","entry":"expand_dims","repo":"scxue/sa-solver","repo_kind":"official","path":"sa_solver.py","file_url":"https://github.com/scxue/sa-solver/blob/HEAD/sa_solver.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"deacba079baac7e9"}},{"code_sha256_prefix":"413e45c636fb58b0","entry":"model_wrapper","repo":"scxue/sa-solver","repo_kind":"official","path":"sa_solver.py","file_url":"https://github.com/scxue/sa-solver/blob/HEAD/sa_solver.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"413e45c636fb58b0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}