{"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/quest-low-bit-diffusion-model-quantization","title":"QuEST: Low-bit Diffusion Model Quantization via Efficient Selective Finetuning","arxiv_id":"2402.03666","date":"2024-02-06","proceeding":null,"authors":["Haoxuan Wang","Yuzhang Shang","Zhihang Yuan","Junyi Wu","Junchi Yan","Yan Yan"],"abstract":"The practical deployment of diffusion models still suffers from the high memory and time overhead. While quantization paves a way for compression and acceleration, existing methods unfortunately fail when the models are quantized to low-bits. In this paper, we empirically unravel three properties in quantized diffusion models that compromise the efficacy of current methods: imbalanced activation distributions, imprecise temporal information, and vulnerability to perturbations of specific modules. To alleviate the intensified low-bit quantization difficulty stemming from the distribution imbalance, we propose finetuning the quantized model to better adapt to the activation distribution. Building on this idea, we identify two critical types of quantized layers: those holding vital temporal information and those sensitive to reduced bit-width, and finetune them to mitigate performance degradation with efficiency. We empirically verify that our approach modifies the activation distribution and provides meaningful temporal information, facilitating easier and more accurate quantization. Our method is evaluated over three high-resolution image generation tasks and achieves state-of-the-art performance under various bit-width settings, as well as being the first method to generate readable images on full 4-bit (i.e. W4A4) Stable Diffusion. Code is available \\href{https://github.com/hatchetProject/QuEST}{here}.","url_abs":"https://arxiv.org/abs/2402.03666v3","url_pdf":"https://arxiv.org/pdf/2402.03666v3.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":"quest-low-bit-diffusion-model-quantization","repo_url":"https://github.com/hatchetProject/QuEST","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"model-compression","task_name":"Model Compression"},{"task_slug":"quantization","task_name":"Quantization"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.03666","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.03666"}},"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/hatchetProject/QuEST","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":7,"ran":2,"ran_fixture":1,"ran_violates":1},"by_repo_kind":{"official":{"samples":11,"ran":11,"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":11,"samples":[{"code_sha256_prefix":"6a35b62fbc80f70a","entry":"interpolate_fn","repo":"hatchetProject/QuEST","repo_kind":"official","path":"ddim/dpm_solver_pytorch.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/ddim/dpm_solver_pytorch.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":2,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6a35b62fbc80f70a"}},{"code_sha256_prefix":"675da8641c602b03","entry":"round_ste","repo":"hatchetProject/QuEST","repo_kind":"official","path":"qdiff/quant_layer.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/qdiff/quant_layer.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":2,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"675da8641c602b03"}},{"code_sha256_prefix":"8241c0562bc710fd","entry":"chunk","repo":"hatchetProject/QuEST","repo_kind":"official","path":"txt2img.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/txt2img.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8241c0562bc710fd"}},{"code_sha256_prefix":"834bbad6b027b869","entry":"custom_to_np","repo":"hatchetProject/QuEST","repo_kind":"official","path":"get_calibration_set_imagenet_ddim.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/get_calibration_set_imagenet_ddim.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"834bbad6b027b869"}},{"code_sha256_prefix":"1f425be38a5fdeb5","entry":"custom_to_pil","repo":"hatchetProject/QuEST","repo_kind":"official","path":"get_calibration_set_imagenet_ddim.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/get_calibration_set_imagenet_ddim.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1f425be38a5fdeb5"}},{"code_sha256_prefix":"e6110366588c5c65","entry":"expand_dims","repo":"hatchetProject/QuEST","repo_kind":"official","path":"ddim/dpm_solver_pytorch.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/ddim/dpm_solver_pytorch.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e6110366588c5c65"}},{"code_sha256_prefix":"972d81dfb78fc260","entry":"floor_ste","repo":"hatchetProject/QuEST","repo_kind":"official","path":"qdiff/quant_layer.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/qdiff/quant_layer.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":"972d81dfb78fc260"}},{"code_sha256_prefix":"2eaadefc68b9b67f","entry":"logs2pil","repo":"hatchetProject/QuEST","repo_kind":"official","path":"get_calibration_set_imagenet_ddim.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/get_calibration_set_imagenet_ddim.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2eaadefc68b9b67f"}},{"code_sha256_prefix":"08c6ea7576220a13","entry":"lp_loss","repo":"hatchetProject/QuEST","repo_kind":"official","path":"qdiff/quant_layer.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/qdiff/quant_layer.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"08c6ea7576220a13"}},{"code_sha256_prefix":"0e7df13e9be17236","entry":"model_wrapper","repo":"hatchetProject/QuEST","repo_kind":"official","path":"ddim/dpm_solver_pytorch.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/ddim/dpm_solver_pytorch.py","link_basis":"harvester_set","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":"0e7df13e9be17236"}},{"code_sha256_prefix":"1e63d588563eb90a","entry":"numpy_to_pil","repo":"hatchetProject/QuEST","repo_kind":"official","path":"txt2img.py","file_url":"https://github.com/hatchetProject/QuEST/blob/HEAD/txt2img.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1e63d588563eb90a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}