KubeFATE: 用云原生技术赋能联邦学习 (二)

本文作者系 VMware 云原生实验室工程师陈家豪,FATE / KubeFATE 开源联邦学习项目的贡献者。
概述
在前面的文章中,我们介绍过如何使用KubeFATE来部署一个单节点的FATE联邦学习集群。在真实的应用场景中,联邦学习往往需要多个参与方联合起来一起完成任务。基于此,本文将讲述如何通过 KubeFATE 和 Docker-Compose 来部署两个参与方的FATE集群,并在集群上运行一些简单的测试以验证其功能的完整性。
FATE集群的组网方式
联邦学习的训练任务需要多方参与,如图1所示,每一个 party node 都是一方,并且每个 party node 都有各自的一套FATE集群。而 party node 和 party node 之间的发现方式有两种。分别是点对点和星型。默认情况下,使用 KubeFATE 部署的多方集群会通过点对点的方式组网,但KubeFATE 也可以单独部署 Exchange 服务以支持星型组网。

FATE集群组网方式
部署两方训练的集群
使用 KubeFATE 和 Docker-Compose 部署两方训练的集群
KubeFATE的使用分成两部分,第一部分是生成FATE集群的启动文件(docker-compose.yaml),第二个部分是通过 docker-compose 的方式去启动FATE集群。从逻辑上可将进行这两部分工作的机器分别称为部署机和目标机器。

部署机目标机关系图
目标
两个可以互通的FATE实例,每个实例均包括FATE所有组件,实例分别部署在不同的两台机器上。
准备工作
两个主机(物理机或者虚拟机,Ubuntu或Centos7系统,允许以root用户登录);
所有主机安装Docker 版本 : 18+;
所有主机安装Docker-Compose 版本: 1.24+;
部署机可以联网,所以主机相互之间可以网络互通;
运行机已经下载FATE 的各组件镜像
Docker的安装以及FATE镜像的下载请参考前文,接下来我们将把两台主机划分为workspace1和workspace2。其中workspace1既作为部署机也作为目标机,而workspace2则作为目标机,每个机器运行一个FATE实例。这里两台主机的IP分别为192.168.7.1和192.168.7.2。用户需要根据实际情况做出修改。具体部署架构如图所示。

部署架构图
以下操作需在workspace1上并以root用户进行。
下载并解压Kubefate1.3的kubefate-docker-compose.tar.gz资源包
定义需要部署的实例数目
根据以上定义party 10000的集群将部署在workspace1上,而party 9999的集群将部署在workspace2上。
更多请参考:KubeFATE:用云原生赋能联邦学习
(全文完)
相关文章:
如果你对联邦学习感兴趣,可申请加入“KubeFATE开源社区群”交流,入群需要真实身份,并改昵称:姓名@单位。请先关注“亨利笔记”公众号,在公众号后台发送"FATE"信息即可。

版权声明: 本文为 InfoQ 作者【亨利笔记】的原创文章。
原文链接:【http://xie.infoq.cn/article/e438daf6b5c1c10310b76eae4】。文章转载请联系作者。
评论