{"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/arxiv-2603-27552","title":"BLOSSOM: Block-wise Federated Learning Over Shared and Sparse Observed Modalities","arxiv_id":"2603.27552","date":"2026-03-29","proceeding":null,"authors":["Pranav M R","Jayant Chandwani","Ahmed M. Abdelmoniem","Arnab K. Paul"],"abstract":"Multimodal federated learning (FL) is essential for real-world applications such as autonomous systems and healthcare, where data is distributed across heterogeneous clients with varying and often missing modalities. However, most existing FL approaches assume uniform modality availability, limiting their applicability in practice. We introduce BLOSSOM, a task-agnostic framework for multimodal FL designed to operate under shared and sparsely observed modality conditions. BLOSSOM supports clients with arbitrary modality subsets and enables flexible sharing of model components. To address client and task heterogeneity, we propose a block-wise aggregation strategy that selectively aggregates shared components while keeping task-specific blocks private, enabling partial personalization. We evaluate BLOSSOM on multiple diverse multimodal datasets and analyse the effects of missing modalities and personalization. Our results show that block-wise personalization significantly improves performance, particularly in settings with severe modality sparsity. In modality-incomplete scenarios, BLOSSOM achieves an average performance gain of 18.7% over full-model aggregation, while in modality-exclusive settings the gain increases to 37.7%, highlighting the importance of block-wise learning for practical multimodal FL systems.","url_abs":"https://arxiv.org/abs/2603.27552","url_pdf":"https://arxiv.org/pdf/2603.27552","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2603.27552","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2603.27552"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/DaSH-Lab-CSIS/blossom","reach":null}],"summary":{"unverified":5},"by_repo_kind":{"found_in_text":{"samples":5,"ran":0,"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":"f97478f4b7adb5d4","entry":"build_model","repo":"DaSH-Lab-CSIS/blossom","repo_kind":"found_in_text","path":"blossom/models.py","file_url":"https://github.com/DaSH-Lab-CSIS/blossom/blob/HEAD/blossom/models.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":"f97478f4b7adb5d4"}},{"code_sha256_prefix":"a4891589387b85fd","entry":"extract_modality_metrics_from_client_data","repo":"DaSH-Lab-CSIS/blossom","repo_kind":"found_in_text","path":"blossom/utils.py","file_url":"https://github.com/DaSH-Lab-CSIS/blossom/blob/HEAD/blossom/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":"a4891589387b85fd"}},{"code_sha256_prefix":"0149d6d3b64cc15d","entry":"mask_modalities","repo":"DaSH-Lab-CSIS/blossom","repo_kind":"found_in_text","path":"blossom/task.py","file_url":"https://github.com/DaSH-Lab-CSIS/blossom/blob/HEAD/blossom/task.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":"0149d6d3b64cc15d"}},{"code_sha256_prefix":"a3d02a5475c08b8b","entry":"parse_dict_with_tuple_keys","repo":"DaSH-Lab-CSIS/blossom","repo_kind":"found_in_text","path":"blossom/utils.py","file_url":"https://github.com/DaSH-Lab-CSIS/blossom/blob/HEAD/blossom/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":"a3d02a5475c08b8b"}},{"code_sha256_prefix":"06cfc69fb091fa68","entry":"prepare_lines_data_from_modality_metrics","repo":"DaSH-Lab-CSIS/blossom","repo_kind":"found_in_text","path":"blossom/utils.py","file_url":"https://github.com/DaSH-Lab-CSIS/blossom/blob/HEAD/blossom/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":"06cfc69fb091fa68"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}