2小时入门「个性化联邦学习」,上交清华开源斩获1700+星 | JMLR'25
创始人
2025-07-12 13:12:51

新智元报道

编辑:LRST

【新智元导读】上海交通大学和清华大学的研究人员开源了一个面向初学者的个性化联邦学习代码库PFLlib,旨在降低研究门槛并提供统一实验环境。PFLlib包含39种联邦学习算法、3种数据异质场景和24个数据集,支持快速模拟多达500个设备的训练场景,并提供隐私保护能力评估工具。

2021年开始,作为新型分布式机器学习框架,联邦学习逐渐出现在人们视野。

由于不同论文的实验设置(如数据集、模型结构、数据异质种类、客户机数量、超参数设定等)不同,导致PFL(个性化联邦学习算法)论文中的大部分实验数据不能复用。

同时,有相当一部分的论文,其代码并不开源,使得我们无法通过在新场景下运行代码来获得实验数据。

此外,在PFL领域逐渐火热起来后,对比实验往往需要比较十几个相关方法,即使每个方法有自己的开源代码,为这些具有不同风格、结构、规范的代码进行新实验设置的适配需要花费大量的精力和时间,使得刚入门PFL的研究者无法关注在PFL本身的研究上。

最近,上海交通大学和清华大学的研究人员在GitHub上开源了一个可2小时快速入门的个联邦学习代码库PFLlib,最近中稿JMLR,目前已经获得1700+个Star和300+个Fork,在业内具有一定影响力。

论文链接:https://www.jmlr.org/papers/v26/23-1634.html

代码链接:https://github.com/TsingZ0/PFLlib

项目官网:https://www.pfllib.com/

截至目前,PFLlib囊括了39个联邦学习算法、3大类数据异质场景、24个数据集(3个模态)。

开源该仓库的主要目的是:

(1)降低初学者研究个性化联邦学习算法的门槛;

(2)提供一个统一的实验环境,在多种场景和多个方面对不同个性化联邦学习算法进行评估,为个性化联邦学习算法在具体场景中应用时的选择提供参考;

(3)为个性化联邦学习算法的研究者们提供一个可以交流的平台,在交流的过程中互相学习,碰撞出新的火花。

PFLlib简介

总的来说,PFLlib拥有以下几个特性:

GPU资源需求较少。使用实验中最常用的4层CNN网络,可以在NVIDIA GeForce RTX 3090 GPU上,仅用5.08GB显存模拟500个设备同步训练的场景。

提供了较为全面的联邦学习算法仓库和实验环境。PFLlib总共拥有34个联邦学习算法(其中包含27个个性化联邦学习算法)、3大类数据异质场景、20个数据集。

代码结构简单,易于入手和阅读,易于添加新算法。工具函数存放在utils文件夹中。

基础的设备和服务器操作分别存放在clientbase.pyserverbase.py中。

如图3,以在MNIST数据集上实现最基础的FedAvg[2]算法为例,只需要编写generate_MNIST.py来生成实验场景,然后编写clientavg.pyserveravg.py来实现FedAvg训练流程,再将FedAvg在main.py配置一下,即可通过命令行运行FedAvg算法。

提供了一种基于DLG[3]的隐私攻击和隐私泄露度量指标,用于度量多数论文中没提及的PFL算法的隐私保护能力。

39个联邦学习算法

根据联邦学习算法中用到的技术,研究人员对37个PFL算法进行了分类,具体分类结果见下表。

开源仓库中还包含了社区贡献的新算法,如FedAS(CVPR'24)、FedCross(ICDE'24)等。

3大场景和24个数据集(3个模态)

PFLlib支持三种类型的场景,并配备了多个数据集,同时将通用的数据集划分代码迁移至./dataset/utils目录,方便后续扩展。

如果需要其他数据集,只需编写下载代码,并调用这些工具函数即可。

标签倾斜(label skew) 场景

研究人员引入了16个知名数据集:

  • MNISTEMNISTFEMNISTFashion-MNIST

  • Cifar10Cifar100

  • AG NewsSogou News

  • Tiny-ImageNetCountry211Flowers102Stanford CarsGTSRB

  • Shakespeare

  • COVIDxkvasir

这些数据集均可被轻松划分为IID(独立同分布非IID(非独立同分布)两种版本。

在非IID情形下,区分两种分布方式:

  1. 病态式非IID(Pathological non-IID):例如在MNIST数据集中,每个客户端仅拥有2类标签的数据,而整个数据集包含10类标签。这会导致客户端之间的数据极度倾斜。

  2. 实际场景非IID(Practical non-IID):采用Dirichlet分布建模数据分布,生成更加真实且不极端的数据不平衡。

此外,PFLlib提供balance参数选项,可使每个客户端拥有相同数量的数据。

特征偏移(feature shift)场景

研究人员使用了3个在领域自适应(Domain Adaptation)中广泛使用的数据集:

  • Amazon Review

  • Digit5

  • DomainNet

真实世界(real-world) 场景

真实世界场景中,引入了5个天然划分好的数据集:

  • Camelyon17(5家医院,2类标签)

  • iWildCam(194个红外摄像头,158类标签)

  • Omniglot(20个客户端,50类标签)

  • PAMAP2(9个客户端,12类标签)

关于物联网场景(IoT中的数据集和联邦学习算法的更多细节,请参考 FL-IoT 项目。

代码链接:https://github.com/TsingZ0/FL-IoT

部分实验结果

出于验证PFLlib中附带实验平台的可用性,根据GPFL中的默认实验设置,研究人员对部分算法在部分常见场景中的表现进行了展示,如下表所示(实验结果仅供参考)。

参考资料:

[1] Zhang, Jianqing, et al. "Fedala: Adaptive local aggregation for personalized federated learning." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 37. No. 9. 2023.

相关内容

热门资讯

曝光!福州这些车占用专用道已被... 早晚高峰 车流如织 偏偏有人“不走寻常路” 把车开上公交车道 试图在夹缝中“抢”时间 对此类...
毕业后档案如何转递 哪些机构可... 2026年高校毕业生档案转递接收服务专项行动于6月中旬至10月开展。对于高校毕业生来说,档案在校时被...
理想“撤退”,增程“失速”,为... 伴随着理想汽车把“增程的尽头”变成了“纯电的起点”,理想i6的确是越卖越好了,已连续三个月突破月销2...
安德利果汁(02218.HK)... 格隆汇6月25日丨安德利果汁(02218.HK)公告,公司分别于2026年3月27日、2026年5月...
现在连催收公司都想借AI上市了 (来源:深蓝财经)近日,中国证监会主席吴清在2026陆家嘴论坛发表主题演讲时表示,要“持续提升监管效...