{"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/ditas-quantizing-diffusion-transformers-via","title":"DiTAS: Quantizing Diffusion Transformers via Enhanced Activation Smoothing","arxiv_id":"2409.07756","date":"2024-09-12","proceeding":null,"authors":["Zhenyuan Dong","Sai Qian Zhang"],"abstract":"Diffusion Transformers (DiTs) have recently attracted significant interest from both industry and academia due to their enhanced capabilities in visual generation, surpassing the performance of traditional diffusion models that employ U-Net. However, the improved performance of DiTs comes at the expense of higher parameter counts and implementation costs, which significantly limits their deployment on resource-constrained devices like mobile phones. We propose DiTAS, a data-free post-training quantization (PTQ) method for efficient DiT inference. DiTAS relies on the proposed temporal-aggregated smoothing techniques to mitigate the impact of the channel-wise outliers within the input activations, leading to much lower quantization error under extremely low bitwidth. To further enhance the performance of the quantized DiT, we adopt the layer-wise grid search strategy to optimize the smoothing factor. Moreover, we integrate a training-free LoRA module for weight quantization, leveraging alternating optimization to minimize quantization errors without additional fine-tuning. Experimental results demonstrate that our approach enables 4-bit weight, 8-bit activation (W4A8) quantization for DiTs while maintaining comparable performance as the full-precision model.","url_abs":"https://arxiv.org/abs/2409.07756v2","url_pdf":"https://arxiv.org/pdf/2409.07756v2.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":"ditas-quantizing-diffusion-transformers-via","repo_url":"https://github.com/DZY122/DiTAS","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-generation","task_name":"Image Generation"},{"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=2409.07756","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2409.07756"}},"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/DZY122/DiTAS","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":6,"ran":2,"ran_honours":4,"ran_fixture":1,"unverified":6},"by_repo_kind":{"official":{"samples":19,"ran":13,"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":"d6a68e210556f857","entry":"approx_standard_normal_cdf","repo":"DZY122/DiTAS","repo_kind":"official","path":"diffusion/diffusion_utils.py","file_url":"https://github.com/DZY122/DiTAS/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":"ab1c9568b4e13899","entry":"continuous_gaussian_log_likelihood","repo":"DZY122/DiTAS","repo_kind":"official","path":"diffusion/diffusion_utils.py","file_url":"https://github.com/DZY122/DiTAS/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":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ab1c9568b4e13899"}},{"code_sha256_prefix":"b2cc78f4103df806","entry":"create_logger","repo":"DZY122/DiTAS","repo_kind":"official","path":"LinearQuant.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/LinearQuant.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":"b2cc78f4103df806"}},{"code_sha256_prefix":"98dc5039c3705609","entry":"create_normal_map","repo":"DZY122/DiTAS","repo_kind":"official","path":"utils_qaunt.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/utils_qaunt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"98dc5039c3705609"}},{"code_sha256_prefix":"c43ca4c65f3079a7","entry":"create_npz_from_sample_folder","repo":"DZY122/DiTAS","repo_kind":"official","path":"sample_merge_TAS.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/sample_merge_TAS.py","link_basis":"plan_row","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":"c43ca4c65f3079a7"}},{"code_sha256_prefix":"c92c27c924b517e8","entry":"get_2d_sincos_pos_embed","repo":"DZY122/DiTAS","repo_kind":"official","path":"models.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/models.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":"c92c27c924b517e8"}},{"code_sha256_prefix":"3e0fa4efc22272d4","entry":"get_beta_schedule","repo":"DZY122/DiTAS","repo_kind":"official","path":"diffusion/gaussian_diffusion.py","file_url":"https://github.com/DZY122/DiTAS/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":"36e30c7fb679ec78","entry":"get_named_beta_schedule","repo":"DZY122/DiTAS","repo_kind":"official","path":"diffusion/gaussian_diffusion.py","file_url":"https://github.com/DZY122/DiTAS/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":"36e30c7fb679ec78"}},{"code_sha256_prefix":"10cee608c936e97c","entry":"low_rank_decomposition","repo":"DZY122/DiTAS","repo_kind":"official","path":"LinearQuant.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/LinearQuant.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"10cee608c936e97c"}},{"code_sha256_prefix":"f6d7c009a8efb8b7","entry":"mean_flat","repo":"DZY122/DiTAS","repo_kind":"official","path":"LinearQuant.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/LinearQuant.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":"03310bba324ae4fb","entry":"modulate","repo":"DZY122/DiTAS","repo_kind":"official","path":"models.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/models.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":"03310bba324ae4fb"}},{"code_sha256_prefix":"8afbfc42c6ea0448","entry":"normal_kl","repo":"DZY122/DiTAS","repo_kind":"official","path":"diffusion/diffusion_utils.py","file_url":"https://github.com/DZY122/DiTAS/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":"DZY122/DiTAS","repo_kind":"official","path":"diffusion/respace.py","file_url":"https://github.com/DZY122/DiTAS/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":"e48218d7d73db0b3","entry":"create_named_schedule_sampler","repo":"DZY122/DiTAS","repo_kind":"official","path":"diffusion/timestep_sampler.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/diffusion/timestep_sampler.py","link_basis":"harvester_set","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":"e48218d7d73db0b3"}},{"code_sha256_prefix":"6a0d5ecd441905cc","entry":"download_model","repo":"DZY122/DiTAS","repo_kind":"official","path":"download.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/download.py","link_basis":"harvester_set","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":"6a0d5ecd441905cc"}},{"code_sha256_prefix":"29947a0a94157558","entry":"find_model","repo":"DZY122/DiTAS","repo_kind":"official","path":"download.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/download.py","link_basis":"harvester_set","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":"29947a0a94157558"}},{"code_sha256_prefix":"665d8a4e8f673a4c","entry":"get_2d_sincos_pos_embed_from_grid","repo":"DZY122/DiTAS","repo_kind":"official","path":"models.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/models.py","link_basis":"harvester_set","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":"665d8a4e8f673a4c"}},{"code_sha256_prefix":"1b9176fa99542368","entry":"quantize_tensor","repo":"DZY122/DiTAS","repo_kind":"official","path":"utils_qaunt.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/utils_qaunt.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":"1b9176fa99542368"}},{"code_sha256_prefix":"588e216eef61e4b6","entry":"weight_quant_fn","repo":"DZY122/DiTAS","repo_kind":"official","path":"utils_qaunt.py","file_url":"https://github.com/DZY122/DiTAS/blob/HEAD/utils_qaunt.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":"588e216eef61e4b6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}