Aquí hay un README actualizado para el repositorio PFLora-LIB:
Figura 1: Un ejemplo para FedAVG. Puede crear un escenario usando generate_DATA.py y ejecutar un algoritmo usando main.py , clientNAME.py y serverNAME.py .
Pflora-LIB es una biblioteca de algoritmo fácil de usar con una plataforma de evaluación integrada para la investigación de aprendizaje federado (FL), centrándose en la personalización y la eficiencia utilizando la adaptación de bajo rango (LORA).
Diagrama de sirena para un proceso Lora-Federal. Este diagrama incluirá más pasos y componentes para representar mejor el proceso completo:
Gráfico TD
Subgraph "Cliente 1"
A1 [conjunto de datos local] -> B1 [tren]
B1 -> C1 [adaptador Lora]
C1 -> D1 [Evaluar]
D1 -> E1 [Enviar actualizaciones]
fin
Subgraph "Cliente 2"
A2 [conjunto de datos local] -> B2 [tren]
B2 -> C2 [adaptador Lora]
C2 -> D2 [Evaluar]
D2 -> E2 [Enviar actualizaciones]
fin
Subgraph "Cliente N"
Un [conjunto de datos local] -> Bn [tren]
BN -> CN [adaptador Lora]
CN -> DN [Evaluar]
DN -> EN [Enviar actualizaciones]
fin
Subgraph "Servidor global"
F [recibir actualizaciones]
G [adaptadores de lora agregados]
H [Modelo global de actualización]
Yo [distribuir modelo actualizado]
fin
E1 -> F
E2 -> F
Es -> f
F -> g
G -> H
H -> yo
I -> | nueva ronda | B1
I -> | nueva ronda | B2
I -> | nueva ronda | Bn
Subgraph "Componentes del sistema"
J [Generate_Mnist.py]
K [Clientlora.py]
L [serverlora.py]
M [main.py]
fin
J -> | Generar conjuntos de datos | A1
J -> | Generar conjuntos de datos | A2
J -> | Generar conjuntos de datos | UN
K -> | Defina el comportamiento del cliente | B1
K -> | Defina el comportamiento del cliente | B2
K -> | Defina el comportamiento del cliente | Bn
L -> | Defina el comportamiento del servidor | F
L -> | Defina el comportamiento del servidor | GRAMO
L -> | Defina el comportamiento del servidor | H
L -> | Defina el comportamiento del servidor | I
M -> | Configurar hiperparametros | J
M -> | Configurar hiperparametros | K
M -> | Configurar hiperparametros | L
Este diagrama detallado de sirena representa:
Múltiples clientes (1, 2 y N) con sus conjuntos de datos y procesos locales:
Los procesos del servidor global:
Los componentes del sistema:
generate_MNIST.py para la generación de conjuntos de datosclientlora.py para definir el comportamiento del clienteserverlora.py para definir el comportamiento del servidormain.py para configurar hiperparámetros y orquestar el procesoEl flujo de datos y el control entre estos componentes
La naturaleza cíclica del proceso de aprendizaje federado, con el modelo actualizado que se envía de regreso a los clientes para una nueva ronda de capacitación
Este diagrama proporciona una visión más completa del proceso Lora-Federal, que muestra tanto el ciclo de aprendizaje federado de alto nivel como los componentes específicos involucrados en la implementación de adaptaciones de 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 Agregar fácilmente nuevo:
Si usa Pflora-LIB en su investigación, cite los documentos 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 obtener más información e instrucciones de uso detalladas, consulte la documentación completa.