Aqui está um readme atualizado para o repositório Pflora-Lib:
Figura 1: Um exemplo para o Fedavg. Você pode criar um cenário usando generate_DATA.py e executar um algoritmo usando main.py , clientNAME.py e serverNAME.py .
O Pflora-Lib é uma biblioteca de algoritmo fácil de usar, com uma plataforma de avaliação integrada para pesquisa federada de aprendizado (FL), com foco na personalização e eficiência usando a adaptação de baixo rank (LORA).
Diagrama de sereia para um processo de Lora-Federal. Este diagrama incluirá mais etapas e componentes para representar melhor o processo completo:
Gráfico TD
SUBRAPHO "CLIENTE 1"
A1 [conjunto de dados local] -> B1 [trem]
B1 -> C1 [adaptador Lora]
C1 -> D1 [Avalie]
D1 -> E1 [Enviar atualizações]
fim
SUBRAPHE "CLIENTE 2"
A2 [conjunto de dados local] -> B2 [trem]
B2 -> C2 [adaptador Lora]
C2 -> D2 [Avalie]
D2 -> E2 [Enviar atualizações]
fim
SUBRAPHE "CLIENTE N"
Um [conjunto de dados local] -> Bn [trem]
BN -> CN [adaptador Lora]
CN -> DN [Avalie]
DN -> EN [Enviar atualizações]
fim
subgraff "servidor global"
F [Receber atualizações]
G [adaptadores agregados lora]
H [Atualizar modelo global]
Eu [distribui modelo atualizado]
fim
E1 -> f
E2 -> f
Pt -> f
F -> g
G -> h
H -> i
I -> | Nova rodada | B1
I -> | Nova rodada | B2
I -> | Nova rodada | Bn
subgraf "componentes do sistema"
J [generate_mnist.py]
K [clientlora.py]
L [serverlora.py]
M [main.py]
fim
J -> | Gere conjuntos de dados | A1
J -> | Gere conjuntos de dados | A2
J -> | Gere conjuntos de dados | UM
K -> | Defina o comportamento do cliente | B1
K -> | Defina o comportamento do cliente | B2
K -> | Defina o comportamento do cliente | Bn
L -> | Defina o comportamento do servidor | F
L -> | Defina o comportamento do servidor | G
L -> | Defina o comportamento do servidor | H
L -> | Defina o comportamento do servidor | EU
M -> | Configure hiperparameters | J
M -> | Configure hiperparameters | K
M -> | Configure hiperparameters | L
Este diagrama de sereia detalhado representa:
Vários clientes (1, 2 e n) com seus conjuntos de dados e processos locais:
Os processos do servidor global:
Os componentes do sistema:
generate_MNIST.py para geração de dadosclientlora.py para definir o comportamento do clienteserverlora.py para definir o comportamento do servidormain.py para configurar hiperparâmetros e orquestrar o processoO fluxo de dados e controle entre esses componentes
A natureza cíclica do processo de aprendizado federado, com o modelo atualizado sendo enviado de volta aos clientes para uma nova rodada de treinamento
Este diagrama fornece uma visão mais abrangente do processo de Lora-Federal, mostrando o ciclo de aprendizado federado de alto nível e os componentes específicos envolvidos na implementá-lo com as adaptações da 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 Adicione facilmente novo:
Se você usar o Pflora-Lib em sua pesquisa, cite os artigos relevantes:
@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}
}
Para obter mais informações e instruções de uso detalhadas, consulte a documentação completa.