{"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/efficiently-identifying-task-groupings-for","title":"Efficiently Identifying Task Groupings for Multi-Task Learning","arxiv_id":"2109.04617","date":"2021-09-10","proceeding":"NeurIPS 2021 12","authors":["Christopher Fifty","Ehsan Amid","Zhe Zhao","Tianhe Yu","Rohan Anil","Chelsea Finn"],"abstract":"Multi-task learning can leverage information learned by one task to benefit the training of other tasks. Despite this capacity, naively training all tasks together in one model often degrades performance, and exhaustively searching through combinations of task groupings can be prohibitively expensive. As a result, efficiently identifying the tasks that would benefit from training together remains a challenging design question without a clear solution. In this paper, we suggest an approach to select which tasks should train together in multi-task learning models. Our method determines task groupings in a single run by training all tasks together and quantifying the effect to which one task's gradient would affect another task's loss. On the large-scale Taskonomy computer vision dataset, we find this method can decrease test loss by 10.0% compared to simply training all tasks together while operating 11.6 times faster than a state-of-the-art task grouping method.","url_abs":"https://arxiv.org/abs/2109.04617v2","url_pdf":"https://arxiv.org/pdf/2109.04617v2.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":"efficiently-identifying-task-groupings-for","repo_url":"https://github.com/google-research/google-research","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":null}],"tasks":[{"task_slug":"all","task_name":"All"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2109.04617","atlas_url":"https://app.syntology.ai/?focus=2109.04617","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2109.04617"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/google-research/google-research","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/google-research/googleresearch","reach":{"status":"gone","observed_at":"2026-09-17","how":"tree_404+repo_404"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/tstandley/taskgrouping","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/StanfordVL/taskonomy","reach":null}],"summary":{"ran_honours":1,"unverified":1},"by_repo_kind":{"found_in_text":{"samples":2,"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":2,"samples":[{"code_sha256_prefix":"68346b1d4b1891c2","entry":"get_average_learning_rate","repo":"tstandley/taskgrouping","repo_kind":"found_in_text","path":"train_taskonomy.py","file_url":"https://github.com/tstandley/taskgrouping/blob/HEAD/train_taskonomy.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":2,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"68346b1d4b1891c2"}},{"code_sha256_prefix":"e58fbd887849cb97","entry":"MinNormSolver","repo":"tstandley/taskgrouping","repo_kind":"found_in_text","path":"model_definitions/ozan_min_norm_solvers.py","file_url":"https://github.com/tstandley/taskgrouping/blob/HEAD/model_definitions/ozan_min_norm_solvers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e58fbd887849cb97"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}