Hier ist ein aktualisierter Readme für das pflora-lib-Repository:
Abbildung 1: Ein Beispiel für Fedavg. Sie können ein Szenario mit generate_DATA.py erstellen und einen Algorithmus mit main.py , clientNAME.py und serverNAME.py ausführen.
PFLORA-LIB ist eine benutzerfreundliche Algorithmusbibliothek mit einer integrierten Evaluierungsplattform für die Forschung (Föderated Learning), die sich auf Personalisierung und Effizienz unter Verwendung von Anpassungen mit niedriger Rang (LORA) konzentriert.
Meerjungfrau-Diagramm für einen Lora-Federal-Prozess. Dieses Diagramm enthält mehr Schritte und Komponenten, um den vollständigen Prozess besser darzustellen:
Graph TD
Subgraph "Client 1"
A1 [Lokaler Datensatz] -> B1 [Zug]
B1 -> C1 [Lora -Adapter]
C1 -> D1 [Evaluieren]
D1 -> E1 [Aktualisierungen senden]
Ende
Subgraph "Client 2"
A2 [Lokaler Datensatz] -> B2 [Zug]
B2 -> C2 [Lora -Adapter]
C2 -> D2 [Evaluieren]
D2 -> E2 [Aktualisierungen senden]
Ende
Subgraph "Client n"
Ein [lokaler Datensatz] -> Bn [Zug]
Bn -> CN [Lora -Adapter]
Cn -> dn [evaluate]
Dn -> en [updates senden]
Ende
Subgraph "Globaler Server"
F [Empfangen Sie Updates]
G [aggregierte Lora -Adapter]
H [Globales Modell aktualisieren]
I [Aktualisiertes Modell verteilen]
Ende
E1 -> f
E2 -> f
En -> f
F -> g
G -> h
H -> i
I -> | Neue Runde | B1
I -> | Neue Runde | B2
I -> | Neue Runde | Bn
Subgraph "Systemkomponenten"
J [generate_mnist.py]
K [Clientlora.py]
L [serverlora.py]
M [main.py]
Ende
J -> | Datensätze generieren | A1
J -> | Datensätze generieren | A2
J -> | Datensätze generieren | EIN
K -> | das Kundenverhalten definieren | B1
K -> | das Kundenverhalten definieren | B2
K -> | das Kundenverhalten definieren | Bn
L -> | Serververhalten definieren | F
L -> | Serververhalten definieren | G
L -> | Serververhalten definieren | H
L -> | Serververhalten definieren | ICH
M -> | Konfigurieren Sie Hyperparameter | J
M -> | Konfigurieren Sie Hyperparameter | K
M -> | Konfigurieren Sie Hyperparameter | L
Dieses detaillierte Meerjungfrau -Diagramm stellt:
Mehrere Clients (1, 2 und N) mit ihren lokalen Datensätzen und Prozessen:
Die Prozesse des globalen Servers:
Die Systemkomponenten:
generate_MNIST.py für die Datensatzgenerierungclientlora.py zur Definition des Kundenverhaltensserverlora.py zum Definieren von Serververhaltenmain.py zur Konfiguration von Hyperparametern und zur orchestrierung des ProzessesDer Datenfluss und die Kontrolle zwischen diesen Komponenten
Die zyklische Natur des Föderierten Lernprozesses, wobei das aktualisierte Modell für eine neue Runde des Trainings an Kunden zurückgesandt wird
Dieses Diagramm bietet eine umfassendere Sicht auf den Lora-Federal-Prozess und zeigt sowohl den hochrangigen Verbundkreislauf als auch die spezifischen Komponenten, die an der Implementierung mit LORA-Anpassungen beteiligt sind.
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 Einfach neu hinzufügen:
Wenn Sie pflora-lib in Ihrer Forschung verwenden, zitieren Sie bitte die entsprechenden Artikel:
@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}
}
Weitere Informationen und detaillierte Verwendungsanweisungen finden Sie in der vollständigen Dokumentation.