前言

FATE是微众银行开发的联邦学习平台,是全球首个工业级的联邦学习开源框架,在github上拥有近4000stars,可谓是相当有名气的,该平台为联邦学习提供了完整的生态和社区支持,为联邦学习初学者提供了很好的环境,否则利用python从零开发,那将会是一件非常痛苦的事情。本篇博客内容涉及《联邦学习实战》第七章内容,本章主要是介绍当前流行的联邦学习平台,下面就让我们开始吧。


1. FATE

1.1 FATE平台架构概述

FATE是微众银行开发的联邦学习平台,是全球首个工业级的联邦学习开源框架,该平台为联邦学习提供了完整的生态和社区支持,为联邦学习初学者提供了很好的环境。
在这里插入图片描述
FATE的官方文档提供了FATE的架构图,可以看到FATE的架构自上而下分为了四层,最上面一层是FATE提供的服务,包括FATE云服务,FATE面板,FATE任务调度管理,生命周期管理等,往下一层是FATE的机器学习核心组件,包括横向联邦学习、纵向联邦学习等,再往下一层是应用在FATE中的安全协议(隐私保护算法),包括同态加密,FedAvg,RSA等,最后一层是底层框架,又可以分为平行的三层,包括计算框架(TensorFlow,Pytorch,Spark),消息队列协议,以及存储框架。
FATE的主要功能如下:

  • 提供了一种基于数据隐私保护的分布式安全计算框架;
  • 为机器学习、深度学习等常用算法提供高性能的安全计算支持;
  • 支持同态加密、秘密共享等多种多方安全计算协议,确保数据和模型的安全;
  • 提供友好的跨域交互信息管理方案和开发文档,极大方便开发人员使用。

1.2 FATE版本与文档

当前FATE最新的版本为1.7.2版本,并且有望在今年更新1.8.0以上的版本,还是十分值得期待的,在使用FATE的过程中,我遇到了一系列问题,也因此查找到了许多官方资料和论坛,在这里列出提供给有需要的朋友。

2. TensorFlow-federated

TFF是由Google开源的,基于TensorFlow实现的一款联邦学习平台架构,主要针对Android移动端的横向联邦学习场景。TFF构建在TensorFlow的基础上,不是独立的联邦学习生态体系。
在这里插入图片描述
用户可以使用TFF的接口完成以下工作。

  • 通过Federated Learning API与TensorFlow/Keras交互,完成分类、回归等任务。
  • 通过TFF提供的Federated Core API,在强类型函数编程环境中将TensorFlow与分布式通信运算符相结合,表达新的联邦算法。
  • TFF使用的数据隐私保护主要是差分隐私,安全机制在TensorFlow/Privacy中实现,开发者可以自行调用安全算法。

想要进一步学习,可以参考TFF的github官方文档

3. OpenMined PySyft

PySyft是一个基于安全和隐私保护的深度学习库,由OpenMined社区开发。PySyft结合了多种隐私计算策略:FL,安全多方计算(MPC)和差分隐私,并应用到PyTorch,Keras,TensorFlow等开发模型上进行模型隐私训练。
此外,由于PySyft基于PyTorch开发,设计上采用了很多PyTorch的思想,最显著体现在引入Syft的抽象张量Syft Tensor,是PySyft进行隐私计算的基本单元。

在这里插入图片描述想要进一步学习,可以参考PySyft的github官方文档

4. NVIDIA Clara联邦学习平台

Clara平台是由NVIDIA公司推出的针对医疗场景的联邦学习平台。该平台是横向联邦学习的实现,在NVIDIA自身的EGX边缘运算平台上运行。每家医院作为客户端,EGX服务器会基于本地数据来训练局部模型,然后将局部模型的参数返回联邦学习服务器。
在训练过程中,每家医院的数据都不会离开本地,保障了数据的安全,同时,这一过程会反复进行,每一家医院的数据都会不断标注更新,不断提升全局模型的精度。下面是CLara的实现流程图和架构图。
在这里插入图片描述在这里插入图片描述
想要进一步学习,可以参考NVIDIA Clara的官方文档

5. 百度PaddleFL

PaddleFL是一个基于百度飞桨的开源联邦学习框架,目前该框架实现了横向和纵向联邦学习算法,定义了多任务学习、迁移学习和主动学习在内的训练策略。同时,PaddleFL提供在NLP和CV、推荐算法等领域的应用示例,此外,Paddle还封装了一些公开的联邦学习数据集。
PaddleFL架构设计如下所示:
在这里插入图片描述编译态的工作完成后,通过FL job Generator生成的FL-Job进入运行态,开始联邦学习模型训练。
有关PaddleFL的详细使用教程,参考官方文档

6. 腾讯AngelFL

AngelFL是腾讯基于Angel实现的联邦学习库,Angel是腾讯的一个全栈机器学习开源平台,功能特性涵盖了机器学习的各个阶段。系统架构如下图所示。
在这里插入图片描述可以看到,AngelFL整个系统是一个去中心化联邦学习框架,无需信赖可信第三方,以Angel高维稀疏训练平台作为底层,抽象出算法协议层,供实现各种常见机器学习算法。AngelFL主要应用场景是纵向联邦的场景。

7. 同盾知识联邦平台

同盾科技推出的智邦iBond平台,融合了分布式机器学习、安全加密、元学习等技术,创建了知识联邦的概念。它使多方在完全满足用户隐私、数据安全和法律法规的要求下,进行数据分析建模,协同创造和共享知识。该平台支持原始数据的密文空间上联邦,模型训练中联邦,特征学习结果上联邦,还支持多任务、多方异构知识联邦。
知识联邦体系划分为四个层次,分别是信息层、模型层、认知层和知识层。

  • 信息层:将每个参与方数据进行加密或者通过某种形式转为有价值信息。
  • 模型层:常规的FL训练。
  • 认知层:收集每个参与方学习到的信息,在服务端用另一个模型将这些特征作为输入,训练全局任务。全局模型训练后,会将更新的嵌入信息返回每个客户端进行更新,并重新迭代。
  • 知识层:在认知层收集到的不同特征信息,存成知识库,形成知识网络。在知识网络上不断推理演绎,可以挖掘更有价值的只是,就能够预判信息的发生,最终形成合理的决策。

在这里插入图片描述

有关iBond平台的使用,可以访问其官方网站

阅读总结

本章内容就是对当前领域比较火热的FL平台的一些介绍,真要深入学习还得去各个平台的官方文档中求解,下一部分就是对FL案例实战详解,其中将会涉及到许多在实际场景下,FL如何在保证用户隐私的情况下应用,让我们拭目以待吧。

参考链接

https://zhuanlan.zhihu.com/p/114774133
https://docs.nvidia.com/clara/index.html
https://github.com/PaddlePaddle/PaddleFL
https://blog.csdn.net/Tencent_TEG/article/details/104852978/
https://zhuanlan.zhihu.com/p/383617540

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐