Voici une lecture mise à jour pour le référentiel Pflora-Lib:
Figure 1: Un exemple pour Fedavg. Vous pouvez créer un scénario à l'aide de generate_DATA.py et exécuter un algorithme à l'aide de main.py , clientNAME.py et serverNAME.py .
Pflora-Lib est une bibliothèque d'algorithmes conviviale avec une plate-forme d'évaluation intégrée pour la recherche sur l'apprentissage fédéré (FL), en se concentrant sur la personnalisation et l'efficacité à l'aide d'adaptation de faible rang (LORA).
Diagramme de sirène pour un processus LORA-Fédéral. Ce diagramme comprendra plus d'étapes et de composants pour mieux représenter le processus complet:
graphique TD
Sub-Graph "Client 1"
A1 [ensemble de données local] -> B1 [train]
B1 -> C1 [adaptateur LORA]
C1 -> D1 [Évaluer]
D1 -> e1 [Envoyer des mises à jour]
fin
Sub-Graph "Client 2"
A2 [ensemble de données local] -> B2 [train]
B2 -> C2 [adaptateur LORA]
C2 -> D2 [Évaluer]
D2 -> e2 [Envoyer des mises à jour]
fin
Sub-Graph "Client N"
Un [ensemble de données local] -> bn [train]
Bn -> cn [adaptateur lora]
Cn -> dn [évaluer]
Dn -> en [envoyer des mises à jour]
fin
Sub-Graph "Global Server"
F [recevoir des mises à jour]
G [adaptateurs de Lora agrégés]
H [Mettre à jour le modèle global]
Je [distribue le modèle mis à jour]
fin
E1 -> f
E2 -> f
En -> f
F -> g
G -> h
H -> je
I -> | nouveau tour | B1
I -> | nouveau tour | B2
I -> | nouveau tour | BN
Sub-Graph "Composants système"
J [generate_mnist.py]
K [Clientlora.py]
L [serverlora.py]
M [main.py]
fin
J -> | Générer des ensembles de données | A1
J -> | Générer des ensembles de données | A2
J -> | Générer des ensembles de données | UN
K -> | Définir le comportement du client | B1
K -> | Définir le comportement du client | B2
K -> | Définir le comportement du client | BN
L -> | Définir le comportement du serveur | F
L -> | Définir le comportement du serveur | G
L -> | Définir le comportement du serveur | H
L -> | Définir le comportement du serveur | je
M -> | Configurer les hyperparamètres | J
M -> | Configurer les hyperparamètres | K
M -> | Configurer les hyperparamètres | L
Ce diagramme détaillé de sirène représente:
Plusieurs clients (1, 2 et n) avec leurs ensembles de données et processus locaux:
Les processus du serveur mondial:
Les composants du système:
generate_MNIST.py pour la génération de jeux de donnéesclientlora.py pour définir le comportement du clientserverlora.py pour définir le comportement du serveurmain.py pour configurer des hyperparamètres et orchestrer le processusLe flux de données et de contrôle entre ces composants
La nature cyclique du processus d'apprentissage fédéré, le modèle mis à jour étant renvoyé aux clients pour une nouvelle série de formation
Ce diagramme offre une vue plus complète du processus LORA-Federal, montrant à la fois le cycle d'apprentissage fédéré de haut niveau et les composants spécifiques impliqués dans la mise en œuvre avec des adaptations LORA.
conda env create -f env_cuda_latest.yamlgit clone https://github.com/chenxingqiang/PFLoRA-lib.git cd ./system
python main.py -data MNIST -m cnn -algo FedAvg -gr 2000 -did 0
-cdr-tsr-ssr-tth Ajouter facilement nouveau:
Si vous utilisez pflora-lib dans votre recherche, veuillez citer les articles pertinents:
@inproceedings{zhang2023fedala,
title={Fedala: Adaptive local aggregation for personalized federated learning},
author={Zhang, Jianqing and Hua, Yang and Wang, Hao and Song, Tao and Xue, Zhengui and Ma, Ruhui and Guan, Haibing},
booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
volume={37},
number={9},
pages={11237--11244},
year={2023}
}
@inproceedings{Zhang2023fedcp,
author = {Zhang, Jianqing and Hua, Yang and Wang, Hao and Song, Tao and Xue, Zhengui and Ma, Ruhui and Guan, Haibing},
title = {FedCP: Separating Feature Information for Personalized Federated Learning via Conditional Policy},
year = {2023},
booktitle = {Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining}
}
@inproceedings{zhang2023gpfl,
title={GPFL: Simultaneously Learning Global and Personalized Feature Information for Personalized Federated Learning},
author={Zhang, Jianqing and Hua, Yang and Wang, Hao and Song, Tao and Xue, Zhengui and Ma, Ruhui and Cao, Jian and Guan, Haibing},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={5041--5051},
year={2023}
}
@inproceedings{
zhang2023eliminating,
title={Eliminating Domain Bias for Federated Learning in Representation Space},
author={Jianqing Zhang and Yang Hua and Jian Cao and Hao Wang and Tao Song and Zhengui XUE and Ruhui Ma and Haibing Guan},
booktitle={Thirty-seventh Conference on Neural Information Processing Systems},
year={2023},
url={https://openreview.net/forum?id=nO5i1XdUS0}
}
Pour plus d'informations et des instructions d'utilisation détaillées, veuillez vous référer à la documentation complète.