PFLoRA lib
1.0.0
Pflora-LIBリポジトリの更新されたREADMEは次のとおりです。
図1:FEDAVGの例。 generate_DATA.pyを使用してシナリオを作成し、 main.py 、 clientNAME.py 、およびserverNAME.pyを使用してアルゴリズムを実行できます。
PFLORA-LIBは、フェデレーションラーニング(FL)研究のための統合評価プラットフォームを備えたユーザーフレンドリーなアルゴリズムライブラリであり、低ランク適応(LORA)を使用したパーソナライズと効率に焦点を当てています。
Lora-Federalプロセスの人魚図。この図には、完全なプロセスをよりよく表すためのより多くのステップとコンポーネントが含まれます。
グラフTD
サブグラフ「クライアント1」
a1 [ローカルデータセット] - > b1 [列車]
b1-> c1 [loraアダプター]
c1-> d1 [評価]
d1-> e1 [更新を送信]
終わり
サブグラフ「クライアント2」
A2 [ローカルデータセット] - > B2 [トレイン]
b2-> c2 [loraアダプター]
c2-> d2 [評価]
d2-> e2 [更新を送信]
終わり
サブグラフ「クライアントn」
[ローカルデータセット] - > bn [トレイン]
bn-> cn [loraアダプター]
cn-> dn [評価]
dn-> en [更新を送信]
終わり
サブグラフ「グローバルサーバー」
f [更新を受信]
g [集約LORAアダプター]
H [グローバルモデルを更新]
I [更新されたモデルを配信]
終わり
E1-> f
E2-> f
en-> f
f-> g
g-> h
h-> i
i - > |新しいラウンド| B1
i - > |新しいラウンド| B2
i - > |新しいラウンド| bn
サブグラフ「システムコンポーネント」
J [Generate_mnist.py]
K [clientlora.py]
l [serverlora.py]
M [main.py]
終わり
j-> |データセットを生成| A1
j-> |データセットを生成| A2
j-> |データセットを生成| an
k-> |クライアントの動作を定義します| B1
k-> |クライアントの動作を定義します| B2
k-> |クライアントの動作を定義します| bn
l-> |サーバーの動作を定義します| f
l-> |サーバーの動作を定義します| g
l-> |サーバーの動作を定義します| h
l-> |サーバーの動作を定義します|私
m - > |ハイパーパラメーターを構成| j
m - > |ハイパーパラメーターを構成| k
m - > |ハイパーパラメーターを構成| l
この詳細な人魚図は、次のことを表しています。
ローカルデータセットとプロセスを備えた複数のクライアント(1、2、およびn):
グローバルサーバーのプロセス:
システムコンポーネント:
generate_MNIST.pyclientlora.pyserverlora.pymain.pyこれらのコンポーネント間のデータの流れと制御
更新されたモデルが新しいトレーニングのためにクライアントに送り返される連合学習プロセスの周期的な性質
この図は、Lora-Federalプロセスのより包括的なビューを提供し、高レベルのフェデレーション学習サイクルと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 簡単に追加する:
研究でPflora-Libを使用している場合は、関連する論文を引用してください。
@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}
}
詳細および詳細な使用手順については、完全なドキュメントを参照してください。