{"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/split-gibbs-discrete-diffusion-posterior","title":"Split Gibbs Discrete Diffusion Posterior Sampling","arxiv_id":"2503.01161","date":"2025-03-03","proceeding":null,"authors":["Wenda Chu","Yang song","Yisong Yue"],"abstract":"We study the problem of posterior sampling in discrete-state spaces using discrete diffusion models. While posterior sampling methods for continuous diffusion models have achieved remarkable progress, analogous methods for discrete diffusion models remain challenging. In this work, we introduce a principled plug-and-play discrete diffusion posterior sampling algorithm based on split Gibbs sampling, which we call SG-DPS. Our algorithm enables reward-guided generation and solving inverse problems in discrete-state spaces. We demonstrate that SG-DPS converges to the true posterior distribution on synthetic benchmarks, and enjoys state-of-the-art posterior sampling performance on a range of benchmarks for discrete data, achieving up to 2x improved performance compared to existing baselines.","url_abs":"https://arxiv.org/abs/2503.01161v1","url_pdf":"https://arxiv.org/pdf/2503.01161v1.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":[],"tasks":[],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2503.01161","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2503.01161"}},"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/chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling","reach":null}],"summary":{"ran":1,"ran_fixture":1,"unverified":4},"by_repo_kind":{"found_in_text":{"samples":5,"ran":2,"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":6,"samples":[{"code_sha256_prefix":"2b2880b20594feb0","entry":"Denoiser","repo":"chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling","repo_kind":"found_in_text","path":"sampling/sgdd.py","file_url":"https://github.com/chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling/blob/HEAD/sampling/sgdd.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":"2b2880b20594feb0"}},{"code_sha256_prefix":"172aa319a831b3ab","entry":"sample_categorical","repo":"chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling","repo_kind":"found_in_text","path":"sampling/sgdd.py","file_url":"https://github.com/chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling/blob/HEAD/sampling/sgdd.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"172aa319a831b3ab"}},{"code_sha256_prefix":"20eda4e50d0d7581","entry":"Algo","repo":"chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling","repo_kind":"found_in_text","path":"sampling/sgdd.py","file_url":"https://github.com/chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling/blob/HEAD/sampling/sgdd.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":"20eda4e50d0d7581"}},{"code_sha256_prefix":"1639b0b1cb866fa4","entry":"SGDD","repo":"chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling","repo_kind":"found_in_text","path":"sampling/sgdd.py","file_url":"https://github.com/chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling/blob/HEAD/sampling/sgdd.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":"1639b0b1cb866fa4"}},{"code_sha256_prefix":"063b0af906f60d4c","entry":"get_pc_sampler","repo":"chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling","repo_kind":"found_in_text","path":"sampling/sgdd.py","file_url":"https://github.com/chuwd19/Split-Gibbs-Discrete-Diffusion-Posterior-Sampling/blob/HEAD/sampling/sgdd.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":"063b0af906f60d4c"}},{"code_sha256_prefix":"a58facb8fe71823a","entry":"get_predictor","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"a58facb8fe71823a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}