{"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/pareto-low-rank-adapters-efficient-multi-task","title":"Pareto Low-Rank Adapters: Efficient Multi-Task Learning with Preferences","arxiv_id":"2407.08056","date":"2024-07-10","proceeding":null,"authors":["Nikolaos Dimitriadis","Pascal Frossard","Francois Fleuret"],"abstract":"Dealing with multi-task trade-offs during inference can be addressed via Pareto Front Learning (PFL) methods that parameterize the Pareto Front with a single model, contrary to traditional Multi-Task Learning (MTL) approaches that optimize for a single trade-off which has to be decided prior to training. However, recent PFL methodologies suffer from limited scalability, slow convergence and excessive memory requirements compared to MTL approaches while exhibiting inconsistent mappings from preference space to objective space. In this paper, we introduce PaLoRA, a novel parameter-efficient method that augments the original model with task-specific low-rank adapters and continuously parameterizes the Pareto Front in their convex hull. Our approach dedicates the original model and the adapters towards learning general and task-specific features, respectively. Additionally, we propose a deterministic sampling schedule of preference vectors that reinforces this division of labor, enabling faster convergence and scalability to real world networks. Our experimental results show that PaLoRA outperforms MTL and PFL baselines across various datasets, scales to large networks and provides a continuous parameterization of the Pareto Front, reducing the memory overhead $23.8-31.7$ times compared with competing PFL baselines in scene understanding benchmarks.","url_abs":"https://arxiv.org/abs/2407.08056v1","url_pdf":"https://arxiv.org/pdf/2407.08056v1.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":[{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"},{"task_slug":"scene-understanding","task_name":"Scene Understanding"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.08056","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.08056"}},"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/nik-dim/palora","reach":null}],"summary":{"ran":7,"unverified":4},"by_repo_kind":{"found_in_text":{"samples":11,"ran":7,"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":"a4b90474b95d1e6b","entry":"BaseCallback","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.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":"a4b90474b95d1e6b"}},{"code_sha256_prefix":"c516f0c3b8bae172","entry":"DumbWrapper","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c516f0c3b8bae172"}},{"code_sha256_prefix":"c8cc9a95bc28e7e3","entry":"PaConv2d","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c8cc9a95bc28e7e3"}},{"code_sha256_prefix":"d02616dab157c976","entry":"PaConvLoRA","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.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":"d02616dab157c976"}},{"code_sha256_prefix":"0b4281cff67777fa","entry":"PaLinear","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0b4281cff67777fa"}},{"code_sha256_prefix":"ac4072531d78ed88","entry":"PaLoRALayer","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.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":"ac4072531d78ed88"}},{"code_sha256_prefix":"8f4dd15fcc2cd0f5","entry":"Sampler","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8f4dd15fcc2cd0f5"}},{"code_sha256_prefix":"c98caa99b682ad0b","entry":"AlgoCallback","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.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":"c98caa99b682ad0b"}},{"code_sha256_prefix":"398523ae51a3f57d","entry":"PaLoRA","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.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":"398523ae51a3f57d"}},{"code_sha256_prefix":"0c324bf9e69afb36","entry":"PaSequential","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.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":"0c324bf9e69afb36"}},{"code_sha256_prefix":"ef65a6c3d3f70a89","entry":"ParetoFrontApproximationAlgoCallback","repo":"nik-dim/palora","repo_kind":"found_in_text","path":"src/callbacks/methods/palora.py","file_url":"https://github.com/nik-dim/palora/blob/HEAD/src/callbacks/methods/palora.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":"ef65a6c3d3f70a89"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}