Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

第4讲回顾:使用KubeFATE部署生产环境的联邦学习Kubernetes集群

「AI开发者成长计划」首期公开课由机器之心与微众银行联合开设,主题为《联邦学习FATE入门与应用实战》,特邀合作伙伴 VMware 也将参与分享。 公开课为期4周,共6期课程 ,设置主题分享、项目实践、在线答疑等环节,从零入门联邦学习。

整体学习计划与加入方式请查看:《联邦学习FATE入门与应用实战》公开课上线!

3 月 19 日,机器之心联合微众银行开设的公开课《联邦学习 FATE 入门与应用实战》 第四讲结课,VMware CTO 办公室资深研究员彭麟为大家介绍了使用 KubeFATE 部署生产环境的联邦学习 Kubernetes 集群。第四讲回顾视频: 

第三课精选问答

1、生产环境是多个机构一起部署的,需要对方机构提供什么样的权限?

在正式的生产环境周,多个机构应该独立部署自己的FATE集群,然后通过FATE-Cloud连接起来一起进行联邦学习。FATE-Cloud还在开发完善中。

KubeFATE在部署的时候尽量保证采用通用方案,所以只要保证网络通道,可以按照各组织的安全部门要求,加上安全保护。

2、gRPC访问失败的原因是?

gRPC访问失败的可能原因很多,很难一概而论。按照我们的经验,可以观察下报的时间点。如果是一开是执行就报错,很可能是proxy的route_table配置错误,可以检查下。如果是如本课那样,由kubeFATE部署的Kubernetes集群,就是你的cluster.yaml里有写错的地方;如果任务已经顺利跑起来,显示任务正在运行,突然跳出一堆gRPC错误,那很可能是egg的processor起的过多,资源不够。可以参考:https://github.com/FederatedAI/KubeFATE/wiki/KubeFATE#1-running-toy-example-failed里改小eggroll.computing.processor.session.max.count的配置;还有其他原因引起gRPC错误,譬如网络真的出现问题。

所以gRPC错误具体问题具体分析去解决。

3、Native部署与k8s部署优劣?

目前FATE的部署可以划分为四种方案,都各有优缺点和适应的场景。我主观的想法是:

如果您想很快体验一下FATE,或者跑的模型和数据在单台机器就够了,建议使用第二节课介绍得KubeFATE -> Docker-Compose的部署方案。这是门槛最低,最简单的部署方案,因为你不需要解决依赖环境带来的种种安装困难,唯一需要的只是装一个Docker;

第二种是standalone的方案,我觉得如果您只是想开发算法,需要如第三节课那样用Python去开发,而开发机器性能又不高,也想去测试底层的egg那些模块,那standalone是很方便的方案;

然后是今天介绍的KubeFATE -> Kubernetes的部署方案。这是你对FATE的使用需求因数据集和模型变大,需要扩容,并且里面有数据需要维护一个FATE集群,所以考虑集群管理高级功能自然的需求;

最后是Native的集群部署方案。除非是因为特殊原因,譬如组织内部无法部署Kubernetes,或者需要对FATE的部署进行自己的二次开发,否则我个人不是很推荐这个方案。即使使用这个方案,也推荐结合其他编排工具,譬如Ansible,Puppet类的来辅助,因为大规模部署我们需要讲究一致性。

4、企业一般用的部署方式是什么呢?

这是个选型问题。我个人比较推荐企业使用KubeFATE的Kubernetes方案来部署。一来,这样可以对集群以一个整体去运维;二来Kubernetes也是主流跑分布式任务的事实标准,社区也有很多可以使用的工具辅助管理。

5、k8s部署不需要java、python吗?

这就是container部署的优势,这些依赖包都已经打包在了镜像里面。

6、不太明白为什么会用k8s管理? 由一个机构批量部署其他机构的环境?

一个机构不会部署别的机构环境。但是:

1、FATE本身就是个复杂的分布式系统,有横向扩容等需求,所以Kubernetes可以很好解决这些问题;

2、一个机构内部可以有多个FATE的集群,譬如一个是开发用的,一个是生产用的;或者不同部门使用不同的FATE集群,也有可能有多个版本的FATE集群同时在跑。这些依托Kubernetes的namespace都可以很好的去解决。

7、每个机构独立部署自己的kubefate吗?还是不同机构的kubefate协同完成联邦?

对,每个机构部署自己的KubeFATE。不同机构可以用FATE-Cloud来协同,而FATE-Cloud会调用KubeFATE。

8、联邦需要做免密吗?

这其实是安全问题,是不能简单的做免密的。这个FATE-Cloud会解决,大家可以期待一下。

联邦学习FATE入门与应用实战
联邦学习FATE入门与应用实战

机器之心与微众银行联合开设《联邦学习FATE入门与应用实战》公开课,4周时间,6期分享,主题讲解+项目实操,从零入门联邦学习。

https://github.com/FederatedAI/FATE
专栏二维码
工程联邦学习Kubernetes
1
暂无评论
暂无评论~