FedMLLM: Federated Fine-tuning MLLM on Multimodal Heterogeneity Data arXiv
You Only Communicate Once: One-shot Federated Learning for Multimodal Large Language Models
π Accepted at NeurIPS 2025
.
βββ root/
βββ data/
β βββ hateful_memes/
β β βββ minicpmv_data/
β β β βββ modality-missing/
β β β β βββ mrate-0.3/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ mrate-0.4/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ mrate-0.5/
β β β β βββ partition-alpha0.5-clt10
β β β βββ modality-single/
β β β β βββ image-3/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ image-5/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ image-7/
β β β β βββ partition-alpha0.5-clt10
β β β βββ modality-mix/
β β β β βββ qrate-0.2/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ qrate-0.3/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ qrate-0.4/
β β β β βββ partition-alpha0.5-clt10
β β β βββ partition-alpha5.0-clt10
β β β βββ partition-alpha1.0-clt10
β β β βββ partition-alpha0.5-clt10
β β βββ raw_data/ # Extracted files of the downloaded dataset
β β βββ partition-alpha5.0-clt10
β β βββ partition-alpha1.0-clt10
β β βββ partition-alpha0.5-clt10
β βββ crisis-mmd # Consistent with the *hateful_memes* folder structure.
βββ code/
βββ data_gen/
β βββ data_partition_crisismmd.py
β βββ data_partition_hateful.py
β βββ data_process_medalpaca.py
β βββ data_process_vqarad.py
β βββ gen_data_crisismmd_missing_aug.py
β βββ gen_data_crisismmd_missing.py
β βββ gen_data_crisismmd_mix_aug.py
β βββ gen_data_crisismmd_mix.py
β βββ gen_data_crisismmd_single_aug.py
β βββ gen_data_crisismmd_single.py
β βββ gen_data_crisismmd.py
β βββ gen_data_hateful_missing_aug.py
β βββ gen_data_hateful_missing.py
β βββ gen_data_hateful_mix_aug.py
β βββ gen_data_hateful_mix.py
β βββ gen_data_hateful_single_aug.py
β βββ gen_data_hateful_single.py
β βββ gen_data_hateful.py
β βββ gen_data_medical_vtqa_single.py
β βββ gen_data_medical_vtqa_mix.py
βββ finetune/
β βββ federated_learning/
β β βββ __init__.py
β β βββ fed_global.py
β β βββ fed_utils.py
β βββ __init__.py
β βββ dataset.py
β βββ finetune_lora.sh
β βββ finetune.py
β βββ trainer.py
βββ eval_crisismmd_aug.py
βββ eval_crisismmd.py
βββ eval_hateful_aug.py
βββ eval_hateful.py
βββ eval_medical_gpt_slake.py
βββ eval_medical_gpt.py
βββ eval_medical_slake.py
βββ eval_medical.py
βββ vqa_eval_slake.py
βββ vqa_eval.py
βββ vqa_slake.py
βββ vqa.py
βββ start.sh
conda create -n FedMLLM python=3.10 -y
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
cd data_gen/
python data_partition_crisismmd.py
python gen_data_crisismmd.py # aligned modal scenario
python gen_data_crisismmd_missing.py # missing modal scenario
python gen_data_crisismmd_missing_aug.py # missing modal scenario with prompt strategy
python gen_data_crisismmd_single.py # cross modal scenario
python gen_data_crisismmd_mix.py # hybrid modal scenario
python data_process_medalpaca.py
python data_process_vqarad.py
python gen_data_medical_vtqa_mix.py
python gen_data_medical_vtqa_single.py
sh start.sh
@article{xu2024fedmllm,
title={FedMLLM: Federated Fine-tuning MLLM on Multimodal Heterogeneity Data},
author={Xu, Binqian and Shu, Xiangbo and Mei, Haiyang and Xie, Guosen and Fernando, Basura and Tang, Jinhui},
journal={arXiv preprint arXiv:2411.14717},
year={2024}
}
@inproceedings{xu2025you,
title={You Only Communicate Once: One-shot Federated Low-Rank Adaptation of MLLM},
author={Binqian Xu, Haiyang Mei, Zechen Bai, Jinjin Gong, Rui Yan, Guo-Sen Xie, Yazhou Yao, Basura Fernando, Xiangbo Shu},
booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems}
}
This repo is based on MiniCPM-V, OpenFedLLM, and PeFoMed thanks to the original authors for their works!
36 commits
Python
98.3%
Shell
1.7%
FedMLLM: Federated Fine-tuning MLLM on Multimodal Heterogeneity Data arXiv
You Only Communicate Once: One-shot Federated Learning for Multimodal Large Language Models
π Accepted at NeurIPS 2025
.
βββ root/
βββ data/
β βββ hateful_memes/
β β βββ minicpmv_data/
β β β βββ modality-missing/
β β β β βββ mrate-0.3/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ mrate-0.4/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ mrate-0.5/
β β β β βββ partition-alpha0.5-clt10
β β β βββ modality-single/
β β β β βββ image-3/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ image-5/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ image-7/
β β β β βββ partition-alpha0.5-clt10
β β β βββ modality-mix/
β β β β βββ qrate-0.2/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ qrate-0.3/
β β β β β βββ partition-alpha0.5-clt10
β β β β βββ qrate-0.4/
β β β β βββ partition-alpha0.5-clt10
β β β βββ partition-alpha5.0-clt10
β β β βββ partition-alpha1.0-clt10
β β β βββ partition-alpha0.5-clt10
β β βββ raw_data/ # Extracted files of the downloaded dataset
β β βββ partition-alpha5.0-clt10
β β βββ partition-alpha1.0-clt10
β β βββ partition-alpha0.5-clt10
β βββ crisis-mmd # Consistent with the *hateful_memes* folder structure.
βββ code/
βββ data_gen/
β βββ data_partition_crisismmd.py
β βββ data_partition_hateful.py
β βββ data_process_medalpaca.py
β βββ data_process_vqarad.py
β βββ gen_data_crisismmd_missing_aug.py
β βββ gen_data_crisismmd_missing.py
β βββ gen_data_crisismmd_mix_aug.py
β βββ gen_data_crisismmd_mix.py
β βββ gen_data_crisismmd_single_aug.py
β βββ gen_data_crisismmd_single.py
β βββ gen_data_crisismmd.py
β βββ gen_data_hateful_missing_aug.py
β βββ gen_data_hateful_missing.py
β βββ gen_data_hateful_mix_aug.py
β βββ gen_data_hateful_mix.py
β βββ gen_data_hateful_single_aug.py
β βββ gen_data_hateful_single.py
β βββ gen_data_hateful.py
β βββ gen_data_medical_vtqa_single.py
β βββ gen_data_medical_vtqa_mix.py
βββ finetune/
β βββ federated_learning/
β β βββ __init__.py
β β βββ fed_global.py
β β βββ fed_utils.py
β βββ __init__.py
β βββ dataset.py
β βββ finetune_lora.sh
β βββ finetune.py
β βββ trainer.py
βββ eval_crisismmd_aug.py
βββ eval_crisismmd.py
βββ eval_hateful_aug.py
βββ eval_hateful.py
βββ eval_medical_gpt_slake.py
βββ eval_medical_gpt.py
βββ eval_medical_slake.py
βββ eval_medical.py
βββ vqa_eval_slake.py
βββ vqa_eval.py
βββ vqa_slake.py
βββ vqa.py
βββ start.sh
conda create -n FedMLLM python=3.10 -y
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
cd data_gen/
python data_partition_crisismmd.py
python gen_data_crisismmd.py # aligned modal scenario
python gen_data_crisismmd_missing.py # missing modal scenario
python gen_data_crisismmd_missing_aug.py # missing modal scenario with prompt strategy
python gen_data_crisismmd_single.py # cross modal scenario
python gen_data_crisismmd_mix.py # hybrid modal scenario
python data_process_medalpaca.py
python data_process_vqarad.py
python gen_data_medical_vtqa_mix.py
python gen_data_medical_vtqa_single.py
sh start.sh
@article{xu2024fedmllm,
title={FedMLLM: Federated Fine-tuning MLLM on Multimodal Heterogeneity Data},
author={Xu, Binqian and Shu, Xiangbo and Mei, Haiyang and Xie, Guosen and Fernando, Basura and Tang, Jinhui},
journal={arXiv preprint arXiv:2411.14717},
year={2024}
}
@inproceedings{xu2025you,
title={You Only Communicate Once: One-shot Federated Low-Rank Adaptation of MLLM},
author={Binqian Xu, Haiyang Mei, Zechen Bai, Jinjin Gong, Rui Yan, Guo-Sen Xie, Yazhou Yao, Basura Fernando, Xiangbo Shu},
booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems}
}
This repo is based on MiniCPM-V, OpenFedLLM, and PeFoMed thanks to the original authors for their works!
36 commits
Python
98.3%
Shell
1.7%