基于PyTorch的联邦学习开源框架FedLab:加速FL算法验证

基于PyTorch的联邦学习开源框架FedLab:加速FL算法验证_第1张图片

文章目录

    • FL框架调研
    • 我们的FedLab

FL框架调研

近两年来联邦学习federated learning(FL)非常火热,也有很多开源的联邦学习框架。

  • 微众银行的FATE
    • FATE文档
    • 覆盖横向、纵向、迁移联邦学习;实现了样本安全匹配,样本切分、特征处理和筛选、LR/XGB/DNN等常用算法,模型评估与评分卡,模型预测(serving),联邦推荐等;文档丰富
    • 工业级框架,比较繁重,上手比较困难,不易于实验室环境部署
  • OpenMind的PySyft: 由openmind大力推广,PySyft 在主要深度学习框架(如 PyTorch 和 TensorFlow)中使用联邦学习、差分隐私和加密计算(如多方计算 (MPC) 和同态加密 (HE))将私有数据与模型训练分离。更偏重加密与安全计算
  • LatticeX Foundation的Rosetta: 基于TensorFlow的隐私计算框架,陆续集成密码学、联邦学习和可信执行环境等主流的隐私计算技术,偏向密码学以及安全计算
  • 百度的PaddleFL: 基于PaddlePaddle的开源联邦学习框架。用PaddleFL在大规模分布式集群中部署联邦学习系统很容易。PaddleFL提供很多联邦学习策略及其在计算机视觉、自然语言处理、推荐算法等领域的应用。此外,PaddleFL还将提供传统机器学习训练策略的应用,例如多任务学习、联邦学习环境下的迁移学习。
  • 字节跳动的FedLearner:协作式机器学习框架,可以对机构之间分布的数据进行联合建模。已经在电商、金融、教育等行业多个落地场景实际应用。
  • USC南加大Chaoyang He主导的FedML:提供的demo和benchmark比较丰富,他们还提供了讨论社群,合作范围广
  • 剑桥大学的flower:底层是gRPC满足跨编程语言,也有自己的讨论社群,之前有开在线分享会

我们的FedLab

基于对这些开源联邦学习框架的调研,我们发现尽管存在这些开源框架,很多FL研究者的源码并没有使用他们。

为了减轻研究者实现联邦学习算法的负担,我们向大家介绍非常灵活的联邦学习框架FedLab。FedLab为联邦学习的模拟实验提供了必要的模块,包括通信、压缩、模型优化、数据切分,及其他功能性模块。用户们可以像使用乐高积木一样,根据需求构建他们的联邦模拟环境。我们还提供了一些联邦学习的基准算法的实现,方便用户能更好的理解并使用FedLab。

这个工作主要适用于联邦学习的研究者在实验室集群的环境下快速验证联邦学习通信和优化相关的idea,以及联邦学习初学者上手联邦学习的PyTorch实现

可以通过以下资料了解FedLab:

GitHub:https://github.com/SMILELab-FL/FedLab
文档主页:fedlab.readthedocs.io

欢迎大家反馈遇到的问题和提出设计意见。可以在GitHub发起issue。我们团队接下来的打算是实现一些FL+NLP需要的常用接口和模块。

也欢迎大家贡献代码加入FedLab的设计和开发,包括用FedLab复现现有的FL工作、对FedLab架构和代码实现的改进、添加新的特性等。

本人是开发者之一,欢迎大家与我交流,并star我们的项目!

参考:

  • 开源联邦学习框架/系统评测
  • 联邦学习开源框架调研
  • 【FL开源框架】FedLab - 加速FL算法验证

你可能感兴趣的:(联邦学习,机器学习,Pytorch,pytorch,机器学习,人工智能)