开放联邦学习(OpenFL)是一个Python 3联邦学习框架。OpenFL旨在成为一个灵活、可扩展且易于学习的数据科学家工具。OpenFL由Linux基金会托管,致力于成为一个社区驱动的项目,欢迎对项目做出贡献。
在寻找也被称为OpenFL的Open Flash Library项目?请在这里找到它!
安装
您可以简单地从PyPI安装OpenFL:
$ pip install openfl
更多安装选项请查看在线文档。
入门
OpenFL使数据科学家能够按照以下工作流程之一设置联邦学习实验:
-
基于Director的工作流程: 设置长期组件以连续运行多个实验。当预期对模型、数据加载器或超参数进行多次更改时,推荐用于FL研究。
-
基于Aggregator的工作流程: 定义一个实验并手动分发。所有参与者可以在执行前验证模型代码和FL计划。实验完成后联邦终止。
-
工作流接口(实验性): 创建超越传统水平联邦学习的复杂实验。查看实验性教程,了解如何协调协作者模型训练后的聚合器验证,执行全局差分隐私联邦学习,使用隐私计量器测量协作者训练后模型中嵌入的私人信息量,或为联邦模型添加水印。
测试OpenFL的最快方法是按照我们的教程进行操作。
阅读博客文章,了解使用OpenFL训练模型的步骤。
查看在线文档以启动您的第一个联邦。
要求
- Ubuntu Linux 18.04+
- Python 3.7+(推荐使用Virtualenv)。
OpenFL支持使用TensorFlow 2+或PyTorch 1.3+进行训练,这些需要单独安装。用户可以根据需要扩展支持的深度学习框架列表。
项目概述
什么是联邦学习
联邦学习是一种分布式机器学习方法,它使得在不共享敏感数据(如患者记录、财务数据或机密信息)的情况下进行机器学习项目合作成为可能。跨联邦所需的最小数据移动仅限于模型参数及其更新。
背景
OpenFL建立在Intel和宾夕法尼亚大学(UPenn)Bakas实验室之间的合作基础上,旨在开发联邦肿瘤分割(FeTS, www.fets.ai)平台(资助编号: U01-CA242871)。
FeTS的资助来自国家卫生研究院(NIH)下属国家癌症研究所(NCI)的癌症研究信息技术(ITCR)项目,授予当时隶属于UPenn生物医学图像计算与分析中心(CBICA)、现在领导印第安纳大学(IU)计算病理学部门的Spyridon Bakas博士(首席研究员)。
FeTS是一个拥有国际合作伙伴的真实医疗联邦学习平台。原始的OpenFederatedLearning项目和OpenFL旨在作为FeTS平台的后端,OpenFL的开发人员和研究人员继续与IU在FeTS项目上密切合作。一个例子是FeTS-AI/Front-End,它将该团队的医疗AI专业知识与OpenFL框架相结合,为医学影像创建联邦学习解决方案。
尽管最初是为医学影像开发的,但OpenFL的设计不受用例、行业和机器学习框架的限制。
你可以在以下文章中找到更多详细信息:
- Pati S, et al., 2022
- Reina A, et al., 2021
- Sheller MJ, et al., 2020
- Sheller MJ, et al., 2019
- Yang Y, et al., 2019
- McMahan HB, et al., 2016
支持的聚合算法
算法名称 | 论文 | PyTorch实现 | TensorFlow实现 | 其他框架兼容性 | 使用方法 |
---|---|---|---|---|---|
FedAvg | McMahan et al., 2017 | ✅ | ✅ | ✅ | 文档 |
FedProx | Li et al., 2020 | ✅ | ✅ | ❌ | 文档 |
FedOpt | Reddi et al., 2020 | ✅ | ✅ | ✅ | 文档 |
FedCurv | Shoham et al., 2019 | ✅ | ❌ | ❌ | 文档 |
支持
请从2022年12月1日和2日开始加入我们的双月社区会议!
与OpenFL背后的部分团队成员会面。
我们将介绍我们的路线图,开放问答环节,并欢迎分享想法。
社区会议的日历和链接在这里
订阅OpenFL邮件列表 openfl-announce@lists.lfaidata.foundation
期待您的参与!
我们也随时欢迎通过以下方式提出问题、报告问题和提供建议:
许可证
本项目采用Apache License Version 2.0许可。通过为项目做出贡献,您同意其中的许可和版权条款,并根据这些条款发布您的贡献。
引用
@article{openfl_citation,
author={Foley, Patrick and Sheller, Micah J and Edwards, Brandon and Pati, Sarthak and Riviera, Walter and Sharma, Mansi and Moorthy, Prakash Narayana and Wang, Shi-han and Martin, Jason and Mirhaji, Parsa and Shah, Prashant and Bakas, Spyridon},
title={OpenFL: the open federated learning library},
journal={Physics in Medicine \& Biology},
url={http://iopscience.iop.org/article/10.1088/1361-6560/ac97d9},
year={2022},
doi={10.1088/1361-6560/ac97d9},
publisher={IOP Publishing}
}