{"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/balancing-act-constraining-disparate-impact","title":"Balancing Act: Constraining Disparate Impact in Sparse Models","arxiv_id":"2310.20673","date":"2023-10-31","proceeding":null,"authors":["Meraj Hashemizadeh","Juan Ramirez","Rohan Sukumaran","Golnoosh Farnadi","Simon Lacoste-Julien","Jose Gallego-Posada"],"abstract":"Model pruning is a popular approach to enable the deployment of large deep learning models on edge devices with restricted computational or storage capacities. Although sparse models achieve performance comparable to that of their dense counterparts at the level of the entire dataset, they exhibit high accuracy drops for some data sub-groups. Existing methods to mitigate this disparate impact induced by pruning (i) rely on surrogate metrics that address the problem indirectly and have limited interpretability; or (ii) scale poorly with the number of protected sub-groups in terms of computational cost. We propose a constrained optimization approach that directly addresses the disparate impact of pruning: our formulation bounds the accuracy change between the dense and sparse models, for each sub-group. This choice of constraints provides an interpretable success criterion to determine if a pruned model achieves acceptable disparity levels. Experimental results demonstrate that our technique scales reliably to problems involving large models and hundreds of protected sub-groups.","url_abs":"https://arxiv.org/abs/2310.20673v2","url_pdf":"https://arxiv.org/pdf/2310.20673v2.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":"balancing-act-constraining-disparate-impact","repo_url":"https://github.com/cooper-org/cooper","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"balancing-act-constraining-disparate-impact","repo_url":"https://github.com/merajhashemi/balancing-act","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"balancing-act-constraining-disparate-impact","repo_url":"https://github.com/merajhashemi/balancing_act","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"pruning","method_name":"Pruning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.20673","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.20673"}},"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/merajhashemi/balancing_act","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cooper-org/cooper","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/merajhashemi/balancing-act","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"unverified":2},"by_repo_kind":{"official":{"samples":4,"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":0,"samples":[{"code_sha256_prefix":"7dca39b003cc513f","entry":"get_num_classes_and_protected_groups","repo":"merajhashemi/balancing-act","repo_kind":"official","path":"src/datasets/datasets.py","file_url":"https://github.com/merajhashemi/balancing-act/blob/HEAD/src/datasets/datasets.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":"7dca39b003cc513f"}},{"code_sha256_prefix":"069d0a228ee418cd","entry":"unpack_indices_from_protected_attr","repo":"merajhashemi/balancing-act","repo_kind":"official","path":"src/cmp/utils.py","file_url":"https://github.com/merajhashemi/balancing-act/blob/HEAD/src/cmp/utils.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":"069d0a228ee418cd"}},{"code_sha256_prefix":"9167b727d3da64c0","entry":"add_dense_to_sparse","repo":"merajhashemi/balancing-act","repo_kind":"official","path":"src/cmp/utils.py","file_url":"https://github.com/merajhashemi/balancing-act/blob/HEAD/src/cmp/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":"9167b727d3da64c0"}},{"code_sha256_prefix":"1ede60e119687f79","entry":"unpack_sparse_and_pad","repo":"merajhashemi/balancing-act","repo_kind":"official","path":"src/cmp/utils.py","file_url":"https://github.com/merajhashemi/balancing-act/blob/HEAD/src/cmp/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":"1ede60e119687f79"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}